b.smali
.class public abstract Lcom/alibaba/fastjson/parser/deserializer/b;
.super Lcom/alibaba/fastjson/parser/deserializer/e;
.source "SourceFile"
# direct methods
.method public constructor <init>()V
.registers 1
invoke-direct {p0}, Lcom/alibaba/fastjson/parser/deserializer/e;-><init>()V
return-void
.end method
# virtual methods
.method public final c(Lcom/alibaba/fastjson/parser/a;Ljava/lang/reflect/Type;Ljava/lang/Object;)Ljava/lang/Object;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lcom/alibaba/fastjson/parser/a;",
"Ljava/lang/reflect/Type;",
"Ljava/lang/Object;",
")TT;"
}
.end annotation
const/4 v0, 0x0
invoke-virtual {p0, p1, p2, p3, v0}, Lcom/alibaba/fastjson/parser/deserializer/b;->f(Lcom/alibaba/fastjson/parser/a;Ljava/lang/reflect/Type;Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public final f(Lcom/alibaba/fastjson/parser/a;Ljava/lang/reflect/Type;Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
.registers 13
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lcom/alibaba/fastjson/parser/a;",
"Ljava/lang/reflect/Type;",
"Ljava/lang/Object;",
"Ljava/lang/String;",
"I)TT;"
}
.end annotation
const-string/jumbo p3, "yyyy-MM-dd\'T\'HH:mm:ss"
const-string/jumbo v0, "yyyy-MM-dd\'T\'HH:mm:ss.SSS"
.line 1
iget-object v1, p1, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
.line 2
invoke-interface {v1}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v2
const/4 v3, 0x0
const/16 v4, 0x10
const/4 v5, 0x2
if-ne v2, v5, :cond_1f
.line 3
invoke-interface {v1}, Lcom/alibaba/fastjson/parser/c;->X()J
move-result-wide p3
invoke-static {p3, p4}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v3
.line 4
invoke-interface {v1, v4}, Lcom/alibaba/fastjson/parser/c;->C(I)V
goto/16 :goto_151
.line 5
:cond_1f
invoke-interface {v1}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v2
const/4 v6, 0x4
if-ne v2, v6, :cond_98
.line 6
invoke-interface {v1}, Lcom/alibaba/fastjson/parser/c;->K0()Ljava/lang/String;
move-result-object v2
if-eqz p4, :cond_73
.line 7
:try_start_2c
new-instance v5, Ljava/text/SimpleDateFormat;
invoke-direct {v5, p4}, Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;)V
:try_end_31
.catch Ljava/lang/IllegalArgumentException; {:try_start_2c .. :try_end_31} :catch_32
goto :goto_54
:catch_32
nop
const-string/jumbo v5, "yyyy-MM-ddTHH:mm:ss.SSS"
.line 8
invoke-virtual {p4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v5
if-eqz v5, :cond_43
.line 9
new-instance v5, Ljava/text/SimpleDateFormat;
invoke-direct {v5, v0}, Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;)V
move-object p4, v0
goto :goto_54
:cond_43
const-string/jumbo v5, "yyyy-MM-ddTHH:mm:ss"
.line 10
invoke-virtual {p4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v5
if-eqz v5, :cond_53
.line 11
new-instance v5, Ljava/text/SimpleDateFormat;
invoke-direct {v5, p3}, Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;)V
move-object p4, p3
goto :goto_54
:cond_53
move-object v5, v3
.line 12
:goto_54
:try_start_54
invoke-virtual {v5, v2}, Ljava/text/DateFormat;->parse(Ljava/lang/String;)Ljava/util/Date;
move-result-object p3
:try_end_58
.catch Ljava/text/ParseException; {:try_start_54 .. :try_end_58} :catch_59
goto :goto_70
.line 13
:catch_59
invoke-virtual {p4, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p4
if-eqz p4, :cond_73
.line 14
invoke-virtual {v2}, Ljava/lang/String;->length()I
move-result p4
const/16 v0, 0x13
if-ne p4, v0, :cond_73
.line 15
:try_start_67
new-instance p4, Ljava/text/SimpleDateFormat;
invoke-direct {p4, p3}, Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;)V
invoke-virtual {p4, v2}, Ljava/text/DateFormat;->parse(Ljava/lang/String;)Ljava/util/Date;
move-result-object p3
:try_end_70
.catch Ljava/text/ParseException; {:try_start_67 .. :try_end_70} :catch_72
:goto_70
move-object v3, p3
goto :goto_73
:catch_72
nop
:cond_73
:goto_73
if-nez v3, :cond_151
.line 16
invoke-interface {v1, v4}, Lcom/alibaba/fastjson/parser/c;->C(I)V
.line 17
sget-object p3, Lcom/alibaba/fastjson/parser/b;->AllowISO8601DateFormat:Lcom/alibaba/fastjson/parser/b;
invoke-interface {v1, p3}, Lcom/alibaba/fastjson/parser/c;->h(Lcom/alibaba/fastjson/parser/b;)Z
move-result p3
if-eqz p3, :cond_95
.line 18
new-instance p3, Lcom/alibaba/fastjson/parser/f;
invoke-direct {p3, v2}, Lcom/alibaba/fastjson/parser/f;-><init>(Ljava/lang/String;)V
const/4 p4, 0x1
.line 19
invoke-virtual {p3, p4}, Lcom/alibaba/fastjson/parser/f;->B1(Z)Z
move-result p4
if-eqz p4, :cond_92
.line 20
iget-object p4, p3, Lcom/alibaba/fastjson/parser/d;->j:Ljava/util/Calendar;
.line 21
invoke-virtual {p4}, Ljava/util/Calendar;->getTime()Ljava/util/Date;
move-result-object v2
.line 22
:cond_92
invoke-virtual {p3}, Lcom/alibaba/fastjson/parser/d;->close()V
:cond_95
move-object v3, v2
goto/16 :goto_151
.line 23
:cond_98
invoke-interface {v1}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result p3
const/16 p4, 0x8
if-ne p3, p4, :cond_a5
.line 24
invoke-interface {v1}, Lcom/alibaba/fastjson/parser/c;->o()V
goto/16 :goto_151
.line 25
:cond_a5
invoke-interface {v1}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result p3
const/16 p4, 0xc
const/16 v0, 0xd
const/16 v2, 0x11
const-string v7, "syntax error"
if-ne p3, p4, :cond_116
.line 26
invoke-interface {v1}, Lcom/alibaba/fastjson/parser/c;->o()V
.line 27
invoke-interface {v1}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result p3
if-ne p3, v6, :cond_110
.line 28
invoke-interface {v1}, Lcom/alibaba/fastjson/parser/c;->K0()Ljava/lang/String;
move-result-object p3
.line 29
sget-object p4, Lcom/alibaba/fastjson/a;->c:Ljava/lang/String;
invoke-virtual {p4, p3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p3
if-eqz p3, :cond_e1
.line 30
invoke-interface {v1}, Lcom/alibaba/fastjson/parser/c;->o()V
.line 31
invoke-virtual {p1, v2}, Lcom/alibaba/fastjson/parser/a;->a(I)V
.line 32
invoke-interface {v1}, Lcom/alibaba/fastjson/parser/c;->K0()Ljava/lang/String;
move-result-object p3
.line 33
iget-object p4, p1, Lcom/alibaba/fastjson/parser/a;->c:Lcom/alibaba/fastjson/parser/i;
.line 34
invoke-virtual {p4, p3, v3}, Lcom/alibaba/fastjson/parser/i;->a(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Class;
move-result-object p3
if-eqz p3, :cond_db
move-object p2, p3
.line 35
:cond_db
invoke-virtual {p1, v6}, Lcom/alibaba/fastjson/parser/a;->a(I)V
.line 36
invoke-virtual {p1, v4}, Lcom/alibaba/fastjson/parser/a;->a(I)V
.line 37
:cond_e1
invoke-interface {v1}, Lcom/alibaba/fastjson/parser/c;->x()V
.line 38
invoke-interface {v1}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result p3
if-ne p3, v5, :cond_f9
.line 39
invoke-interface {v1}, Lcom/alibaba/fastjson/parser/c;->X()J
move-result-wide p3
.line 40
invoke-interface {v1}, Lcom/alibaba/fastjson/parser/c;->o()V
.line 41
invoke-static {p3, p4}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v3
.line 42
invoke-virtual {p1, v0}, Lcom/alibaba/fastjson/parser/a;->a(I)V
goto :goto_151
.line 43
:cond_f9
new-instance p1, Lcom/alibaba/fastjson/d;
const-string p2, "syntax error : "
.line 44
invoke-static {p2}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p2
.line 45
invoke-interface {v1}, Lcom/alibaba/fastjson/parser/c;->n()Ljava/lang/String;
move-result-object p3
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Lcom/alibaba/fastjson/d;-><init>(Ljava/lang/String;)V
throw p1
.line 46
:cond_110
new-instance p1, Lcom/alibaba/fastjson/d;
invoke-direct {p1, v7}, Lcom/alibaba/fastjson/d;-><init>(Ljava/lang/String;)V
throw p1
.line 47
:cond_116
iget p3, p1, Lcom/alibaba/fastjson/parser/a;->k:I
if-ne p3, v5, :cond_14d
const/4 p3, 0x0
.line 48
iput p3, p1, Lcom/alibaba/fastjson/parser/a;->k:I
.line 49
invoke-virtual {p1, v4}, Lcom/alibaba/fastjson/parser/a;->a(I)V
.line 50
invoke-interface {v1}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result p3
if-ne p3, v6, :cond_147
.line 51
invoke-interface {v1}, Lcom/alibaba/fastjson/parser/c;->K0()Ljava/lang/String;
move-result-object p3
const-string/jumbo p4, "val"
invoke-virtual {p4, p3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p3
if-eqz p3, :cond_141
.line 52
invoke-interface {v1}, Lcom/alibaba/fastjson/parser/c;->o()V
.line 53
invoke-virtual {p1, v2}, Lcom/alibaba/fastjson/parser/a;->a(I)V
.line 54
invoke-virtual {p1, v3}, Lcom/alibaba/fastjson/parser/a;->D(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
.line 55
invoke-virtual {p1, v0}, Lcom/alibaba/fastjson/parser/a;->a(I)V
goto :goto_151
.line 56
:cond_141
new-instance p1, Lcom/alibaba/fastjson/d;
invoke-direct {p1, v7}, Lcom/alibaba/fastjson/d;-><init>(Ljava/lang/String;)V
throw p1
.line 57
:cond_147
new-instance p1, Lcom/alibaba/fastjson/d;
invoke-direct {p1, v7}, Lcom/alibaba/fastjson/d;-><init>(Ljava/lang/String;)V
throw p1
.line 58
:cond_14d
invoke-virtual {p1, v3}, Lcom/alibaba/fastjson/parser/a;->D(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
.line 59
:cond_151
:goto_151
invoke-virtual {p0, p1, p2, v3}, Lcom/alibaba/fastjson/parser/deserializer/b;->g(Lcom/alibaba/fastjson/parser/a;Ljava/lang/reflect/Type;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public abstract g(Lcom/alibaba/fastjson/parser/a;Ljava/lang/reflect/Type;Ljava/lang/Object;)Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lcom/alibaba/fastjson/parser/a;",
"Ljava/lang/reflect/Type;",
"Ljava/lang/Object;",
"Ljava/lang/Object;",
")TT;"
}
.end annotation
.end method