Hack$HackedMethod.smali
.class public Lorg/acdd/hack/Hack$HackedMethod;
.super Ljava/lang/Object;
.source "Hack.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lorg/acdd/hack/Hack;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "HackedMethod"
.end annotation
# instance fields
.field protected final mMethod:Ljava/lang/reflect/Method;
# direct methods
.method constructor <init>(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;I)V
.registers 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<*>;",
"Ljava/lang/String;",
"[",
"Ljava/lang/Class",
"<*>;I)V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException;
}
.end annotation
.prologue
const/4 v1, 0x0
.line 276
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 278
if-nez p1, :cond_9
.line 279
iput-object v1, p0, Lorg/acdd/hack/Hack$HackedMethod;->mMethod:Ljava/lang/reflect/Method;
.line 297
:goto_8
return-void
.line 283
:cond_9
:try_start_9
invoke-virtual {p1, p2, p3}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v1
.line 284
if-lez p4, :cond_35
invoke-virtual {v1}, Ljava/lang/reflect/Method;->getModifiers()I
move-result v0
and-int/2addr v0, p4
if-eq v0, p4, :cond_35
.line 285
new-instance v0, Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v2
const-string v3, " does not match modifiers: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, p4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v0, v2}, Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException;-><init>(Ljava/lang/String;)V
# invokes: Lorg/acdd/hack/Hack;->fail(Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException;)V
invoke-static {v0}, Lorg/acdd/hack/Hack;->access$000(Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException;)V
.line 288
:cond_35
const/4 v0, 0x1
invoke-virtual {v1, v0}, Ljava/lang/reflect/Method;->setAccessible(Z)V
:try_end_39
.catch Ljava/lang/Exception; {:try_start_9 .. :try_end_39} :catch_3c
.catchall {:try_start_9 .. :try_end_39} :catchall_4e
.line 295
iput-object v1, p0, Lorg/acdd/hack/Hack$HackedMethod;->mMethod:Ljava/lang/reflect/Method;
goto :goto_8
.line 289
:catch_3c
move-exception v0
.line 290
:try_start_3d
new-instance v2, Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException;
invoke-direct {v2, v0}, Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException;-><init>(Ljava/lang/Exception;)V
.line 291
invoke-virtual {v2, p1}, Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException;->setHackedClass(Ljava/lang/Class;)V
.line 292
invoke-virtual {v2, p2}, Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException;->setHackedMethodName(Ljava/lang/String;)V
.line 293
# invokes: Lorg/acdd/hack/Hack;->fail(Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException;)V
invoke-static {v2}, Lorg/acdd/hack/Hack;->access$000(Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException;)V
:try_end_4b
.catchall {:try_start_3d .. :try_end_4b} :catchall_4e
.line 295
iput-object v1, p0, Lorg/acdd/hack/Hack$HackedMethod;->mMethod:Ljava/lang/reflect/Method;
goto :goto_8
:catchall_4e
move-exception v0
iput-object v1, p0, Lorg/acdd/hack/Hack$HackedMethod;->mMethod:Ljava/lang/reflect/Method;
throw v0
.end method
# virtual methods
.method public getMethod()Ljava/lang/reflect/Method;
.registers 2
.prologue
.line 300
iget-object v0, p0, Lorg/acdd/hack/Hack$HackedMethod;->mMethod:Ljava/lang/reflect/Method;
return-object v0
.end method
.method public varargs invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/IllegalArgumentException;,
Ljava/lang/reflect/InvocationTargetException;
}
.end annotation
.prologue
.line 265
:try_start_0
iget-object v0, p0, Lorg/acdd/hack/Hack$HackedMethod;->mMethod:Ljava/lang/reflect/Method;
invoke-virtual {v0, p1, p2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
:try_end_5
.catch Ljava/lang/IllegalAccessException; {:try_start_0 .. :try_end_5} :catch_7
move-result-object v0
.line 269
:goto_6
return-object v0
.line 266
:catch_7
move-exception v0
.line 267
invoke-virtual {v0}, Ljava/lang/IllegalAccessException;->printStackTrace()V
.line 269
const/4 v0, 0x0
goto :goto_6
.end method