s.smali
.class final Lcom/google/gson/internal/a/s;
.super Lcom/google/gson/n;
.source "TypeAdapters.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Enum",
"<TT;>;>",
"Lcom/google/gson/n",
"<TT;>;"
}
.end annotation
# instance fields
.field private final bhI:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map",
"<",
"Ljava/lang/String;",
"TT;>;"
}
.end annotation
.end field
.field private final bhJ:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map",
"<TT;",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Ljava/lang/Class;)V
.registers 13
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class",
"<TT;>;)V"
}
.end annotation
.prologue
const/4 v3, 0x0
.line 776
invoke-direct {p0}, Lcom/google/gson/n;-><init>()V
.line 773
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Lcom/google/gson/internal/a/s;->bhI:Ljava/util/Map;
.line 774
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Lcom/google/gson/internal/a/s;->bhJ:Ljava/util/Map;
.line 778
:try_start_12
invoke-virtual {p1}, Ljava/lang/Class;->getEnumConstants()[Ljava/lang/Object;
move-result-object v0
check-cast v0, [Ljava/lang/Enum;
array-length v5, v0
move v4, v3
:goto_1a
if-ge v4, v5, :cond_5c
aget-object v6, v0, v4
.line 779
invoke-virtual {v6}, Ljava/lang/Enum;->name()Ljava/lang/String;
move-result-object v2
.line 780
invoke-virtual {p1, v2}, Ljava/lang/Class;->getField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v1
const-class v7, Lcom/google/gson/a/b;
invoke-virtual {v1, v7}, Ljava/lang/reflect/Field;->getAnnotation(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
move-result-object v1
check-cast v1, Lcom/google/gson/a/b;
.line 781
if-eqz v1, :cond_46
.line 782
invoke-interface {v1}, Lcom/google/gson/a/b;->value()Ljava/lang/String;
move-result-object v2
.line 783
invoke-interface {v1}, Lcom/google/gson/a/b;->Ac()[Ljava/lang/String;
move-result-object v7
array-length v8, v7
move v1, v3
:goto_3a
if-ge v1, v8, :cond_46
aget-object v9, v7, v1
.line 784
iget-object v10, p0, Lcom/google/gson/internal/a/s;->bhI:Ljava/util/Map;
invoke-interface {v10, v9, v6}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 783
add-int/lit8 v1, v1, 0x1
goto :goto_3a
:cond_46
move-object v1, v2
.line 787
iget-object v2, p0, Lcom/google/gson/internal/a/s;->bhI:Ljava/util/Map;
invoke-interface {v2, v1, v6}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 788
iget-object v2, p0, Lcom/google/gson/internal/a/s;->bhJ:Ljava/util/Map;
invoke-interface {v2, v6, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:try_end_51
.catch Ljava/lang/NoSuchFieldException; {:try_start_12 .. :try_end_51} :catch_55
.line 778
add-int/lit8 v1, v4, 0x1
move v4, v1
goto :goto_1a
.line 790
:catch_55
move-exception v0
.line 791
new-instance v1, Ljava/lang/AssertionError;
invoke-direct {v1, v0}, Ljava/lang/AssertionError;-><init>(Ljava/lang/Object;)V
throw v1
.line 792
:cond_5c
return-void
.end method
# virtual methods
.method public final synthetic a(Lcom/google/gson/stream/a;)Ljava/lang/Object;
.registers 4
.prologue
.line 772
.line 1795
invoke-virtual {p1}, Lcom/google/gson/stream/a;->Aj()Lcom/google/gson/stream/JsonToken;
move-result-object v0
sget-object v1, Lcom/google/gson/stream/JsonToken;->NULL:Lcom/google/gson/stream/JsonToken;
if-ne v0, v1, :cond_d
.line 1796
invoke-virtual {p1}, Lcom/google/gson/stream/a;->nextNull()V
.line 1797
const/4 v0, 0x0
:goto_c
return-object v0
.line 1799
:cond_d
iget-object v0, p0, Lcom/google/gson/internal/a/s;->bhI:Ljava/util/Map;
invoke-virtual {p1}, Lcom/google/gson/stream/a;->nextString()Ljava/lang/String;
move-result-object v1
invoke-interface {v0, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Enum;
goto :goto_c
.end method
.method public final synthetic a(Lcom/google/gson/stream/b;Ljava/lang/Object;)V
.registers 4
.prologue
.line 772
check-cast p2, Ljava/lang/Enum;
.line 1803
if-nez p2, :cond_9
const/4 v0, 0x0
:goto_5
invoke-virtual {p1, v0}, Lcom/google/gson/stream/b;->fr(Ljava/lang/String;)Lcom/google/gson/stream/b;
.line 772
return-void
.line 1803
:cond_9
iget-object v0, p0, Lcom/google/gson/internal/a/s;->bhJ:Ljava/util/Map;
invoke-interface {v0, p2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
goto :goto_5
.end method