b.smali
.class public final Lcom/google/gson/internal/b;
.super Ljava/lang/Object;
.source "ConstructorConstructor.java"
# instance fields
.field private final bfs:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map",
"<",
"Ljava/lang/reflect/Type;",
"Lcom/google/gson/f",
"<*>;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Ljava/util/Map;)V
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Map",
"<",
"Ljava/lang/reflect/Type;",
"Lcom/google/gson/f",
"<*>;>;)V"
}
.end annotation
.prologue
.line 51
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 52
iput-object p1, p0, Lcom/google/gson/internal/b;->bfs:Ljava/util/Map;
.line 53
return-void
.end method
.method private static q(Ljava/lang/Class;)Lcom/google/gson/internal/i;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/Class",
"<-TT;>;)",
"Lcom/google/gson/internal/i",
"<TT;>;"
}
.end annotation
.prologue
.line 99
const/4 v0, 0x0
:try_start_1
new-array v0, v0, [Ljava/lang/Class;
invoke-virtual {p0, v0}, Ljava/lang/Class;->getDeclaredConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
move-result-object v1
.line 100
invoke-virtual {v1}, Ljava/lang/reflect/Constructor;->isAccessible()Z
move-result v0
if-nez v0, :cond_11
.line 101
const/4 v0, 0x1
invoke-virtual {v1, v0}, Ljava/lang/reflect/Constructor;->setAccessible(Z)V
.line 103
:cond_11
new-instance v0, Lcom/google/gson/internal/b$8;
invoke-direct {v0, v1}, Lcom/google/gson/internal/b$8;-><init>(Ljava/lang/reflect/Constructor;)V
:try_end_16
.catch Ljava/lang/NoSuchMethodException; {:try_start_1 .. :try_end_16} :catch_17
.line 123
:goto_16
return-object v0
:catch_17
move-exception v0
const/4 v0, 0x0
goto :goto_16
.end method
# virtual methods
.method public final b(Lcom/google/gson/b/a;)Lcom/google/gson/internal/i;
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lcom/google/gson/b/a",
"<TT;>;)",
"Lcom/google/gson/internal/i",
"<TT;>;"
}
.end annotation
.prologue
.line 56
.line 1101
iget-object v1, p1, Lcom/google/gson/b/a;->type:Ljava/lang/reflect/Type;
.line 2094
iget-object v2, p1, Lcom/google/gson/b/a;->bhL:Ljava/lang/Class;
.line 62
iget-object v0, p0, Lcom/google/gson/internal/b;->bfs:Ljava/util/Map;
invoke-interface {v0, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/gson/f;
.line 63
if-eqz v0, :cond_15
.line 64
new-instance v1, Lcom/google/gson/internal/b$1;
invoke-direct {v1, v0}, Lcom/google/gson/internal/b$1;-><init>(Lcom/google/gson/f;)V
move-object v0, v1
.line 94
:cond_14
:goto_14
return-object v0
.line 73
:cond_15
iget-object v0, p0, Lcom/google/gson/internal/b;->bfs:Ljava/util/Map;
.line 74
invoke-interface {v0, v2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/gson/f;
.line 75
if-eqz v0, :cond_26
.line 76
new-instance v1, Lcom/google/gson/internal/b$7;
invoke-direct {v1, v0}, Lcom/google/gson/internal/b$7;-><init>(Lcom/google/gson/f;)V
move-object v0, v1
goto :goto_14
.line 83
:cond_26
invoke-static {v2}, Lcom/google/gson/internal/b;->q(Ljava/lang/Class;)Lcom/google/gson/internal/i;
move-result-object v0
.line 84
if-nez v0, :cond_14
.line 2134
const-class v0, Ljava/util/Collection;
invoke-virtual {v0, v2}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v0
if-eqz v0, :cond_79
.line 2135
const-class v0, Ljava/util/SortedSet;
invoke-virtual {v0, v2}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v0
if-eqz v0, :cond_49
.line 2136
new-instance v0, Lcom/google/gson/internal/b$9;
invoke-direct {v0}, Lcom/google/gson/internal/b$9;-><init>()V
.line 89
:goto_41
if-nez v0, :cond_14
.line 3218
new-instance v0, Lcom/google/gson/internal/b$6;
invoke-direct {v0, v2, v1}, Lcom/google/gson/internal/b$6;-><init>(Ljava/lang/Class;Ljava/lang/reflect/Type;)V
goto :goto_14
.line 2141
:cond_49
const-class v0, Ljava/util/EnumSet;
invoke-virtual {v0, v2}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v0
if-eqz v0, :cond_57
.line 2142
new-instance v0, Lcom/google/gson/internal/b$10;
invoke-direct {v0, v1}, Lcom/google/gson/internal/b$10;-><init>(Ljava/lang/reflect/Type;)V
goto :goto_41
.line 2157
:cond_57
const-class v0, Ljava/util/Set;
invoke-virtual {v0, v2}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v0
if-eqz v0, :cond_65
.line 2158
new-instance v0, Lcom/google/gson/internal/b$11;
invoke-direct {v0}, Lcom/google/gson/internal/b$11;-><init>()V
goto :goto_41
.line 2163
:cond_65
const-class v0, Ljava/util/Queue;
invoke-virtual {v0, v2}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v0
if-eqz v0, :cond_73
.line 2164
new-instance v0, Lcom/google/gson/internal/b$12;
invoke-direct {v0}, Lcom/google/gson/internal/b$12;-><init>()V
goto :goto_41
.line 2170
:cond_73
new-instance v0, Lcom/google/gson/internal/b$13;
invoke-direct {v0}, Lcom/google/gson/internal/b$13;-><init>()V
goto :goto_41
.line 2178
:cond_79
const-class v0, Ljava/util/Map;
invoke-virtual {v0, v2}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v0
if-eqz v0, :cond_d5
.line 2179
const-class v0, Ljava/util/concurrent/ConcurrentNavigableMap;
invoke-virtual {v0, v2}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v0
if-eqz v0, :cond_8f
.line 2180
new-instance v0, Lcom/google/gson/internal/b$14;
invoke-direct {v0}, Lcom/google/gson/internal/b$14;-><init>()V
goto :goto_41
.line 2185
:cond_8f
const-class v0, Ljava/util/concurrent/ConcurrentMap;
invoke-virtual {v0, v2}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v0
if-eqz v0, :cond_9d
.line 2186
new-instance v0, Lcom/google/gson/internal/b$2;
invoke-direct {v0}, Lcom/google/gson/internal/b$2;-><init>()V
goto :goto_41
.line 2191
:cond_9d
const-class v0, Ljava/util/SortedMap;
invoke-virtual {v0, v2}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v0
if-eqz v0, :cond_ab
.line 2192
new-instance v0, Lcom/google/gson/internal/b$3;
invoke-direct {v0}, Lcom/google/gson/internal/b$3;-><init>()V
goto :goto_41
.line 2197
:cond_ab
instance-of v0, v1, Ljava/lang/reflect/ParameterizedType;
if-eqz v0, :cond_ce
const-class v3, Ljava/lang/String;
move-object v0, v1
check-cast v0, Ljava/lang/reflect/ParameterizedType;
.line 2198
invoke-interface {v0}, Ljava/lang/reflect/ParameterizedType;->getActualTypeArguments()[Ljava/lang/reflect/Type;
move-result-object v0
const/4 v4, 0x0
aget-object v0, v0, v4
invoke-static {v0}, Lcom/google/gson/b/a;->d(Ljava/lang/reflect/Type;)Lcom/google/gson/b/a;
move-result-object v0
.line 3094
iget-object v0, v0, Lcom/google/gson/b/a;->bhL:Ljava/lang/Class;
.line 2197
invoke-virtual {v3, v0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v0
if-nez v0, :cond_ce
.line 2199
new-instance v0, Lcom/google/gson/internal/b$4;
invoke-direct {v0}, Lcom/google/gson/internal/b$4;-><init>()V
goto/16 :goto_41
.line 2205
:cond_ce
new-instance v0, Lcom/google/gson/internal/b$5;
invoke-direct {v0}, Lcom/google/gson/internal/b$5;-><init>()V
goto/16 :goto_41
.line 2213
:cond_d5
const/4 v0, 0x0
goto/16 :goto_41
.end method
.method public final toString()Ljava/lang/String;
.registers 2
.prologue
.line 234
iget-object v0, p0, Lcom/google/gson/internal/b;->bfs:Ljava/util/Map;
invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method