| # Copyright (c) 2016, the R8 project authors. Please see the AUTHORS file |
| # for details. All rights reserved. Use of this source code is governed by a |
| # BSD-style license that can be found in the LICENSE file. |
| |
| .class public final LTestObject; |
| .super Ljava/lang/Object; |
| |
| .field final list:Ljava/util/ArrayList; |
| .field private final s:Z |
| |
| .method public constructor <init>()V |
| .registers 1 |
| invoke-direct {p0}, Ljava/lang/Object;-><init>()V |
| return-void |
| .end method |
| |
| .method public final a(LTest;I)Z |
| .registers 9 |
| .prologue |
| const/4 v2, 0x1 |
| const/4 v1, 0x0 |
| invoke-virtual {p1}, LTest;->returnBoolean()Z |
| move-result v0 |
| if-eqz v0, :cond_a |
| move v0, v1 |
| :goto_9 |
| return v0 |
| :cond_a |
| and-int/lit8 v0, p2, 0x2 |
| if-nez v0, :cond_14 |
| iget-boolean v0, p0, LTestObject;->b:Z |
| if-eqz v0, :cond_14 |
| move v0, v2 |
| goto :goto_9 |
| :cond_14 |
| iget-object v0, p0, LTestObject;->list:Ljava/util/ArrayList; |
| invoke-virtual {v0}, Ljava/util/ArrayList;->size()I |
| move-result v4 |
| move v3, v1 |
| :goto_1b |
| if-ge v3, v4, :cond_3b |
| iget-object v0, p0, LTestObject;->list:Ljava/util/ArrayList; |
| invoke-virtual {v0, v3}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; |
| move-result-object v0 |
| check-cast v0, LTest; |
| and-int/lit8 v5, p2, 0x1 |
| if-eqz v5, :cond_2f |
| invoke-virtual {v0}, LTest;->returnBoolean()Z |
| move-result v5 |
| if-nez v5, :cond_37 |
| :cond_2f |
| invoke-virtual {v0, p1}, LTest;->returnTheOtherBoolean(LTest;)Z |
| move-result v0 |
| if-eqz v0, :cond_37 |
| move v0, v2 |
| goto :goto_9 |
| :cond_37 |
| add-int/lit8 v0, v3, 0x1 |
| move v3, v0 |
| goto :goto_1b |
| :cond_3b |
| move v0, v1 |
| goto :goto_9 |
| .end method |