ReflectUtil.smali
.class public Lorg/acdd/util/ReflectUtil;
.super Ljava/lang/Object;
.source "ReflectUtil.java"
# direct methods
.method public constructor <init>()V
.registers 1
.prologue
.line 28
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static final getField(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
.registers 5
.prologue
const/4 v0, 0x0
.line 84
if-nez p1, :cond_4
.line 98
:cond_3
:goto_3
return-object v0
.line 88
:cond_4
:try_start_4
invoke-static {p0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v1
.line 89
if-eqz v1, :cond_3
.line 90
invoke-virtual {v1, p2}, Ljava/lang/Class;->getField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v1
.line 91
if-eqz v1, :cond_3
.line 92
invoke-virtual {v1, p1}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
:try_end_13
.catch Ljava/lang/Exception; {:try_start_4 .. :try_end_13} :catch_15
move-result-object v0
goto :goto_3
.line 95
:catch_15
move-exception v1
goto :goto_3
.end method
.method public static final getStaticField(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
.registers 4
.prologue
.line 68
.line 69
:try_start_0
invoke-static {p0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
.line 70
if-eqz v0, :cond_14
.line 71
invoke-virtual {v0, p1}, Ljava/lang/Class;->getField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v0
.line 72
if-eqz v0, :cond_14
.line 73
const-string v1, ""
invoke-virtual {v0, v1}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
:try_end_11
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_11} :catch_13
move-result-object v0
.line 79
:goto_12
return-object v0
.line 76
:catch_13
move-exception v0
.line 79
:cond_14
const/4 v0, 0x0
goto :goto_12
.end method
.method public static varargs invokeMethod(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Class;[Ljava/lang/Object;)Ljava/lang/Object;
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/lang/String;",
"Ljava/lang/Object;",
"[",
"Ljava/lang/Class",
"<*>;[",
"Ljava/lang/Object;",
")",
"Ljava/lang/Object;"
}
.end annotation
.prologue
const/4 v0, 0x0
.line 48
if-nez p2, :cond_4
.line 63
:cond_3
:goto_3
return-object v0
.line 52
:cond_4
:try_start_4
invoke-static {p0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v1
.line 53
if-eqz v1, :cond_3
.line 54
invoke-virtual {v1, p1, p3}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v1
.line 55
if-eqz v1, :cond_3
.line 56
const/4 v2, 0x1
invoke-virtual {v1, v2}, Ljava/lang/reflect/Method;->setAccessible(Z)V
.line 57
invoke-virtual {v1, p2, p4}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
:try_end_17
.catch Ljava/lang/Exception; {:try_start_4 .. :try_end_17} :catch_19
move-result-object v0
goto :goto_3
.line 61
:catch_19
move-exception v1
goto :goto_3
.end method
.method public static varargs invokeStaticMethod(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Class;[Ljava/lang/Object;)Ljava/lang/Object;
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/lang/String;",
"[",
"Ljava/lang/Class",
"<*>;[",
"Ljava/lang/Object;",
")",
"Ljava/lang/Object;"
}
.end annotation
.prologue
const/4 v0, 0x0
.line 32
:try_start_1
invoke-static {p0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v1
.line 33
if-eqz v1, :cond_16
.line 34
invoke-virtual {v1, p1, p2}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v1
.line 35
if-eqz v1, :cond_16
.line 36
const/4 v2, 0x1
invoke-virtual {v1, v2}, Ljava/lang/reflect/Method;->setAccessible(Z)V
.line 37
const/4 v2, 0x0
invoke-virtual {v1, v2, p3}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
:try_end_15
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_15} :catch_17
move-result-object v0
.line 43
:cond_16
:goto_16
return-object v0
.line 41
:catch_17
move-exception v1
goto :goto_16
.end method