AssertionArrayException.smali
.class public Lorg/acdd/hack/AssertionArrayException;
.super Ljava/lang/Exception;
.source "AssertionArrayException.java"
# static fields
.field private static final serialVersionUID:J = 0x1L
# instance fields
.field private mAssertionErr:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List",
"<",
"Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Ljava/lang/String;)V
.registers 3
.prologue
.line 44
invoke-direct {p0, p1}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
.line 45
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lorg/acdd/hack/AssertionArrayException;->mAssertionErr:Ljava/util/List;
.line 46
return-void
.end method
# virtual methods
.method public addException(Ljava/util/List;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List",
"<",
"Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException;",
">;)V"
}
.end annotation
.prologue
.line 53
iget-object v0, p0, Lorg/acdd/hack/AssertionArrayException;->mAssertionErr:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z
.line 54
return-void
.end method
.method public addException(Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException;)V
.registers 3
.prologue
.line 49
iget-object v0, p0, Lorg/acdd/hack/AssertionArrayException;->mAssertionErr:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 50
return-void
.end method
.method public getExceptions()Ljava/util/List;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List",
"<",
"Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException;",
">;"
}
.end annotation
.prologue
.line 57
iget-object v0, p0, Lorg/acdd/hack/AssertionArrayException;->mAssertionErr:Ljava/util/List;
return-object v0
.end method
.method public toString()Ljava/lang/String;
.registers 9
.prologue
const/4 v2, 0x0
.line 81
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
.line 82
iget-object v0, p0, Lorg/acdd/hack/AssertionArrayException;->mAssertionErr:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v4
:goto_c
invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_ca
invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException;
.line 83
invoke-virtual {v0}, Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v5, ";"
invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 85
:try_start_25
invoke-virtual {v0}, Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException;->getCause()Ljava/lang/Throwable;
move-result-object v1
instance-of v1, v1, Ljava/lang/NoSuchFieldException;
if-eqz v1, :cond_6a
.line 87
invoke-virtual {v0}, Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException;->getHackedClass()Ljava/lang/Class;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Class;->getDeclaredFields()[Ljava/lang/reflect/Field;
move-result-object v1
.line 89
invoke-virtual {v0}, Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException;->getHackedClass()Ljava/lang/Class;
move-result-object v5
.line 90
invoke-virtual {v5}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v5
.line 89
invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
const-string v6, "."
.line 91
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
.line 92
invoke-virtual {v0}, Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException;->getHackedFieldName()Ljava/lang/String;
move-result-object v0
invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v5, ";"
.line 93
invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 94
array-length v5, v1
move v0, v2
:goto_56
if-ge v0, v5, :cond_c3
aget-object v6, v1, v0
.line 95
invoke-virtual {v6}, Ljava/lang/reflect/Field;->getName()Ljava/lang/String;
move-result-object v6
invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v6
const-string v7, "/"
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 94
add-int/lit8 v0, v0, 0x1
goto :goto_56
.line 97
:cond_6a
invoke-virtual {v0}, Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException;->getCause()Ljava/lang/Throwable;
move-result-object v1
instance-of v1, v1, Ljava/lang/NoSuchMethodException;
if-eqz v1, :cond_c3
.line 99
invoke-virtual {v0}, Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException;->getHackedClass()Ljava/lang/Class;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Class;->getDeclaredMethods()[Ljava/lang/reflect/Method;
move-result-object v5
.line 101
invoke-virtual {v0}, Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException;->getHackedClass()Ljava/lang/Class;
move-result-object v1
.line 102
invoke-virtual {v1}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v1
.line 101
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v6, "->"
.line 103
invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
.line 105
invoke-virtual {v0}, Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException;->getHackedMethodName()Ljava/lang/String;
move-result-object v6
.line 104
invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v6, ";"
.line 105
invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move v1, v2
.line 106
:goto_9a
array-length v6, v5
if-ge v1, v6, :cond_c3
.line 107
invoke-virtual {v0}, Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException;->getHackedMethodName()Ljava/lang/String;
move-result-object v6
aget-object v7, v5, v1
.line 108
invoke-virtual {v7}, Ljava/lang/reflect/Method;->getName()Ljava/lang/String;
move-result-object v7
invoke-virtual {v6, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v6
if-eqz v6, :cond_bc
.line 109
aget-object v6, v5, v1
.line 110
invoke-virtual {v6}, Ljava/lang/reflect/Method;->toGenericString()Ljava/lang/String;
move-result-object v6
.line 109
invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v6
const-string v7, "/"
.line 111
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:try_end_bc
.catch Ljava/lang/Exception; {:try_start_25 .. :try_end_bc} :catch_bf
.line 106
:cond_bc
add-int/lit8 v1, v1, 0x1
goto :goto_9a
.line 115
:catch_bf
move-exception v0
.line 116
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
.line 118
:cond_c3
const-string v0, "@@@@"
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto/16 :goto_c
.line 120
:cond_ca
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method