Reflection.smali
.class public Lcom/mopub/common/util/Reflection;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/mopub/common/util/Reflection$MethodBuilder;
}
.end annotation
# direct methods
.method public constructor <init>()V
.registers 1
.line 23
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static classFound(Ljava/lang/String;)Z
.registers 1
.line 140
invoke-static {p0}, Lcom/mopub/common/Preconditions;->checkNotNull(Ljava/lang/Object;)V
.line 143
:try_start_3
invoke-static {p0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
:try_end_6
.catch Ljava/lang/ClassNotFoundException; {:try_start_3 .. :try_end_6} :catch_8
const/4 p0, 0x1
return p0
:catch_8
const/4 p0, 0x0
return p0
.end method
.method public static varargs getDeclaredMethodWithTraversal(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/String;",
"[",
"Ljava/lang/Class<",
"*>;)",
"Ljava/lang/reflect/Method;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/NoSuchMethodException;
}
.end annotation
.line 123
invoke-static {p1}, Lcom/mopub/common/Preconditions;->checkNotNull(Ljava/lang/Object;)V
.line 124
invoke-static {p2}, Lcom/mopub/common/Preconditions;->checkNotNull(Ljava/lang/Object;)V
:goto_6
if-eqz p0, :cond_12
.line 130
:try_start_8
invoke-virtual {p0, p1, p2}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object p0
:try_end_c
.catch Ljava/lang/NoSuchMethodException; {:try_start_8 .. :try_end_c} :catch_d
return-object p0
.line 132
:catch_d
invoke-virtual {p0}, Ljava/lang/Class;->getSuperclass()Ljava/lang/Class;
move-result-object p0
goto :goto_6
.line 136
:cond_12
new-instance p0, Ljava/lang/NoSuchMethodException;
invoke-direct {p0}, Ljava/lang/NoSuchMethodException;-><init>()V
goto :goto_19
:goto_18
throw p0
:goto_19
goto :goto_18
.end method
.method public static getPrivateField(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Field;
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/NoSuchFieldException;
}
.end annotation
.line 187
invoke-virtual {p0, p1}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object p0
const/4 p1, 0x1
.line 188
invoke-virtual {p0, p1}, Ljava/lang/reflect/Field;->setAccessible(Z)V
return-object p0
.end method
.method public static instantiateClassWithConstructor(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;[Ljava/lang/Object;)Ljava/lang/Object;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/String;",
"Ljava/lang/Class<",
"+TT;>;[",
"Ljava/lang/Class;",
"[",
"Ljava/lang/Object;",
")TT;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/ClassNotFoundException;,
Ljava/lang/NoSuchMethodException;,
Ljava/lang/IllegalAccessException;,
Ljava/lang/reflect/InvocationTargetException;,
Ljava/lang/InstantiationException;
}
.end annotation
.line 172
invoke-static {p0}, Lcom/mopub/common/Preconditions;->checkNotNull(Ljava/lang/Object;)V
.line 173
invoke-static {p1}, Lcom/mopub/common/Preconditions;->checkNotNull(Ljava/lang/Object;)V
.line 174
invoke-static {p2}, Lcom/mopub/common/Preconditions;->checkNotNull(Ljava/lang/Object;)V
.line 175
invoke-static {p3}, Lcom/mopub/common/Preconditions;->checkNotNull(Ljava/lang/Object;)V
.line 177
invoke-static {p0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object p0
invoke-virtual {p0, p1}, Ljava/lang/Class;->asSubclass(Ljava/lang/Class;)Ljava/lang/Class;
move-result-object p0
.line 179
invoke-virtual {p0, p2}, Ljava/lang/Class;->getDeclaredConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
move-result-object p0
const/4 p1, 0x1
.line 180
invoke-virtual {p0, p1}, Ljava/lang/reflect/Constructor;->setAccessible(Z)V
.line 182
invoke-virtual {p0, p3}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method public static instantiateClassWithEmptyConstructor(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/String;",
"Ljava/lang/Class<",
"+TT;>;)TT;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/ClassNotFoundException;,
Ljava/lang/NoSuchMethodException;,
Ljava/lang/IllegalAccessException;,
Ljava/lang/reflect/InvocationTargetException;,
Ljava/lang/InstantiationException;,
Ljava/lang/NullPointerException;
}
.end annotation
.line 155
invoke-static {p0}, Lcom/mopub/common/Preconditions;->checkNotNull(Ljava/lang/Object;)V
.line 156
invoke-static {p1}, Lcom/mopub/common/Preconditions;->checkNotNull(Ljava/lang/Object;)V
.line 158
invoke-static {p0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object p0
invoke-virtual {p0, p1}, Ljava/lang/Class;->asSubclass(Ljava/lang/Class;)Ljava/lang/Class;
move-result-object p0
const/4 p1, 0x0
.line 160
invoke-virtual {p0, p1}, Ljava/lang/Class;->getDeclaredConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
move-result-object p0
const/4 p1, 0x1
.line 161
invoke-virtual {p0, p1}, Ljava/lang/reflect/Constructor;->setAccessible(Z)V
const/4 p1, 0x0
new-array p1, p1, [Ljava/lang/Object;
.line 163
invoke-virtual {p0, p1}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method