Home | History | Annotate | Download | only in phi-removal-regression
      1 # Copyright (c) 2016, the R8 project authors. Please see the AUTHORS file
      2 # for details. All rights reserved. Use of this source code is governed by a
      3 # BSD-style license that can be found in the LICENSE file.
      4 
      5 .class public final LTestObject;
      6 .super Ljava/lang/Object;
      7 
      8 .field final list:Ljava/util/ArrayList;
      9 .field private final s:Z
     10 
     11 .method public final a(LTest;I)Z
     12     .registers 9
     13     .prologue
     14     const/4 v2, 0x1
     15     const/4 v1, 0x0
     16     invoke-virtual {p1}, LTest;->returnBoolean()Z
     17     move-result v0
     18     if-eqz v0, :cond_a
     19     move v0, v1
     20     :goto_9
     21     return v0
     22     :cond_a
     23     and-int/lit8 v0, p2, 0x2
     24     if-nez v0, :cond_14
     25     iget-boolean v0, p0, LTestObject;->b:Z
     26     if-eqz v0, :cond_14
     27     move v0, v2
     28     goto :goto_9
     29     :cond_14
     30     iget-object v0, p0, LTestObject;->list:Ljava/util/ArrayList;
     31     invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
     32     move-result v4
     33     move v3, v1
     34     :goto_1b
     35     if-ge v3, v4, :cond_3b
     36     iget-object v0, p0, LTestObject;->list:Ljava/util/ArrayList;
     37     invoke-virtual {v0, v3}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
     38     move-result-object v0
     39     check-cast v0, LTest;
     40     and-int/lit8 v5, p2, 0x1
     41     if-eqz v5, :cond_2f
     42     invoke-virtual {v0}, LTest;->returnBoolean()Z
     43     move-result v5
     44     if-nez v5, :cond_37
     45     :cond_2f
     46     invoke-virtual {v0, p1}, LTest;->returnTheOtherBoolean(LTest;)Z
     47     move-result v0
     48     if-eqz v0, :cond_37
     49     move v0, v2
     50     goto :goto_9
     51     :cond_37
     52     add-int/lit8 v0, v3, 0x1
     53     move v3, v0
     54     goto :goto_1b
     55     :cond_3b
     56     move v0, v1
     57     goto :goto_9
     58 .end method
     59