g.smali
.class public final Lcom/google/gson/internal/bind/g;
.super Lcom/google/gson/b0;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lcom/google/gson/b0<",
"TT;>;"
}
.end annotation
# instance fields
.field public final a:Lcom/google/gson/i;
.field public final b:Lcom/google/gson/b0;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/gson/b0<",
"TT;>;"
}
.end annotation
.end field
.field public final c:Ljava/lang/reflect/Type;
# direct methods
.method public constructor <init>(Lcom/google/gson/i;Lcom/google/gson/b0;Ljava/lang/reflect/Type;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/gson/i;",
"Lcom/google/gson/b0<",
"TT;>;",
"Ljava/lang/reflect/Type;",
")V"
}
.end annotation
.line 1
invoke-direct {p0}, Lcom/google/gson/b0;-><init>()V
.line 2
iput-object p1, p0, Lcom/google/gson/internal/bind/g;->a:Lcom/google/gson/i;
.line 3
iput-object p2, p0, Lcom/google/gson/internal/bind/g;->b:Lcom/google/gson/b0;
.line 4
iput-object p3, p0, Lcom/google/gson/internal/bind/g;->c:Ljava/lang/reflect/Type;
return-void
.end method
# virtual methods
.method public final read(Lcom/google/gson/stream/a;)Ljava/lang/Object;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/gson/stream/a;",
")TT;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-object v0, p0, Lcom/google/gson/internal/bind/g;->b:Lcom/google/gson/b0;
invoke-virtual {v0, p1}, Lcom/google/gson/b0;->read(Lcom/google/gson/stream/a;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public final write(Lcom/google/gson/stream/c;Ljava/lang/Object;)V
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/gson/stream/c;",
"TT;)V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/gson/internal/bind/g;->b:Lcom/google/gson/b0;
.line 2
iget-object v1, p0, Lcom/google/gson/internal/bind/g;->c:Ljava/lang/reflect/Type;
if-eqz p2, :cond_16
.line 3
const-class v2, Ljava/lang/Object;
if-eq v1, v2, :cond_12
instance-of v2, v1, Ljava/lang/reflect/TypeVariable;
if-nez v2, :cond_12
instance-of v2, v1, Ljava/lang/Class;
if-eqz v2, :cond_16
.line 4
:cond_12
invoke-virtual {p2}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
.line 5
:cond_16
iget-object v2, p0, Lcom/google/gson/internal/bind/g;->c:Ljava/lang/reflect/Type;
if-eq v1, v2, :cond_30
.line 6
iget-object v0, p0, Lcom/google/gson/internal/bind/g;->a:Lcom/google/gson/i;
invoke-static {v1}, Lcom/google/gson/reflect/a;->get(Ljava/lang/reflect/Type;)Lcom/google/gson/reflect/a;
move-result-object v1
invoke-virtual {v0, v1}, Lcom/google/gson/i;->j(Lcom/google/gson/reflect/a;)Lcom/google/gson/b0;
move-result-object v0
.line 7
instance-of v1, v0, Lcom/google/gson/internal/bind/ReflectiveTypeAdapterFactory$a;
if-nez v1, :cond_29
goto :goto_30
.line 8
:cond_29
iget-object v1, p0, Lcom/google/gson/internal/bind/g;->b:Lcom/google/gson/b0;
instance-of v2, v1, Lcom/google/gson/internal/bind/ReflectiveTypeAdapterFactory$a;
if-nez v2, :cond_30
move-object v0, v1
.line 9
:cond_30
:goto_30
invoke-virtual {v0, p1, p2}, Lcom/google/gson/b0;->write(Lcom/google/gson/stream/c;Ljava/lang/Object;)V
return-void
.end method