a.smali
.class public final Lcom/alibaba/fastjson/parser/a;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/io/Closeable;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/alibaba/fastjson/parser/a$a;
}
.end annotation
# static fields
.field public static final o:Ljava/util/HashSet;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Set<",
"Ljava/lang/Class<",
"*>;>;"
}
.end annotation
.end field
# instance fields
.field public final a:Ljava/lang/Object;
.field public final b:Lcom/alibaba/fastjson/parser/j;
.field public c:Lcom/alibaba/fastjson/parser/i;
.field public d:Ljava/lang/String;
.field public e:Ljava/text/SimpleDateFormat;
.field public final f:Lcom/alibaba/fastjson/parser/c;
.field public g:Lcom/alibaba/fastjson/parser/h;
.field public h:[Lcom/alibaba/fastjson/parser/h;
.field public i:I
.field public j:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcom/alibaba/fastjson/parser/a$a;",
">;"
}
.end annotation
.end field
.field public k:I
.field public l:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcom/alibaba/fastjson/parser/deserializer/j;",
">;"
}
.end annotation
.end field
.field public m:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcom/alibaba/fastjson/parser/deserializer/i;",
">;"
}
.end annotation
.end field
.field public n:Lcom/alibaba/fastjson/parser/deserializer/l;
# direct methods
.method public static constructor <clinit>()V
.registers 5
.line 1
new-instance v0, Ljava/util/HashSet;
invoke-direct {v0}, Ljava/util/HashSet;-><init>()V
sput-object v0, Lcom/alibaba/fastjson/parser/a;->o:Ljava/util/HashSet;
const/16 v0, 0x11
new-array v1, v0, [Ljava/lang/Class;
.line 2
sget-object v2, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
const/4 v3, 0x0
aput-object v2, v1, v3
sget-object v2, Ljava/lang/Byte;->TYPE:Ljava/lang/Class;
const/4 v4, 0x1
aput-object v2, v1, v4
sget-object v2, Ljava/lang/Short;->TYPE:Ljava/lang/Class;
const/4 v4, 0x2
aput-object v2, v1, v4
sget-object v2, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
const/4 v4, 0x3
aput-object v2, v1, v4
sget-object v2, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
const/4 v4, 0x4
aput-object v2, v1, v4
sget-object v2, Ljava/lang/Float;->TYPE:Ljava/lang/Class;
const/4 v4, 0x5
aput-object v2, v1, v4
sget-object v2, Ljava/lang/Double;->TYPE:Ljava/lang/Class;
const/4 v4, 0x6
aput-object v2, v1, v4
const/4 v2, 0x7
const-class v4, Ljava/lang/Boolean;
aput-object v4, v1, v2
const/16 v2, 0x8
const-class v4, Ljava/lang/Byte;
aput-object v4, v1, v2
const/16 v2, 0x9
const-class v4, Ljava/lang/Short;
aput-object v4, v1, v2
const/16 v2, 0xa
const-class v4, Ljava/lang/Integer;
aput-object v4, v1, v2
const/16 v2, 0xb
const-class v4, Ljava/lang/Long;
aput-object v4, v1, v2
const/16 v2, 0xc
const-class v4, Ljava/lang/Float;
aput-object v4, v1, v2
const/16 v2, 0xd
const-class v4, Ljava/lang/Double;
aput-object v4, v1, v2
const/16 v2, 0xe
const-class v4, Ljava/math/BigInteger;
aput-object v4, v1, v2
const/16 v2, 0xf
const-class v4, Ljava/math/BigDecimal;
aput-object v4, v1, v2
const/16 v2, 0x10
const-class v4, Ljava/lang/String;
aput-object v4, v1, v2
:goto_69
if-ge v3, v0, :cond_75
.line 3
aget-object v2, v1, v3
.line 4
sget-object v4, Lcom/alibaba/fastjson/parser/a;->o:Ljava/util/HashSet;
invoke-virtual {v4, v2}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
add-int/lit8 v3, v3, 0x1
goto :goto_69
:cond_75
return-void
.end method
.method public constructor <init>(Ljava/lang/Object;Lcom/alibaba/fastjson/parser/c;Lcom/alibaba/fastjson/parser/i;)V
.registers 5
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
sget-object v0, Lcom/alibaba/fastjson/a;->e:Ljava/lang/String;
iput-object v0, p0, Lcom/alibaba/fastjson/parser/a;->d:Ljava/lang/String;
const/4 v0, 0x0
.line 3
iput v0, p0, Lcom/alibaba/fastjson/parser/a;->i:I
.line 4
iput v0, p0, Lcom/alibaba/fastjson/parser/a;->k:I
const/4 v0, 0x0
.line 5
iput-object v0, p0, Lcom/alibaba/fastjson/parser/a;->l:Ljava/util/ArrayList;
.line 6
iput-object v0, p0, Lcom/alibaba/fastjson/parser/a;->m:Ljava/util/ArrayList;
.line 7
iput-object v0, p0, Lcom/alibaba/fastjson/parser/a;->n:Lcom/alibaba/fastjson/parser/deserializer/l;
.line 8
iput-object p2, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
.line 9
iput-object p1, p0, Lcom/alibaba/fastjson/parser/a;->a:Ljava/lang/Object;
.line 10
iput-object p3, p0, Lcom/alibaba/fastjson/parser/a;->c:Lcom/alibaba/fastjson/parser/i;
.line 11
iget-object p1, p3, Lcom/alibaba/fastjson/parser/i;->c:Lcom/alibaba/fastjson/parser/j;
iput-object p1, p0, Lcom/alibaba/fastjson/parser/a;->b:Lcom/alibaba/fastjson/parser/j;
.line 12
move-object p1, p2
check-cast p1, Lcom/alibaba/fastjson/parser/d;
.line 13
iget-char p3, p1, Lcom/alibaba/fastjson/parser/d;->d:C
const/16 v0, 0x7b
if-ne p3, v0, :cond_33
.line 14
move-object p1, p2
check-cast p1, Lcom/alibaba/fastjson/parser/f;
invoke-virtual {p1}, Lcom/alibaba/fastjson/parser/f;->next()C
.line 15
check-cast p2, Lcom/alibaba/fastjson/parser/d;
const/16 p1, 0xc
iput p1, p2, Lcom/alibaba/fastjson/parser/d;->a:I
goto :goto_47
:cond_33
const/16 v0, 0x5b
if-ne p3, v0, :cond_44
.line 16
move-object p1, p2
check-cast p1, Lcom/alibaba/fastjson/parser/f;
invoke-virtual {p1}, Lcom/alibaba/fastjson/parser/f;->next()C
.line 17
check-cast p2, Lcom/alibaba/fastjson/parser/d;
const/16 p1, 0xe
iput p1, p2, Lcom/alibaba/fastjson/parser/d;->a:I
goto :goto_47
.line 18
:cond_44
invoke-virtual {p1}, Lcom/alibaba/fastjson/parser/d;->o()V
:goto_47
return-void
.end method
# virtual methods
.method public final C()Ljava/lang/Object;
.registers 2
const/4 v0, 0x0
invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/a;->D(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
return-object v0
.end method
.method public final D(Ljava/lang/Object;)Ljava/lang/Object;
.registers 6
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
.line 2
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v1
const/4 v2, 0x2
if-eq v1, v2, :cond_115
const/4 v3, 0x3
if-eq v1, v3, :cond_107
const/4 v3, 0x4
if-eq v1, v3, :cond_d6
const/16 v3, 0xc
if-eq v1, v3, :cond_c6
const/16 v3, 0xe
if-eq v1, v3, :cond_b0
const/4 v3, 0x0
packed-switch v1, :pswitch_data_11e
packed-switch v1, :pswitch_data_12a
.line 3
new-instance p1, Lcom/alibaba/fastjson/d;
const-string v1, "syntax error, "
.line 4
invoke-static {v1}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
.line 5
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->W()Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Lcom/alibaba/fastjson/d;-><init>(Ljava/lang/String;)V
throw p1
:pswitch_35
const/16 p1, 0x12
.line 6
invoke-interface {v0, p1}, Lcom/alibaba/fastjson/parser/c;->C(I)V
.line 7
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v1
if-ne v1, p1, :cond_5e
const/16 p1, 0xa
.line 8
invoke-interface {v0, p1}, Lcom/alibaba/fastjson/parser/c;->C(I)V
.line 9
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/a;->a(I)V
.line 10
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->L0()Ljava/lang/Number;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/Number;->longValue()J
move-result-wide v0
.line 11
invoke-virtual {p0, v2}, Lcom/alibaba/fastjson/parser/a;->a(I)V
const/16 p1, 0xb
.line 12
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/a;->a(I)V
.line 13
new-instance p1, Ljava/util/Date;
invoke-direct {p1, v0, v1}, Ljava/util/Date;-><init>(J)V
return-object p1
.line 14
:cond_5e
new-instance p1, Lcom/alibaba/fastjson/d;
const-string v0, "syntax error"
invoke-direct {p1, v0}, Lcom/alibaba/fastjson/d;-><init>(Ljava/lang/String;)V
throw p1
.line 15
:pswitch_66
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->o()V
return-object v3
.line 16
:pswitch_6a
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->o()V
.line 17
sget-object p1, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean;
return-object p1
.line 18
:pswitch_70
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->o()V
.line 19
sget-object p1, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
return-object p1
.line 20
:pswitch_76
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->o()V
return-object v3
.line 21
:pswitch_7a
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->o()V
.line 22
new-instance v0, Ljava/util/TreeSet;
invoke-direct {v0}, Ljava/util/TreeSet;-><init>()V
.line 23
invoke-virtual {p0, v0, p1}, Lcom/alibaba/fastjson/parser/a;->H(Ljava/util/Collection;Ljava/lang/Object;)V
return-object v0
.line 24
:pswitch_86
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->o()V
.line 25
new-instance v0, Ljava/util/HashSet;
invoke-direct {v0}, Ljava/util/HashSet;-><init>()V
.line 26
invoke-virtual {p0, v0, p1}, Lcom/alibaba/fastjson/parser/a;->H(Ljava/util/Collection;Ljava/lang/Object;)V
return-object v0
.line 27
:pswitch_92
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->C0()Z
move-result p1
if-eqz p1, :cond_99
return-object v3
.line 28
:cond_99
new-instance p1, Lcom/alibaba/fastjson/d;
const-string v1, "unterminated json string, "
.line 29
invoke-static {v1}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
.line 30
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->W()Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Lcom/alibaba/fastjson/d;-><init>(Ljava/lang/String;)V
throw p1
.line 31
:cond_b0
new-instance v1, Lcom/alibaba/fastjson/b;
invoke-direct {v1}, Lcom/alibaba/fastjson/b;-><init>()V
.line 32
invoke-virtual {p0, v1, p1}, Lcom/alibaba/fastjson/parser/a;->H(Ljava/util/Collection;Ljava/lang/Object;)V
.line 33
sget-object p1, Lcom/alibaba/fastjson/parser/b;->UseObjectArray:Lcom/alibaba/fastjson/parser/b;
invoke-interface {v0, p1}, Lcom/alibaba/fastjson/parser/c;->h(Lcom/alibaba/fastjson/parser/b;)Z
move-result p1
if-eqz p1, :cond_c5
.line 34
invoke-virtual {v1}, Lcom/alibaba/fastjson/b;->toArray()[Ljava/lang/Object;
move-result-object p1
return-object p1
:cond_c5
return-object v1
.line 35
:cond_c6
new-instance v1, Lcom/alibaba/fastjson/e;
sget-object v2, Lcom/alibaba/fastjson/parser/b;->OrderedField:Lcom/alibaba/fastjson/parser/b;
invoke-interface {v0, v2}, Lcom/alibaba/fastjson/parser/c;->h(Lcom/alibaba/fastjson/parser/b;)Z
move-result v0
invoke-direct {v1, v0}, Lcom/alibaba/fastjson/e;-><init>(Z)V
.line 36
invoke-virtual {p0, v1, p1}, Lcom/alibaba/fastjson/parser/a;->K(Ljava/util/Map;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.line 37
:cond_d6
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->K0()Ljava/lang/String;
move-result-object p1
const/16 v1, 0x10
.line 38
invoke-interface {v0, v1}, Lcom/alibaba/fastjson/parser/c;->C(I)V
.line 39
sget-object v1, Lcom/alibaba/fastjson/parser/b;->AllowISO8601DateFormat:Lcom/alibaba/fastjson/parser/b;
invoke-interface {v0, v1}, Lcom/alibaba/fastjson/parser/c;->h(Lcom/alibaba/fastjson/parser/b;)Z
move-result v0
if-eqz v0, :cond_106
.line 40
new-instance v0, Lcom/alibaba/fastjson/parser/f;
invoke-direct {v0, p1}, Lcom/alibaba/fastjson/parser/f;-><init>(Ljava/lang/String;)V
const/4 v1, 0x1
.line 41
:try_start_ed
invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/f;->B1(Z)Z
move-result v1
if-eqz v1, :cond_fd
.line 42
iget-object p1, v0, Lcom/alibaba/fastjson/parser/d;->j:Ljava/util/Calendar;
.line 43
invoke-virtual {p1}, Ljava/util/Calendar;->getTime()Ljava/util/Date;
move-result-object p1
:try_end_f9
.catchall {:try_start_ed .. :try_end_f9} :catchall_101
.line 44
invoke-virtual {v0}, Lcom/alibaba/fastjson/parser/d;->close()V
return-object p1
:cond_fd
invoke-virtual {v0}, Lcom/alibaba/fastjson/parser/d;->close()V
goto :goto_106
:catchall_101
move-exception p1
invoke-virtual {v0}, Lcom/alibaba/fastjson/parser/d;->close()V
throw p1
:cond_106
:goto_106
return-object p1
.line 45
:cond_107
sget-object p1, Lcom/alibaba/fastjson/parser/b;->UseBigDecimal:Lcom/alibaba/fastjson/parser/b;
invoke-interface {v0, p1}, Lcom/alibaba/fastjson/parser/c;->h(Lcom/alibaba/fastjson/parser/b;)Z
move-result p1
invoke-interface {v0, p1}, Lcom/alibaba/fastjson/parser/c;->T0(Z)Ljava/lang/Number;
move-result-object p1
.line 46
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->o()V
return-object p1
.line 47
:cond_115
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->L0()Ljava/lang/Number;
move-result-object p1
.line 48
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->o()V
return-object p1
nop
:pswitch_data_11e
.packed-switch 0x6
:pswitch_70
:pswitch_6a
:pswitch_66
:pswitch_35
.end packed-switch
:pswitch_data_12a
.packed-switch 0x14
:pswitch_92
:pswitch_86
:pswitch_7a
:pswitch_76
.end packed-switch
.end method
.method public final F(Ljava/lang/reflect/Type;Ljava/util/Collection;Ljava/lang/Object;)V
.registers 12
.line 1
const-class v0, Ljava/lang/String;
iget-object v1, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {v1}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v1
const/16 v2, 0x15
if-eq v1, v2, :cond_16
iget-object v1, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {v1}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v1
const/16 v2, 0x16
if-ne v1, v2, :cond_1b
.line 2
:cond_16
iget-object v1, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {v1}, Lcom/alibaba/fastjson/parser/c;->o()V
.line 3
:cond_1b
iget-object v1, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {v1}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v1
const/16 v2, 0xe
if-ne v1, v2, :cond_eb
.line 4
sget-object v1, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
const/4 v2, 0x4
if-ne v1, p1, :cond_33
.line 5
sget-object v1, Lcom/alibaba/fastjson/serializer/a0;->a:Lcom/alibaba/fastjson/serializer/a0;
.line 6
iget-object v3, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
const/4 v4, 0x2
invoke-interface {v3, v4}, Lcom/alibaba/fastjson/parser/c;->C(I)V
goto :goto_4c
:cond_33
if-ne v0, p1, :cond_3d
.line 7
sget-object v1, Lcom/alibaba/fastjson/serializer/a1;->a:Lcom/alibaba/fastjson/serializer/a1;
.line 8
iget-object v3, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {v3, v2}, Lcom/alibaba/fastjson/parser/c;->C(I)V
goto :goto_4c
.line 9
:cond_3d
iget-object v1, p0, Lcom/alibaba/fastjson/parser/a;->c:Lcom/alibaba/fastjson/parser/i;
invoke-virtual {v1, p1}, Lcom/alibaba/fastjson/parser/i;->c(Ljava/lang/reflect/Type;)Lcom/alibaba/fastjson/parser/deserializer/r;
move-result-object v1
.line 10
iget-object v3, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {v1}, Lcom/alibaba/fastjson/parser/deserializer/r;->b()I
move-result v4
invoke-interface {v3, v4}, Lcom/alibaba/fastjson/parser/c;->C(I)V
.line 11
:goto_4c
iget-object v3, p0, Lcom/alibaba/fastjson/parser/a;->g:Lcom/alibaba/fastjson/parser/h;
.line 12
invoke-virtual {p0, p2, p3}, Lcom/alibaba/fastjson/parser/a;->W(Ljava/lang/Object;Ljava/lang/Object;)Lcom/alibaba/fastjson/parser/h;
const/4 p3, 0x0
.line 13
:goto_52
:try_start_52
iget-object v4, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
sget-object v5, Lcom/alibaba/fastjson/parser/b;->AllowArbitraryCommas:Lcom/alibaba/fastjson/parser/b;
invoke-interface {v4, v5}, Lcom/alibaba/fastjson/parser/c;->h(Lcom/alibaba/fastjson/parser/b;)Z
move-result v4
const/16 v5, 0x10
if-eqz v4, :cond_6c
.line 14
:goto_5e
iget-object v4, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {v4}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v4
if-ne v4, v5, :cond_6c
.line 15
iget-object v4, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {v4}, Lcom/alibaba/fastjson/parser/c;->o()V
goto :goto_5e
.line 16
:cond_6c
iget-object v4, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {v4}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v4
:try_end_72
.catchall {:try_start_52 .. :try_end_72} :catchall_e6
const/16 v6, 0xf
if-ne v4, v6, :cond_7f
.line 17
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/a;->X(Lcom/alibaba/fastjson/parser/h;)V
.line 18
iget-object p1, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {p1, v5}, Lcom/alibaba/fastjson/parser/c;->C(I)V
return-void
.line 19
:cond_7f
:try_start_7f
sget-object v4, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
const/4 v6, 0x0
if-ne v4, p1, :cond_8e
.line 20
sget-object v4, Lcom/alibaba/fastjson/serializer/a0;->a:Lcom/alibaba/fastjson/serializer/a0;
invoke-virtual {v4, p0, v6, v6}, Lcom/alibaba/fastjson/serializer/a0;->c(Lcom/alibaba/fastjson/parser/a;Ljava/lang/reflect/Type;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
.line 21
invoke-interface {p2, v4}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
goto :goto_d1
:cond_8e
if-ne v0, p1, :cond_b3
.line 22
iget-object v4, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {v4}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v4
if-ne v4, v2, :cond_a4
.line 23
iget-object v4, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {v4}, Lcom/alibaba/fastjson/parser/c;->K0()Ljava/lang/String;
move-result-object v6
.line 24
iget-object v4, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {v4, v5}, Lcom/alibaba/fastjson/parser/c;->C(I)V
goto :goto_af
.line 25
:cond_a4
invoke-virtual {p0, v6}, Lcom/alibaba/fastjson/parser/a;->D(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
if-nez v4, :cond_ab
goto :goto_af
.line 26
:cond_ab
invoke-virtual {v4}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v6
.line 27
:goto_af
invoke-interface {p2, v6}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
goto :goto_d1
.line 28
:cond_b3
iget-object v4, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {v4}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v4
const/16 v7, 0x8
if-ne v4, v7, :cond_c3
.line 29
iget-object v4, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {v4}, Lcom/alibaba/fastjson/parser/c;->o()V
goto :goto_cb
.line 30
:cond_c3
invoke-static {p3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
invoke-interface {v1, p0, p1, v4}, Lcom/alibaba/fastjson/parser/deserializer/r;->c(Lcom/alibaba/fastjson/parser/a;Ljava/lang/reflect/Type;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v6
.line 31
:goto_cb
invoke-interface {p2, v6}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
.line 32
invoke-virtual {p0, p2}, Lcom/alibaba/fastjson/parser/a;->l(Ljava/util/Collection;)V
.line 33
:goto_d1
iget-object v4, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {v4}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v4
if-ne v4, v5, :cond_e2
.line 34
iget-object v4, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {v1}, Lcom/alibaba/fastjson/parser/deserializer/r;->b()I
move-result v5
invoke-interface {v4, v5}, Lcom/alibaba/fastjson/parser/c;->C(I)V
:try_end_e2
.catchall {:try_start_7f .. :try_end_e2} :catchall_e6
:cond_e2
add-int/lit8 p3, p3, 0x1
goto/16 :goto_52
:catchall_e6
move-exception p1
.line 35
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/a;->X(Lcom/alibaba/fastjson/parser/h;)V
throw p1
.line 36
:cond_eb
new-instance p1, Lcom/alibaba/fastjson/d;
const-string p2, "exepct \'[\', but "
.line 37
invoke-static {p2}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p2
.line 38
iget-object p3, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {p3}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result p3
invoke-static {p3}, Lcom/alibaba/fastjson/parser/g;->O(I)Ljava/lang/String;
move-result-object p3
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p3, ", "
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object p3, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {p3}, Lcom/alibaba/fastjson/parser/c;->W()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
.end method
.method public final H(Ljava/util/Collection;Ljava/lang/Object;)V
.registers 13
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
.line 2
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v1
const/16 v2, 0x15
if-eq v1, v2, :cond_12
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v1
const/16 v2, 0x16
if-ne v1, v2, :cond_15
.line 3
:cond_12
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->o()V
.line 4
:cond_15
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v1
const/16 v2, 0xe
if-ne v1, v2, :cond_118
const/4 v1, 0x4
.line 5
invoke-interface {v0, v1}, Lcom/alibaba/fastjson/parser/c;->C(I)V
.line 6
iget-object v3, p0, Lcom/alibaba/fastjson/parser/a;->g:Lcom/alibaba/fastjson/parser/h;
.line 7
invoke-virtual {p0, p1, p2}, Lcom/alibaba/fastjson/parser/a;->W(Ljava/lang/Object;Ljava/lang/Object;)Lcom/alibaba/fastjson/parser/h;
const/4 p2, 0x0
const/4 v4, 0x0
.line 8
:goto_28
:try_start_28
sget-object v5, Lcom/alibaba/fastjson/parser/b;->AllowArbitraryCommas:Lcom/alibaba/fastjson/parser/b;
invoke-interface {v0, v5}, Lcom/alibaba/fastjson/parser/c;->h(Lcom/alibaba/fastjson/parser/b;)Z
move-result v5
const/16 v6, 0x10
if-eqz v5, :cond_3c
.line 9
:goto_32
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v5
if-ne v5, v6, :cond_3c
.line 10
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->o()V
goto :goto_32
.line 11
:cond_3c
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v5
const/4 v7, 0x2
const/4 v8, 0x0
if-eq v5, v7, :cond_f9
const/4 v7, 0x3
const/4 v9, 0x1
if-eq v5, v7, :cond_e3
if-eq v5, v1, :cond_be
const/4 v7, 0x6
if-eq v5, v7, :cond_b8
const/4 v7, 0x7
if-eq v5, v7, :cond_b2
const/16 v7, 0x8
if-eq v5, v7, :cond_ae
const/16 v7, 0xc
if-eq v5, v7, :cond_9a
const/16 v7, 0x14
if-eq v5, v7, :cond_92
const/16 v7, 0x17
if-eq v5, v7, :cond_8d
if-eq v5, v2, :cond_73
const/16 v7, 0xf
if-eq v5, v7, :cond_6c
.line 12
invoke-virtual {p0, v8}, Lcom/alibaba/fastjson/parser/a;->D(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v8
goto/16 :goto_100
.line 13
:cond_6c
invoke-interface {v0, v6}, Lcom/alibaba/fastjson/parser/c;->C(I)V
:try_end_6f
.catchall {:try_start_28 .. :try_end_6f} :catchall_113
.line 14
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/a;->X(Lcom/alibaba/fastjson/parser/h;)V
return-void
.line 15
:cond_73
:try_start_73
new-instance v8, Lcom/alibaba/fastjson/b;
invoke-direct {v8}, Lcom/alibaba/fastjson/b;-><init>()V
.line 16
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v5
invoke-virtual {p0, v8, v5}, Lcom/alibaba/fastjson/parser/a;->H(Ljava/util/Collection;Ljava/lang/Object;)V
.line 17
sget-object v5, Lcom/alibaba/fastjson/parser/b;->UseObjectArray:Lcom/alibaba/fastjson/parser/b;
invoke-interface {v0, v5}, Lcom/alibaba/fastjson/parser/c;->h(Lcom/alibaba/fastjson/parser/b;)Z
move-result v5
if-eqz v5, :cond_100
.line 18
invoke-virtual {v8}, Lcom/alibaba/fastjson/b;->toArray()[Ljava/lang/Object;
move-result-object v8
goto/16 :goto_100
.line 19
:cond_8d
invoke-interface {v0, v1}, Lcom/alibaba/fastjson/parser/c;->C(I)V
goto/16 :goto_100
.line 20
:cond_92
new-instance p1, Lcom/alibaba/fastjson/d;
const-string p2, "unclosed jsonArray"
invoke-direct {p1, p2}, Lcom/alibaba/fastjson/d;-><init>(Ljava/lang/String;)V
throw p1
.line 21
:cond_9a
new-instance v5, Lcom/alibaba/fastjson/e;
sget-object v7, Lcom/alibaba/fastjson/parser/b;->OrderedField:Lcom/alibaba/fastjson/parser/b;
invoke-interface {v0, v7}, Lcom/alibaba/fastjson/parser/c;->h(Lcom/alibaba/fastjson/parser/b;)Z
move-result v7
invoke-direct {v5, v7}, Lcom/alibaba/fastjson/e;-><init>(Z)V
.line 22
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v7
invoke-virtual {p0, v5, v7}, Lcom/alibaba/fastjson/parser/a;->K(Ljava/util/Map;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v8
goto :goto_100
.line 23
:cond_ae
invoke-interface {v0, v1}, Lcom/alibaba/fastjson/parser/c;->C(I)V
goto :goto_100
.line 24
:cond_b2
sget-object v8, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean;
.line 25
invoke-interface {v0, v6}, Lcom/alibaba/fastjson/parser/c;->C(I)V
goto :goto_100
.line 26
:cond_b8
sget-object v8, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
.line 27
invoke-interface {v0, v6}, Lcom/alibaba/fastjson/parser/c;->C(I)V
goto :goto_100
.line 28
:cond_be
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->K0()Ljava/lang/String;
move-result-object v8
.line 29
invoke-interface {v0, v6}, Lcom/alibaba/fastjson/parser/c;->C(I)V
.line 30
sget-object v5, Lcom/alibaba/fastjson/parser/b;->AllowISO8601DateFormat:Lcom/alibaba/fastjson/parser/b;
invoke-interface {v0, v5}, Lcom/alibaba/fastjson/parser/c;->h(Lcom/alibaba/fastjson/parser/b;)Z
move-result v5
if-eqz v5, :cond_100
.line 31
new-instance v5, Lcom/alibaba/fastjson/parser/f;
invoke-direct {v5, v8}, Lcom/alibaba/fastjson/parser/f;-><init>(Ljava/lang/String;)V
.line 32
invoke-virtual {v5, v9}, Lcom/alibaba/fastjson/parser/f;->B1(Z)Z
move-result v7
if-eqz v7, :cond_df
.line 33
iget-object v7, v5, Lcom/alibaba/fastjson/parser/d;->j:Ljava/util/Calendar;
.line 34
invoke-virtual {v7}, Ljava/util/Calendar;->getTime()Ljava/util/Date;
move-result-object v7
move-object v8, v7
.line 35
:cond_df
invoke-virtual {v5}, Lcom/alibaba/fastjson/parser/d;->close()V
goto :goto_100
.line 36
:cond_e3
sget-object v5, Lcom/alibaba/fastjson/parser/b;->UseBigDecimal:Lcom/alibaba/fastjson/parser/b;
invoke-interface {v0, v5}, Lcom/alibaba/fastjson/parser/c;->h(Lcom/alibaba/fastjson/parser/b;)Z
move-result v5
if-eqz v5, :cond_f0
.line 37
invoke-interface {v0, v9}, Lcom/alibaba/fastjson/parser/c;->T0(Z)Ljava/lang/Number;
move-result-object v5
goto :goto_f4
.line 38
:cond_f0
invoke-interface {v0, p2}, Lcom/alibaba/fastjson/parser/c;->T0(Z)Ljava/lang/Number;
move-result-object v5
:goto_f4
move-object v8, v5
.line 39
invoke-interface {v0, v6}, Lcom/alibaba/fastjson/parser/c;->C(I)V
goto :goto_100
.line 40
:cond_f9
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->L0()Ljava/lang/Number;
move-result-object v8
.line 41
invoke-interface {v0, v6}, Lcom/alibaba/fastjson/parser/c;->C(I)V
.line 42
:cond_100
:goto_100
invoke-interface {p1, v8}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
.line 43
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/a;->l(Ljava/util/Collection;)V
.line 44
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v5
if-ne v5, v6, :cond_10f
.line 45
invoke-interface {v0, v1}, Lcom/alibaba/fastjson/parser/c;->C(I)V
:try_end_10f
.catchall {:try_start_73 .. :try_end_10f} :catchall_113
:cond_10f
add-int/lit8 v4, v4, 0x1
goto/16 :goto_28
:catchall_113
move-exception p1
.line 46
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/a;->X(Lcom/alibaba/fastjson/parser/h;)V
throw p1
.line 47
:cond_118
new-instance p1, Lcom/alibaba/fastjson/d;
const-string p2, "syntax error, expect [, actual "
.line 48
invoke-static {p2}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p2
.line 49
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v1
invoke-static {v1}, Lcom/alibaba/fastjson/parser/g;->O(I)Ljava/lang/String;
move-result-object v1
invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, ", pos "
invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 50
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->U()I
move-result v0
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(I)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
.end method
.method public final J(Ljava/lang/reflect/Type;Ljava/lang/Object;)Ljava/lang/Object;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/reflect/Type;",
"Ljava/lang/Object;",
")TT;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v0
const/16 v1, 0x8
if-ne v0, v1, :cond_11
.line 2
iget-object p1, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {p1}, Lcom/alibaba/fastjson/parser/c;->o()V
const/4 p1, 0x0
return-object p1
:cond_11
const/4 v1, 0x4
if-ne v0, v1, :cond_38
.line 3
const-class v0, [B
if-ne p1, v0, :cond_24
.line 4
iget-object p1, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {p1}, Lcom/alibaba/fastjson/parser/c;->F()[B
move-result-object p1
.line 5
iget-object p2, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {p2}, Lcom/alibaba/fastjson/parser/c;->o()V
return-object p1
.line 6
:cond_24
const-class v0, [C
if-ne p1, v0, :cond_38
.line 7
iget-object p1, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {p1}, Lcom/alibaba/fastjson/parser/c;->K0()Ljava/lang/String;
move-result-object p1
.line 8
iget-object p2, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {p2}, Lcom/alibaba/fastjson/parser/c;->o()V
.line 9
invoke-virtual {p1}, Ljava/lang/String;->toCharArray()[C
move-result-object p1
return-object p1
.line 10
:cond_38
iget-object v0, p0, Lcom/alibaba/fastjson/parser/a;->c:Lcom/alibaba/fastjson/parser/i;
invoke-virtual {v0, p1}, Lcom/alibaba/fastjson/parser/i;->c(Ljava/lang/reflect/Type;)Lcom/alibaba/fastjson/parser/deserializer/r;
move-result-object v0
.line 11
:try_start_3e
invoke-interface {v0, p0, p1, p2}, Lcom/alibaba/fastjson/parser/deserializer/r;->c(Lcom/alibaba/fastjson/parser/a;Ljava/lang/reflect/Type;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
:try_end_42
.catch Lcom/alibaba/fastjson/d; {:try_start_3e .. :try_end_42} :catch_4e
.catchall {:try_start_3e .. :try_end_42} :catchall_43
return-object p1
:catchall_43
move-exception p1
.line 12
new-instance p2, Lcom/alibaba/fastjson/d;
invoke-virtual {p1}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
move-result-object v0
invoke-direct {p2, v0, p1}, Lcom/alibaba/fastjson/d;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p2
:catch_4e
move-exception p1
.line 13
throw p1
.end method
.method public final K(Ljava/util/Map;Ljava/lang/Object;)Ljava/lang/Object;
.registers 16
.line 1
const-class v0, Ljava/lang/Integer;
const-string v1, "parse number key error"
iget-object v2, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
.line 2
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v3
const/4 v4, 0x0
const/16 v5, 0x8
if-ne v3, v5, :cond_13
.line 3
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->o()V
return-object v4
.line 4
:cond_13
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v3
const/16 v4, 0xd
if-ne v3, v4, :cond_1f
.line 5
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->o()V
return-object p1
.line 6
:cond_1f
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v3
const/16 v4, 0xc
const/16 v5, 0x10
if-eq v3, v4, :cond_53
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v3
if-ne v3, v5, :cond_30
goto :goto_53
.line 7
:cond_30
new-instance p1, Lcom/alibaba/fastjson/d;
const-string p2, "syntax error, expect {, actual "
.line 8
invoke-static {p2}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p2
.line 9
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->n()Ljava/lang/String;
move-result-object v0
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, ", "
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->W()Ljava/lang/String;
move-result-object v0
invoke-virtual {p2, v0}, 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 10
:cond_53
:goto_53
iget-object v3, p0, Lcom/alibaba/fastjson/parser/a;->g:Lcom/alibaba/fastjson/parser/h;
const/4 v4, 0x0
.line 11
:goto_56
:try_start_56
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->P()V
.line 12
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->s0()C
move-result v5
.line 13
sget-object v6, Lcom/alibaba/fastjson/parser/b;->AllowArbitraryCommas:Lcom/alibaba/fastjson/parser/b;
invoke-interface {v2, v6}, Lcom/alibaba/fastjson/parser/c;->h(Lcom/alibaba/fastjson/parser/b;)Z
move-result v6
const/16 v7, 0x2c
if-eqz v6, :cond_74
:goto_67
if-ne v5, v7, :cond_74
.line 14
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->next()C
.line 15
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->P()V
.line 16
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->s0()C
move-result v5
:try_end_73
.catchall {:try_start_56 .. :try_end_73} :catchall_53a
goto :goto_67
:cond_74
const/16 v6, 0x7d
const-string v7, ", name "
const-string v8, "expect \':\' at "
const/16 v9, 0x3a
const-string v10, "syntax error"
const/16 v11, 0x22
const/4 v12, 0x1
if-ne v5, v11, :cond_b3
.line 17
:try_start_83
iget-object v5, p0, Lcom/alibaba/fastjson/parser/a;->b:Lcom/alibaba/fastjson/parser/j;
invoke-interface {v2, v5, v11}, Lcom/alibaba/fastjson/parser/c;->l(Lcom/alibaba/fastjson/parser/j;C)Ljava/lang/String;
move-result-object v5
.line 18
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->P()V
.line 19
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->s0()C
move-result v11
if-ne v11, v9, :cond_94
goto/16 :goto_198
.line 20
:cond_94
new-instance p1, Lcom/alibaba/fastjson/d;
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p2, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->U()I
move-result v0
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p2, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)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
:cond_b3
if-ne v5, v6, :cond_d9
.line 21
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->next()C
.line 22
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->R0()V
.line 23
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->o()V
if-nez v4, :cond_d5
.line 24
iget-object v0, p0, Lcom/alibaba/fastjson/parser/a;->g:Lcom/alibaba/fastjson/parser/h;
if-eqz v0, :cond_ce
iget-object v1, v0, Lcom/alibaba/fastjson/parser/h;->c:Ljava/lang/Object;
if-ne p2, v1, :cond_ce
iget-object v1, v0, Lcom/alibaba/fastjson/parser/h;->a:Ljava/lang/Object;
if-ne p1, v1, :cond_ce
move-object v3, v0
goto :goto_d5
.line 25
:cond_ce
invoke-virtual {p0, p1, p2}, Lcom/alibaba/fastjson/parser/a;->W(Ljava/lang/Object;Ljava/lang/Object;)Lcom/alibaba/fastjson/parser/h;
move-result-object p2
:try_end_d2
.catchall {:try_start_83 .. :try_end_d2} :catchall_53a
if-nez v3, :cond_d5
move-object v3, p2
.line 26
:cond_d5
:goto_d5
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/a;->X(Lcom/alibaba/fastjson/parser/h;)V
return-object p1
:cond_d9
const/16 v11, 0x27
if-ne v5, v11, :cond_115
.line 27
:try_start_dd
sget-object v5, Lcom/alibaba/fastjson/parser/b;->AllowSingleQuotes:Lcom/alibaba/fastjson/parser/b;
invoke-interface {v2, v5}, Lcom/alibaba/fastjson/parser/c;->h(Lcom/alibaba/fastjson/parser/b;)Z
move-result v5
if-eqz v5, :cond_10f
.line 28
iget-object v5, p0, Lcom/alibaba/fastjson/parser/a;->b:Lcom/alibaba/fastjson/parser/j;
invoke-interface {v2, v5, v11}, Lcom/alibaba/fastjson/parser/c;->l(Lcom/alibaba/fastjson/parser/j;C)Ljava/lang/String;
move-result-object v5
.line 29
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->P()V
.line 30
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->s0()C
move-result v11
if-ne v11, v9, :cond_f6
goto/16 :goto_198
.line 31
:cond_f6
new-instance p1, Lcom/alibaba/fastjson/d;
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p2, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->U()I
move-result v0
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(I)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 32
:cond_10f
new-instance p1, Lcom/alibaba/fastjson/d;
invoke-direct {p1, v10}, Lcom/alibaba/fastjson/d;-><init>(Ljava/lang/String;)V
throw p1
:cond_115
const/16 v11, 0x1a
if-eq v5, v11, :cond_534
const/16 v11, 0x2c
if-eq v5, v11, :cond_52e
const/16 v11, 0x30
if-lt v5, v11, :cond_125
const/16 v11, 0x39
if-le v5, v11, :cond_129
:cond_125
const/16 v11, 0x2d
if-ne v5, v11, :cond_178
.line 33
:cond_129
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->R0()V
.line 34
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->i0()V
:try_end_12f
.catchall {:try_start_dd .. :try_end_12f} :catchall_53a
.line 35
:try_start_12f
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v5
const/4 v8, 0x2
if-ne v5, v8, :cond_13b
.line 36
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->L0()Ljava/lang/Number;
move-result-object v5
goto :goto_13f
.line 37
:cond_13b
invoke-interface {v2, v12}, Lcom/alibaba/fastjson/parser/c;->T0(Z)Ljava/lang/Number;
move-result-object v5
:try_end_13f
.catch Ljava/lang/NumberFormatException; {:try_start_12f .. :try_end_13f} :catch_15f
.catchall {:try_start_12f .. :try_end_13f} :catchall_53a
.line 38
:goto_13f
:try_start_13f
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->s0()C
move-result v8
if-ne v8, v9, :cond_146
goto :goto_198
.line 39
:cond_146
new-instance p1, Lcom/alibaba/fastjson/d;
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->W()Ljava/lang/String;
move-result-object v0
invoke-virtual {p2, v0}, 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 40
:catch_15f
new-instance p1, Lcom/alibaba/fastjson/d;
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->W()Ljava/lang/String;
move-result-object v0
invoke-virtual {p2, v0}, 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
:cond_178
const/16 v11, 0x7b
if-eq v5, v11, :cond_1c1
const/16 v11, 0x5b
if-ne v5, v11, :cond_181
goto :goto_1c1
.line 41
:cond_181
sget-object v5, Lcom/alibaba/fastjson/parser/b;->AllowUnQuotedFieldNames:Lcom/alibaba/fastjson/parser/b;
invoke-interface {v2, v5}, Lcom/alibaba/fastjson/parser/c;->h(Lcom/alibaba/fastjson/parser/b;)Z
move-result v5
if-eqz v5, :cond_1bb
.line 42
iget-object v5, p0, Lcom/alibaba/fastjson/parser/a;->b:Lcom/alibaba/fastjson/parser/j;
invoke-interface {v2, v5}, Lcom/alibaba/fastjson/parser/c;->n0(Lcom/alibaba/fastjson/parser/j;)Ljava/lang/String;
move-result-object v5
.line 43
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->P()V
.line 44
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->s0()C
move-result v11
if-ne v11, v9, :cond_19a
:goto_198
const/4 v8, 0x0
goto :goto_1ca
.line 45
:cond_19a
new-instance p1, Lcom/alibaba/fastjson/d;
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p2, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->U()I
move-result v0
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v0, ", actual "
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2, v11}, Ljava/lang/StringBuilder;->append(C)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_1bb
new-instance p1, Lcom/alibaba/fastjson/d;
invoke-direct {p1, v10}, Lcom/alibaba/fastjson/d;-><init>(Ljava/lang/String;)V
throw p1
.line 47
:cond_1c1
:goto_1c1
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->o()V
const/4 v5, 0x0
.line 48
invoke-virtual {p0, v5}, Lcom/alibaba/fastjson/parser/a;->D(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v5
const/4 v8, 0x1
:goto_1ca
if-nez v8, :cond_1d2
.line 49
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->next()C
.line 50
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->P()V
.line 51
:cond_1d2
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->s0()C
move-result v8
.line 52
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->R0()V
.line 53
sget-object v9, Lcom/alibaba/fastjson/a;->c:Ljava/lang/String;
if-ne v5, v9, :cond_278
sget-object v9, Lcom/alibaba/fastjson/parser/b;->DisableSpecialKeyDetect:Lcom/alibaba/fastjson/parser/b;
invoke-interface {v2, v9}, Lcom/alibaba/fastjson/parser/c;->h(Lcom/alibaba/fastjson/parser/b;)Z
move-result v9
if-nez v9, :cond_278
.line 54
iget-object v5, p0, Lcom/alibaba/fastjson/parser/a;->b:Lcom/alibaba/fastjson/parser/j;
const/16 v6, 0x22
invoke-interface {v2, v5, v6}, Lcom/alibaba/fastjson/parser/c;->l(Lcom/alibaba/fastjson/parser/j;C)Ljava/lang/String;
move-result-object v5
.line 55
iget-object v6, p0, Lcom/alibaba/fastjson/parser/a;->c:Lcom/alibaba/fastjson/parser/i;
const/4 v7, 0x0
invoke-virtual {v6, v5, v7}, Lcom/alibaba/fastjson/parser/i;->a(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Class;
move-result-object v6
if-nez v6, :cond_1fd
.line 56
sget-object v6, Lcom/alibaba/fastjson/a;->c:Ljava/lang/String;
invoke-interface {p1, v6, v5}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto/16 :goto_56
:cond_1fd
const/16 v0, 0x10
.line 57
invoke-interface {v2, v0}, Lcom/alibaba/fastjson/parser/c;->C(I)V
.line 58
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v1
const/16 v4, 0xd
if-ne v1, v4, :cond_249
.line 59
invoke-interface {v2, v0}, Lcom/alibaba/fastjson/parser/c;->C(I)V
:try_end_20d
.catchall {:try_start_13f .. :try_end_20d} :catchall_53a
.line 60
:try_start_20d
iget-object p1, p0, Lcom/alibaba/fastjson/parser/a;->c:Lcom/alibaba/fastjson/parser/i;
invoke-virtual {p1, v6}, Lcom/alibaba/fastjson/parser/i;->c(Ljava/lang/reflect/Type;)Lcom/alibaba/fastjson/parser/deserializer/r;
move-result-object p1
.line 61
instance-of p2, p1, Lcom/alibaba/fastjson/parser/deserializer/m;
if-eqz p2, :cond_21e
.line 62
check-cast p1, Lcom/alibaba/fastjson/parser/deserializer/m;
invoke-virtual {p1, p0, v6}, Lcom/alibaba/fastjson/parser/deserializer/m;->d(Lcom/alibaba/fastjson/parser/a;Ljava/lang/reflect/Type;)Ljava/lang/Object;
move-result-object p1
goto :goto_21f
:cond_21e
const/4 p1, 0x0
:goto_21f
if-nez p1, :cond_23c
.line 63
const-class p1, Ljava/lang/Cloneable;
if-ne v6, p1, :cond_22b
.line 64
new-instance p1, Ljava/util/HashMap;
invoke-direct {p1}, Ljava/util/HashMap;-><init>()V
goto :goto_23c
:cond_22b
const-string p1, "java.util.Collections$EmptyMap"
.line 65
invoke-virtual {p1, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_238
.line 66
invoke-static {}, Ljava/util/Collections;->emptyMap()Ljava/util/Map;
move-result-object p1
goto :goto_23c
.line 67
:cond_238
invoke-virtual {v6}, Ljava/lang/Class;->newInstance()Ljava/lang/Object;
move-result-object p1
:try_end_23c
.catch Ljava/lang/Exception; {:try_start_20d .. :try_end_23c} :catch_240
.catchall {:try_start_20d .. :try_end_23c} :catchall_53a
.line 68
:cond_23c
:goto_23c
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/a;->X(Lcom/alibaba/fastjson/parser/h;)V
return-object p1
:catch_240
move-exception p1
.line 69
:try_start_241
new-instance p2, Lcom/alibaba/fastjson/d;
const-string v0, "create instance error"
invoke-direct {p2, v0, p1}, Lcom/alibaba/fastjson/d;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p2
:cond_249
const/4 v0, 0x2
.line 70
iput v0, p0, Lcom/alibaba/fastjson/parser/a;->k:I
.line 71
iget-object v0, p0, Lcom/alibaba/fastjson/parser/a;->g:Lcom/alibaba/fastjson/parser/h;
if-eqz v0, :cond_257
instance-of v0, p2, Ljava/lang/Integer;
if-nez v0, :cond_257
.line 72
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/a;->R()V
.line 73
:cond_257
invoke-interface {p1}, Ljava/util/Map;->size()I
move-result v0
if-lez v0, :cond_26a
.line 74
iget-object p2, p0, Lcom/alibaba/fastjson/parser/a;->c:Lcom/alibaba/fastjson/parser/i;
invoke-static {p1, v6, p2}, Lcom/alibaba/fastjson/util/j;->b(Ljava/lang/Object;Ljava/lang/Class;Lcom/alibaba/fastjson/parser/i;)Ljava/lang/Object;
move-result-object p1
.line 75
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/a;->P(Ljava/lang/Object;)V
:try_end_266
.catchall {:try_start_241 .. :try_end_266} :catchall_53a
.line 76
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/a;->X(Lcom/alibaba/fastjson/parser/h;)V
return-object p1
.line 77
:cond_26a
:try_start_26a
iget-object p1, p0, Lcom/alibaba/fastjson/parser/a;->c:Lcom/alibaba/fastjson/parser/i;
invoke-virtual {p1, v6}, Lcom/alibaba/fastjson/parser/i;->c(Ljava/lang/reflect/Type;)Lcom/alibaba/fastjson/parser/deserializer/r;
move-result-object p1
.line 78
invoke-interface {p1, p0, v6, p2}, Lcom/alibaba/fastjson/parser/deserializer/r;->c(Lcom/alibaba/fastjson/parser/a;Ljava/lang/reflect/Type;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
:try_end_274
.catchall {:try_start_26a .. :try_end_274} :catchall_53a
.line 79
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/a;->X(Lcom/alibaba/fastjson/parser/h;)V
return-object p1
:cond_278
:try_start_278
const-string v9, "$ref"
if-ne v5, v9, :cond_32f
.line 80
sget-object v9, Lcom/alibaba/fastjson/parser/b;->DisableSpecialKeyDetect:Lcom/alibaba/fastjson/parser/b;
invoke-interface {v2, v9}, Lcom/alibaba/fastjson/parser/c;->h(Lcom/alibaba/fastjson/parser/b;)Z
move-result v9
if-nez v9, :cond_32f
const/4 p1, 0x4
.line 81
invoke-interface {v2, p1}, Lcom/alibaba/fastjson/parser/c;->C(I)V
.line 82
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result p2
if-ne p2, p1, :cond_310
.line 83
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->K0()Ljava/lang/String;
move-result-object p1
const/16 p2, 0xd
.line 84
invoke-interface {v2, p2}, Lcom/alibaba/fastjson/parser/c;->C(I)V
const-string p2, "@"
.line 85
invoke-virtual {p2, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p2
if-eqz p2, :cond_2b5
.line 86
iget-object p1, p0, Lcom/alibaba/fastjson/parser/a;->g:Lcom/alibaba/fastjson/parser/h;
if-eqz p1, :cond_2f8
.line 87
iget-object p2, p1, Lcom/alibaba/fastjson/parser/h;->a:Ljava/lang/Object;
.line 88
instance-of v0, p2, [Ljava/lang/Object;
if-nez v0, :cond_2c1
instance-of v0, p2, Ljava/util/Collection;
if-eqz v0, :cond_2ae
goto :goto_2c1
.line 89
:cond_2ae
iget-object p1, p1, Lcom/alibaba/fastjson/parser/h;->b:Lcom/alibaba/fastjson/parser/h;
if-eqz p1, :cond_2f8
.line 90
iget-object p1, p1, Lcom/alibaba/fastjson/parser/h;->a:Ljava/lang/Object;
goto :goto_2f9
:cond_2b5
const-string p2, ".."
.line 91
invoke-virtual {p2, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p2
if-eqz p2, :cond_2ce
.line 92
iget-object p2, v3, Lcom/alibaba/fastjson/parser/h;->a:Ljava/lang/Object;
if-eqz p2, :cond_2c3
:cond_2c1
:goto_2c1
move-object p1, p2
goto :goto_2f9
.line 93
:cond_2c3
new-instance p2, Lcom/alibaba/fastjson/parser/a$a;
invoke-direct {p2, v3, p1}, Lcom/alibaba/fastjson/parser/a$a;-><init>(Lcom/alibaba/fastjson/parser/h;Ljava/lang/String;)V
invoke-virtual {p0, p2}, Lcom/alibaba/fastjson/parser/a;->h(Lcom/alibaba/fastjson/parser/a$a;)V
.line 94
iput v12, p0, Lcom/alibaba/fastjson/parser/a;->k:I
goto :goto_2f8
:cond_2ce
const-string p2, "$"
.line 95
invoke-virtual {p2, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p2
if-eqz p2, :cond_2ee
move-object p2, v3
.line 96
:goto_2d7
iget-object v0, p2, Lcom/alibaba/fastjson/parser/h;->b:Lcom/alibaba/fastjson/parser/h;
if-eqz v0, :cond_2dd
move-object p2, v0
goto :goto_2d7
.line 97
:cond_2dd
iget-object v0, p2, Lcom/alibaba/fastjson/parser/h;->a:Ljava/lang/Object;
if-eqz v0, :cond_2e3
move-object p1, v0
goto :goto_2f9
.line 98
:cond_2e3
new-instance v0, Lcom/alibaba/fastjson/parser/a$a;
invoke-direct {v0, p2, p1}, Lcom/alibaba/fastjson/parser/a$a;-><init>(Lcom/alibaba/fastjson/parser/h;Ljava/lang/String;)V
invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/a;->h(Lcom/alibaba/fastjson/parser/a$a;)V
.line 99
iput v12, p0, Lcom/alibaba/fastjson/parser/a;->k:I
goto :goto_2f8
.line 100
:cond_2ee
new-instance p2, Lcom/alibaba/fastjson/parser/a$a;
invoke-direct {p2, v3, p1}, Lcom/alibaba/fastjson/parser/a$a;-><init>(Lcom/alibaba/fastjson/parser/h;Ljava/lang/String;)V
invoke-virtual {p0, p2}, Lcom/alibaba/fastjson/parser/a;->h(Lcom/alibaba/fastjson/parser/a$a;)V
.line 101
iput v12, p0, Lcom/alibaba/fastjson/parser/a;->k:I
:cond_2f8
:goto_2f8
const/4 p1, 0x0
.line 102
:goto_2f9
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result p2
const/16 v0, 0xd
if-ne p2, v0, :cond_30a
const/16 p2, 0x10
.line 103
invoke-interface {v2, p2}, Lcom/alibaba/fastjson/parser/c;->C(I)V
:try_end_306
.catchall {:try_start_278 .. :try_end_306} :catchall_53a
.line 104
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/a;->X(Lcom/alibaba/fastjson/parser/h;)V
return-object p1
.line 105
:cond_30a
:try_start_30a
new-instance p1, Lcom/alibaba/fastjson/d;
invoke-direct {p1, v10}, Lcom/alibaba/fastjson/d;-><init>(Ljava/lang/String;)V
throw p1
.line 106
:cond_310
new-instance p1, Lcom/alibaba/fastjson/d;
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
const-string v0, "illegal ref, "
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v0
invoke-static {v0}, Lcom/alibaba/fastjson/parser/g;->O(I)Ljava/lang/String;
move-result-object v0
invoke-virtual {p2, v0}, 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
:cond_32f
if-nez v4, :cond_347
.line 107
iget-object v9, p0, Lcom/alibaba/fastjson/parser/a;->g:Lcom/alibaba/fastjson/parser/h;
if-eqz v9, :cond_33f
iget-object v11, v9, Lcom/alibaba/fastjson/parser/h;->c:Ljava/lang/Object;
if-ne p2, v11, :cond_33f
iget-object v11, v9, Lcom/alibaba/fastjson/parser/h;->a:Ljava/lang/Object;
if-ne p1, v11, :cond_33f
move-object v3, v9
goto :goto_347
.line 108
:cond_33f
invoke-virtual {p0, p1, p2}, Lcom/alibaba/fastjson/parser/a;->W(Ljava/lang/Object;Ljava/lang/Object;)Lcom/alibaba/fastjson/parser/h;
move-result-object v4
if-nez v3, :cond_346
move-object v3, v4
:cond_346
const/4 v4, 0x1
.line 109
:cond_347
:goto_347
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v9
const-class v11, Lcom/alibaba/fastjson/e;
if-ne v9, v11, :cond_358
if-nez v5, :cond_354
const-string v5, "null"
goto :goto_358
.line 110
:cond_354
invoke-virtual {v5}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v5
:try_end_358
.catchall {:try_start_30a .. :try_end_358} :catchall_53a
:cond_358
:goto_358
const-string v9, "syntax error, position at "
const/16 v11, 0x22
if-ne v8, v11, :cond_385
.line 111
:try_start_35e
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->u()V
.line 112
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->K0()Ljava/lang/String;
move-result-object v8
.line 113
sget-object v10, Lcom/alibaba/fastjson/parser/b;->AllowISO8601DateFormat:Lcom/alibaba/fastjson/parser/b;
invoke-interface {v2, v10}, Lcom/alibaba/fastjson/parser/c;->h(Lcom/alibaba/fastjson/parser/b;)Z
move-result v10
if-eqz v10, :cond_381
.line 114
new-instance v10, Lcom/alibaba/fastjson/parser/f;
invoke-direct {v10, v8}, Lcom/alibaba/fastjson/parser/f;-><init>(Ljava/lang/String;)V
.line 115
invoke-virtual {v10, v12}, Lcom/alibaba/fastjson/parser/f;->B1(Z)Z
move-result v11
if-eqz v11, :cond_37e
.line 116
iget-object v8, v10, Lcom/alibaba/fastjson/parser/d;->j:Ljava/util/Calendar;
.line 117
invoke-virtual {v8}, Ljava/util/Calendar;->getTime()Ljava/util/Date;
move-result-object v8
.line 118
:cond_37e
invoke-virtual {v10}, Lcom/alibaba/fastjson/parser/d;->close()V
.line 119
:cond_381
invoke-interface {p1, v5, v8}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_3ad
:cond_385
const/16 v11, 0x30
if-lt v8, v11, :cond_38d
const/16 v11, 0x39
if-le v8, v11, :cond_391
:cond_38d
const/16 v11, 0x2d
if-ne v8, v11, :cond_3ee
.line 120
:cond_391
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->i0()V
.line 121
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v8
const/4 v10, 0x2
if-ne v8, v10, :cond_3a0
.line 122
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->L0()Ljava/lang/Number;
move-result-object v8
goto :goto_3aa
.line 123
:cond_3a0
sget-object v8, Lcom/alibaba/fastjson/parser/b;->UseBigDecimal:Lcom/alibaba/fastjson/parser/b;
invoke-interface {v2, v8}, Lcom/alibaba/fastjson/parser/c;->h(Lcom/alibaba/fastjson/parser/b;)Z
move-result v8
invoke-interface {v2, v8}, Lcom/alibaba/fastjson/parser/c;->T0(Z)Ljava/lang/Number;
move-result-object v8
.line 124
:goto_3aa
invoke-interface {p1, v5, v8}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 125
:goto_3ad
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->P()V
.line 126
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->s0()C
move-result v10
const/16 v11, 0x2c
if-ne v10, v11, :cond_3bd
.line 127
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->next()C
goto/16 :goto_56
:cond_3bd
if-ne v10, v6, :cond_3cf
.line 128
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->next()C
.line 129
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->R0()V
.line 130
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->o()V
.line 131
invoke-virtual {p0, v8, v5}, Lcom/alibaba/fastjson/parser/a;->W(Ljava/lang/Object;Ljava/lang/Object;)Lcom/alibaba/fastjson/parser/h;
:try_end_3cb
.catchall {:try_start_35e .. :try_end_3cb} :catchall_53a
.line 132
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/a;->X(Lcom/alibaba/fastjson/parser/h;)V
return-object p1
.line 133
:cond_3cf
:try_start_3cf
new-instance p1, Lcom/alibaba/fastjson/d;
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p2, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->U()I
move-result v0
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p2, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)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
:cond_3ee
const/16 v6, 0x5b
if-ne v8, v6, :cond_430
.line 134
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->o()V
.line 135
new-instance v6, Lcom/alibaba/fastjson/b;
invoke-direct {v6}, Lcom/alibaba/fastjson/b;-><init>()V
if-nez p2, :cond_3ff
.line 136
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/a;->X(Lcom/alibaba/fastjson/parser/h;)V
.line 137
:cond_3ff
invoke-virtual {p0, v6, v5}, Lcom/alibaba/fastjson/parser/a;->H(Ljava/util/Collection;Ljava/lang/Object;)V
.line 138
sget-object v7, Lcom/alibaba/fastjson/parser/b;->UseObjectArray:Lcom/alibaba/fastjson/parser/b;
invoke-interface {v2, v7}, Lcom/alibaba/fastjson/parser/c;->h(Lcom/alibaba/fastjson/parser/b;)Z
move-result v7
if-eqz v7, :cond_40e
.line 139
invoke-virtual {v6}, Lcom/alibaba/fastjson/b;->toArray()[Ljava/lang/Object;
move-result-object v6
.line 140
:cond_40e
invoke-interface {p1, v5, v6}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 141
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v5
const/16 v6, 0xd
if-ne v5, v6, :cond_420
.line 142
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->o()V
:try_end_41c
.catchall {:try_start_3cf .. :try_end_41c} :catchall_53a
.line 143
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/a;->X(Lcom/alibaba/fastjson/parser/h;)V
return-object p1
.line 144
:cond_420
:try_start_420
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v5
const/16 v6, 0x10
if-ne v5, v6, :cond_42a
goto/16 :goto_56
.line 145
:cond_42a
new-instance p1, Lcom/alibaba/fastjson/d;
invoke-direct {p1, v10}, Lcom/alibaba/fastjson/d;-><init>(Ljava/lang/String;)V
throw p1
:cond_430
const/16 v6, 0x7b
if-ne v8, v6, :cond_4df
.line 146
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->o()V
if-eqz p2, :cond_441
.line 147
invoke-virtual {p2}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v6
if-ne v6, v0, :cond_441
const/4 v6, 0x1
goto :goto_442
:cond_441
const/4 v6, 0x0
.line 148
:goto_442
new-instance v7, Lcom/alibaba/fastjson/e;
sget-object v8, Lcom/alibaba/fastjson/parser/b;->OrderedField:Lcom/alibaba/fastjson/parser/b;
invoke-interface {v2, v8}, Lcom/alibaba/fastjson/parser/c;->h(Lcom/alibaba/fastjson/parser/b;)Z
move-result v8
invoke-direct {v7, v8}, Lcom/alibaba/fastjson/e;-><init>(Z)V
if-nez v6, :cond_454
.line 149
invoke-virtual {p0, v3, v7, v5}, Lcom/alibaba/fastjson/parser/a;->U(Lcom/alibaba/fastjson/parser/h;Ljava/lang/Object;Ljava/lang/Object;)Lcom/alibaba/fastjson/parser/h;
move-result-object v8
goto :goto_455
:cond_454
const/4 v8, 0x0
.line 150
:goto_455
iget-object v9, p0, Lcom/alibaba/fastjson/parser/a;->n:Lcom/alibaba/fastjson/parser/deserializer/l;
if-eqz v9, :cond_471
if-eqz v5, :cond_45e
.line 151
invoke-virtual {v5}, Ljava/lang/Object;->toString()Ljava/lang/String;
.line 152
:cond_45e
iget-object v9, p0, Lcom/alibaba/fastjson/parser/a;->n:Lcom/alibaba/fastjson/parser/deserializer/l;
invoke-interface {v9}, Lcom/alibaba/fastjson/parser/deserializer/l;->a()Ljava/lang/reflect/Type;
move-result-object v9
if-eqz v9, :cond_471
.line 153
iget-object v10, p0, Lcom/alibaba/fastjson/parser/a;->c:Lcom/alibaba/fastjson/parser/i;
invoke-virtual {v10, v9}, Lcom/alibaba/fastjson/parser/i;->c(Ljava/lang/reflect/Type;)Lcom/alibaba/fastjson/parser/deserializer/r;
move-result-object v10
.line 154
invoke-interface {v10, p0, v9, v5}, Lcom/alibaba/fastjson/parser/deserializer/r;->c(Lcom/alibaba/fastjson/parser/a;Ljava/lang/reflect/Type;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v9
goto :goto_473
:cond_471
const/4 v9, 0x0
const/4 v12, 0x0
:goto_473
if-nez v12, :cond_479
.line 155
invoke-virtual {p0, v7, v5}, Lcom/alibaba/fastjson/parser/a;->K(Ljava/util/Map;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v9
:cond_479
if-eqz v8, :cond_47f
if-eq v7, v9, :cond_47f
.line 156
iput-object p1, v8, Lcom/alibaba/fastjson/parser/h;->a:Ljava/lang/Object;
.line 157
:cond_47f
invoke-virtual {v5}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v7
invoke-virtual {p0, p1, v7}, Lcom/alibaba/fastjson/parser/a;->n(Ljava/util/Map;Ljava/lang/Object;)V
.line 158
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v7
const-class v8, Lcom/alibaba/fastjson/e;
if-ne v7, v8, :cond_496
.line 159
invoke-virtual {v5}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v7
invoke-interface {p1, v7, v9}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_499
.line 160
:cond_496
invoke-interface {p1, v5, v9}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:goto_499
if-eqz v6, :cond_49e
.line 161
invoke-virtual {p0, v9, v5}, Lcom/alibaba/fastjson/parser/a;->W(Ljava/lang/Object;Ljava/lang/Object;)Lcom/alibaba/fastjson/parser/h;
.line 162
:cond_49e
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v5
const/16 v7, 0xd
if-ne v5, v7, :cond_4b0
.line 163
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->o()V
.line 164
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/a;->X(Lcom/alibaba/fastjson/parser/h;)V
:try_end_4ac
.catchall {:try_start_420 .. :try_end_4ac} :catchall_53a
.line 165
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/a;->X(Lcom/alibaba/fastjson/parser/h;)V
return-object p1
.line 166
:cond_4b0
:try_start_4b0
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v5
const/16 v7, 0x10
if-ne v5, v7, :cond_4c4
if-eqz v6, :cond_4bf
.line 167
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/a;->R()V
goto/16 :goto_56
.line 168
:cond_4bf
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/a;->X(Lcom/alibaba/fastjson/parser/h;)V
goto/16 :goto_56
.line 169
:cond_4c4
new-instance p1, Lcom/alibaba/fastjson/d;
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
const-string v0, "syntax error, "
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->n()Ljava/lang/String;
move-result-object v0
invoke-virtual {p2, v0}, 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 170
:cond_4df
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->o()V
const/4 v6, 0x0
.line 171
invoke-virtual {p0, v6}, Lcom/alibaba/fastjson/parser/a;->D(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v6
.line 172
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v8
const-class v10, Lcom/alibaba/fastjson/e;
if-ne v8, v10, :cond_4f3
.line 173
invoke-virtual {v5}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v5
.line 174
:cond_4f3
invoke-interface {p1, v5, v6}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 175
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v6
const/16 v8, 0xd
if-ne v6, v8, :cond_505
.line 176
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->o()V
:try_end_501
.catchall {:try_start_4b0 .. :try_end_501} :catchall_53a
.line 177
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/a;->X(Lcom/alibaba/fastjson/parser/h;)V
return-object p1
.line 178
:cond_505
:try_start_505
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v6
const/16 v8, 0x10
if-ne v6, v8, :cond_50f
goto/16 :goto_56
.line 179
:cond_50f
new-instance p1, Lcom/alibaba/fastjson/d;
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p2, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->U()I
move-result v0
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p2, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)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 180
:cond_52e
new-instance p1, Lcom/alibaba/fastjson/d;
invoke-direct {p1, v10}, Lcom/alibaba/fastjson/d;-><init>(Ljava/lang/String;)V
throw p1
.line 181
:cond_534
new-instance p1, Lcom/alibaba/fastjson/d;
invoke-direct {p1, v10}, Lcom/alibaba/fastjson/d;-><init>(Ljava/lang/String;)V
throw p1
:try_end_53a
.catchall {:try_start_505 .. :try_end_53a} :catchall_53a
:catchall_53a
move-exception p1
.line 182
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/a;->X(Lcom/alibaba/fastjson/parser/h;)V
throw p1
.end method
.method public final P(Ljava/lang/Object;)V
.registers 12
.line 1
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
.line 2
iget-object v1, p0, Lcom/alibaba/fastjson/parser/a;->c:Lcom/alibaba/fastjson/parser/i;
invoke-virtual {v1, v0}, Lcom/alibaba/fastjson/parser/i;->c(Ljava/lang/reflect/Type;)Lcom/alibaba/fastjson/parser/deserializer/r;
move-result-object v1
.line 3
instance-of v2, v1, Lcom/alibaba/fastjson/parser/deserializer/m;
const/4 v3, 0x0
if-eqz v2, :cond_12
.line 4
check-cast v1, Lcom/alibaba/fastjson/parser/deserializer/m;
goto :goto_13
:cond_12
move-object v1, v3
.line 5
:goto_13
iget-object v2, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v2
const/16 v4, 0xc
const/16 v5, 0x10
if-eq v2, v4, :cond_41
iget-object v2, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v2
if-ne v2, v5, :cond_28
goto :goto_41
.line 6
:cond_28
new-instance p1, Lcom/alibaba/fastjson/d;
const-string v0, "syntax error, expect {, actual "
.line 7
invoke-static {v0}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
.line 8
iget-object v1, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {v1}, Lcom/alibaba/fastjson/parser/c;->n()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Lcom/alibaba/fastjson/d;-><init>(Ljava/lang/String;)V
throw p1
.line 9
:cond_41
:goto_41
iget-object v2, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
iget-object v4, p0, Lcom/alibaba/fastjson/parser/a;->b:Lcom/alibaba/fastjson/parser/j;
invoke-interface {v2, v4}, Lcom/alibaba/fastjson/parser/c;->N0(Lcom/alibaba/fastjson/parser/j;)Ljava/lang/String;
move-result-object v2
const/16 v4, 0xd
if-nez v2, :cond_6e
.line 10
iget-object v6, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {v6}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v6
if-ne v6, v4, :cond_5b
.line 11
iget-object p1, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {p1, v5}, Lcom/alibaba/fastjson/parser/c;->C(I)V
return-void
.line 12
:cond_5b
iget-object v6, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {v6}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v6
if-ne v6, v5, :cond_6e
.line 13
iget-object v6, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
sget-object v7, Lcom/alibaba/fastjson/parser/b;->AllowArbitraryCommas:Lcom/alibaba/fastjson/parser/b;
invoke-interface {v6, v7}, Lcom/alibaba/fastjson/parser/c;->h(Lcom/alibaba/fastjson/parser/b;)Z
move-result v6
if-eqz v6, :cond_6e
goto :goto_41
:cond_6e
if-eqz v1, :cond_75
.line 14
invoke-virtual {v1, v2}, Lcom/alibaba/fastjson/parser/deserializer/m;->h(Ljava/lang/String;)Lcom/alibaba/fastjson/parser/deserializer/k;
move-result-object v6
goto :goto_76
:cond_75
move-object v6, v3
:goto_76
if-nez v6, :cond_b7
.line 15
iget-object v6, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
sget-object v7, Lcom/alibaba/fastjson/parser/b;->IgnoreNotMatch:Lcom/alibaba/fastjson/parser/b;
invoke-interface {v6, v7}, Lcom/alibaba/fastjson/parser/c;->h(Lcom/alibaba/fastjson/parser/b;)Z
move-result v6
if-eqz v6, :cond_98
.line 16
iget-object v2, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->w0()V
.line 17
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/a;->C()Ljava/lang/Object;
.line 18
iget-object v2, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v2
if-ne v2, v4, :cond_41
.line 19
iget-object p1, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {p1}, Lcom/alibaba/fastjson/parser/c;->o()V
return-void
.line 20
:cond_98
new-instance p1, Lcom/alibaba/fastjson/d;
const-string v1, "setter not found, class "
.line 21
invoke-static {v1}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
.line 22
invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, ", property "
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Lcom/alibaba/fastjson/d;-><init>(Ljava/lang/String;)V
throw p1
.line 23
:cond_b7
iget-object v2, v6, Lcom/alibaba/fastjson/parser/deserializer/k;->a:Lcom/alibaba/fastjson/util/c;
iget-object v7, v2, Lcom/alibaba/fastjson/util/c;->e:Ljava/lang/Class;
.line 24
iget-object v2, v2, Lcom/alibaba/fastjson/util/c;->f:Ljava/lang/reflect/Type;
.line 25
sget-object v8, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
const/4 v9, 0x2
if-ne v7, v8, :cond_ce
.line 26
iget-object v7, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {v7}, Lcom/alibaba/fastjson/parser/c;->x()V
.line 27
sget-object v7, Lcom/alibaba/fastjson/serializer/a0;->a:Lcom/alibaba/fastjson/serializer/a0;
invoke-virtual {v7, p0, v2, v3}, Lcom/alibaba/fastjson/serializer/a0;->c(Lcom/alibaba/fastjson/parser/a;Ljava/lang/reflect/Type;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
goto :goto_127
.line 28
:cond_ce
const-class v8, Ljava/lang/String;
if-ne v7, v8, :cond_dc
.line 29
iget-object v2, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->x()V
.line 30
invoke-static {p0}, Lcom/alibaba/fastjson/serializer/a1;->f(Lcom/alibaba/fastjson/parser/a;)Ljava/lang/Object;
move-result-object v2
goto :goto_127
.line 31
:cond_dc
sget-object v8, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
if-ne v7, v8, :cond_115
.line 32
iget-object v7, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {v7}, Lcom/alibaba/fastjson/parser/c;->x()V
.line 33
iget-object v7, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
.line 34
invoke-interface {v7}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v8
if-ne v8, v9, :cond_f9
.line 35
invoke-interface {v7}, Lcom/alibaba/fastjson/parser/c;->X()J
move-result-wide v8
.line 36
invoke-interface {v7, v5}, Lcom/alibaba/fastjson/parser/c;->C(I)V
.line 37
invoke-static {v8, v9}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v7
goto :goto_105
.line 38
:cond_f9
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/a;->D(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v7
if-nez v7, :cond_101
move-object v2, v3
goto :goto_127
.line 39
:cond_101
invoke-static {v7}, Lcom/alibaba/fastjson/util/j;->m(Ljava/lang/Object;)Ljava/lang/Long;
move-result-object v7
.line 40
:goto_105
const-class v8, Ljava/util/concurrent/atomic/AtomicLong;
if-ne v2, v8, :cond_113
new-instance v2, Ljava/util/concurrent/atomic/AtomicLong;
.line 41
invoke-virtual {v7}, Ljava/lang/Long;->longValue()J
move-result-wide v7
invoke-direct {v2, v7, v8}, Ljava/util/concurrent/atomic/AtomicLong;-><init>(J)V
goto :goto_127
:cond_113
move-object v2, v7
goto :goto_127
.line 42
:cond_115
iget-object v8, p0, Lcom/alibaba/fastjson/parser/a;->c:Lcom/alibaba/fastjson/parser/i;
invoke-virtual {v8, v7, v2}, Lcom/alibaba/fastjson/parser/i;->b(Ljava/lang/Class;Ljava/lang/reflect/Type;)Lcom/alibaba/fastjson/parser/deserializer/r;
move-result-object v7
.line 43
iget-object v8, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {v7}, Lcom/alibaba/fastjson/parser/deserializer/r;->b()I
invoke-interface {v8}, Lcom/alibaba/fastjson/parser/c;->x()V
.line 44
invoke-interface {v7, p0, v2, v3}, Lcom/alibaba/fastjson/parser/deserializer/r;->c(Lcom/alibaba/fastjson/parser/a;Ljava/lang/reflect/Type;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
.line 45
:goto_127
invoke-virtual {v6, p1, v2}, Lcom/alibaba/fastjson/parser/deserializer/k;->c(Ljava/lang/Object;Ljava/lang/Object;)V
.line 46
iget-object v2, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v2
if-ne v2, v5, :cond_134
goto/16 :goto_41
.line 47
:cond_134
iget-object v2, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v2
if-ne v2, v4, :cond_41
.line 48
iget-object p1, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {p1, v5}, Lcom/alibaba/fastjson/parser/c;->C(I)V
return-void
.end method
.method public final R()V
.registers 5
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
sget-object v1, Lcom/alibaba/fastjson/parser/b;->DisableCircularReferenceDetect:Lcom/alibaba/fastjson/parser/b;
invoke-interface {v0, v1}, Lcom/alibaba/fastjson/parser/c;->h(Lcom/alibaba/fastjson/parser/b;)Z
move-result v0
if-eqz v0, :cond_b
return-void
.line 2
:cond_b
iget-object v0, p0, Lcom/alibaba/fastjson/parser/a;->g:Lcom/alibaba/fastjson/parser/h;
iget-object v0, v0, Lcom/alibaba/fastjson/parser/h;->b:Lcom/alibaba/fastjson/parser/h;
iput-object v0, p0, Lcom/alibaba/fastjson/parser/a;->g:Lcom/alibaba/fastjson/parser/h;
.line 3
iget-object v0, p0, Lcom/alibaba/fastjson/parser/a;->h:[Lcom/alibaba/fastjson/parser/h;
iget v1, p0, Lcom/alibaba/fastjson/parser/a;->i:I
add-int/lit8 v2, v1, -0x1
const/4 v3, 0x0
aput-object v3, v0, v2
add-int/lit8 v1, v1, -0x1
.line 4
iput v1, p0, Lcom/alibaba/fastjson/parser/a;->i:I
return-void
.end method
.method public final U(Lcom/alibaba/fastjson/parser/h;Ljava/lang/Object;Ljava/lang/Object;)Lcom/alibaba/fastjson/parser/h;
.registers 7
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
sget-object v1, Lcom/alibaba/fastjson/parser/b;->DisableCircularReferenceDetect:Lcom/alibaba/fastjson/parser/b;
invoke-interface {v0, v1}, Lcom/alibaba/fastjson/parser/c;->h(Lcom/alibaba/fastjson/parser/b;)Z
move-result v0
if-eqz v0, :cond_c
const/4 p1, 0x0
return-object p1
.line 2
:cond_c
new-instance v0, Lcom/alibaba/fastjson/parser/h;
invoke-direct {v0, p1, p2, p3}, Lcom/alibaba/fastjson/parser/h;-><init>(Lcom/alibaba/fastjson/parser/h;Ljava/lang/Object;Ljava/lang/Object;)V
iput-object v0, p0, Lcom/alibaba/fastjson/parser/a;->g:Lcom/alibaba/fastjson/parser/h;
.line 3
iget p1, p0, Lcom/alibaba/fastjson/parser/a;->i:I
add-int/lit8 p2, p1, 0x1
iput p2, p0, Lcom/alibaba/fastjson/parser/a;->i:I
.line 4
iget-object p2, p0, Lcom/alibaba/fastjson/parser/a;->h:[Lcom/alibaba/fastjson/parser/h;
if-nez p2, :cond_24
const/16 p2, 0x8
new-array p2, p2, [Lcom/alibaba/fastjson/parser/h;
.line 5
iput-object p2, p0, Lcom/alibaba/fastjson/parser/a;->h:[Lcom/alibaba/fastjson/parser/h;
goto :goto_35
.line 6
:cond_24
array-length p3, p2
if-lt p1, p3, :cond_35
.line 7
array-length p3, p2
mul-int/lit8 p3, p3, 0x3
div-int/lit8 p3, p3, 0x2
.line 8
new-array p3, p3, [Lcom/alibaba/fastjson/parser/h;
.line 9
array-length v1, p2
const/4 v2, 0x0
invoke-static {p2, v2, p3, v2, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 10
iput-object p3, p0, Lcom/alibaba/fastjson/parser/a;->h:[Lcom/alibaba/fastjson/parser/h;
.line 11
:cond_35
:goto_35
iget-object p2, p0, Lcom/alibaba/fastjson/parser/a;->h:[Lcom/alibaba/fastjson/parser/h;
aput-object v0, p2, p1
.line 12
iget-object p1, p0, Lcom/alibaba/fastjson/parser/a;->g:Lcom/alibaba/fastjson/parser/h;
return-object p1
.end method
.method public final W(Ljava/lang/Object;Ljava/lang/Object;)Lcom/alibaba/fastjson/parser/h;
.registers 5
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
sget-object v1, Lcom/alibaba/fastjson/parser/b;->DisableCircularReferenceDetect:Lcom/alibaba/fastjson/parser/b;
invoke-interface {v0, v1}, Lcom/alibaba/fastjson/parser/c;->h(Lcom/alibaba/fastjson/parser/b;)Z
move-result v0
if-eqz v0, :cond_c
const/4 p1, 0x0
return-object p1
.line 2
:cond_c
iget-object v0, p0, Lcom/alibaba/fastjson/parser/a;->g:Lcom/alibaba/fastjson/parser/h;
invoke-virtual {p0, v0, p1, p2}, Lcom/alibaba/fastjson/parser/a;->U(Lcom/alibaba/fastjson/parser/h;Ljava/lang/Object;Ljava/lang/Object;)Lcom/alibaba/fastjson/parser/h;
move-result-object p1
return-object p1
.end method
.method public final X(Lcom/alibaba/fastjson/parser/h;)V
.registers 4
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
sget-object v1, Lcom/alibaba/fastjson/parser/b;->DisableCircularReferenceDetect:Lcom/alibaba/fastjson/parser/b;
invoke-interface {v0, v1}, Lcom/alibaba/fastjson/parser/c;->h(Lcom/alibaba/fastjson/parser/b;)Z
move-result v0
if-eqz v0, :cond_b
return-void
.line 2
:cond_b
iput-object p1, p0, Lcom/alibaba/fastjson/parser/a;->g:Lcom/alibaba/fastjson/parser/h;
return-void
.end method
.method public final a(I)V
.registers 5
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
.line 2
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v1
if-ne v1, p1, :cond_c
.line 3
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->o()V
return-void
.line 4
:cond_c
new-instance v1, Lcom/alibaba/fastjson/d;
const-string v2, "syntax error, expect "
.line 5
invoke-static {v2}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
.line 6
invoke-static {p1}, Lcom/alibaba/fastjson/parser/g;->O(I)Ljava/lang/String;
move-result-object p1
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, ", actual "
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 7
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result p1
invoke-static {p1}, Lcom/alibaba/fastjson/parser/g;->O(I)Ljava/lang/String;
move-result-object p1
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v1, p1}, Lcom/alibaba/fastjson/d;-><init>(Ljava/lang/String;)V
throw v1
.end method
.method public final close()V
.registers 5
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
.line 2
:try_start_2
sget-object v1, Lcom/alibaba/fastjson/parser/b;->AutoCloseSource:Lcom/alibaba/fastjson/parser/b;
invoke-interface {v0, v1}, Lcom/alibaba/fastjson/parser/c;->h(Lcom/alibaba/fastjson/parser/b;)Z
move-result v1
if-eqz v1, :cond_32
.line 3
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v1
const/16 v2, 0x14
if-ne v1, v2, :cond_13
goto :goto_32
.line 4
:cond_13
new-instance v1, Lcom/alibaba/fastjson/d;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "not close json text, token : "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v3
invoke-static {v3}, Lcom/alibaba/fastjson/parser/g;->O(I)Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Lcom/alibaba/fastjson/d;-><init>(Ljava/lang/String;)V
throw v1
:try_end_32
.catchall {:try_start_2 .. :try_end_32} :catchall_36
.line 5
:cond_32
:goto_32
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->close()V
return-void
:catchall_36
move-exception v1
invoke-interface {v0}, Lcom/alibaba/fastjson/parser/c;->close()V
throw v1
.end method
.method public final h(Lcom/alibaba/fastjson/parser/a$a;)V
.registers 4
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/parser/a;->j:Ljava/util/ArrayList;
if-nez v0, :cond_c
.line 2
new-instance v0, Ljava/util/ArrayList;
const/4 v1, 0x2
invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(I)V
iput-object v0, p0, Lcom/alibaba/fastjson/parser/a;->j:Ljava/util/ArrayList;
.line 3
:cond_c
iget-object v0, p0, Lcom/alibaba/fastjson/parser/a;->j:Ljava/util/ArrayList;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
return-void
.end method
.method public final l(Ljava/util/Collection;)V
.registers 6
.line 1
iget v0, p0, Lcom/alibaba/fastjson/parser/a;->k:I
const/4 v1, 0x1
if-ne v0, v1, :cond_34
.line 2
instance-of v0, p1, Ljava/util/List;
const/4 v2, 0x0
if-eqz v0, :cond_23
.line 3
invoke-interface {p1}, Ljava/util/Collection;->size()I
move-result v0
sub-int/2addr v0, v1
.line 4
check-cast p1, Ljava/util/List;
.line 5
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/a;->u()Lcom/alibaba/fastjson/parser/a$a;
move-result-object v1
.line 6
new-instance v3, Lcom/alibaba/fastjson/parser/deserializer/t;
invoke-direct {v3, p0, p1, v0}, Lcom/alibaba/fastjson/parser/deserializer/t;-><init>(Lcom/alibaba/fastjson/parser/a;Ljava/util/List;I)V
iput-object v3, v1, Lcom/alibaba/fastjson/parser/a$a;->c:Lcom/alibaba/fastjson/parser/deserializer/k;
.line 7
iget-object p1, p0, Lcom/alibaba/fastjson/parser/a;->g:Lcom/alibaba/fastjson/parser/h;
iput-object p1, v1, Lcom/alibaba/fastjson/parser/a$a;->d:Lcom/alibaba/fastjson/parser/h;
.line 8
iput v2, p0, Lcom/alibaba/fastjson/parser/a;->k:I
goto :goto_34
.line 9
:cond_23
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/a;->u()Lcom/alibaba/fastjson/parser/a$a;
move-result-object v0
.line 10
new-instance v1, Lcom/alibaba/fastjson/parser/deserializer/t;
invoke-direct {v1, p1}, Lcom/alibaba/fastjson/parser/deserializer/t;-><init>(Ljava/util/Collection;)V
iput-object v1, v0, Lcom/alibaba/fastjson/parser/a$a;->c:Lcom/alibaba/fastjson/parser/deserializer/k;
.line 11
iget-object p1, p0, Lcom/alibaba/fastjson/parser/a;->g:Lcom/alibaba/fastjson/parser/h;
iput-object p1, v0, Lcom/alibaba/fastjson/parser/a$a;->d:Lcom/alibaba/fastjson/parser/h;
.line 12
iput v2, p0, Lcom/alibaba/fastjson/parser/a;->k:I
:cond_34
:goto_34
return-void
.end method
.method public final n(Ljava/util/Map;Ljava/lang/Object;)V
.registers 5
.line 1
iget v0, p0, Lcom/alibaba/fastjson/parser/a;->k:I
const/4 v1, 0x1
if-ne v0, v1, :cond_17
.line 2
new-instance v0, Lcom/alibaba/fastjson/parser/deserializer/t;
invoke-direct {v0, p1, p2}, Lcom/alibaba/fastjson/parser/deserializer/t;-><init>(Ljava/util/Map;Ljava/lang/Object;)V
.line 3
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/a;->u()Lcom/alibaba/fastjson/parser/a$a;
move-result-object p1
.line 4
iput-object v0, p1, Lcom/alibaba/fastjson/parser/a$a;->c:Lcom/alibaba/fastjson/parser/deserializer/k;
.line 5
iget-object p2, p0, Lcom/alibaba/fastjson/parser/a;->g:Lcom/alibaba/fastjson/parser/h;
iput-object p2, p1, Lcom/alibaba/fastjson/parser/a$a;->d:Lcom/alibaba/fastjson/parser/h;
const/4 p1, 0x0
.line 6
iput p1, p0, Lcom/alibaba/fastjson/parser/a;->k:I
:cond_17
return-void
.end method
.method public final o()Ljava/text/DateFormat;
.registers 4
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/parser/a;->e:Ljava/text/SimpleDateFormat;
if-nez v0, :cond_1c
.line 2
new-instance v0, Ljava/text/SimpleDateFormat;
iget-object v1, p0, Lcom/alibaba/fastjson/parser/a;->d:Ljava/lang/String;
iget-object v2, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->a()Ljava/util/Locale;
move-result-object v2
invoke-direct {v0, v1, v2}, Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;Ljava/util/Locale;)V
iput-object v0, p0, Lcom/alibaba/fastjson/parser/a;->e:Ljava/text/SimpleDateFormat;
.line 3
iget-object v1, p0, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
invoke-interface {v1}, Lcom/alibaba/fastjson/parser/c;->H()Ljava/util/TimeZone;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/text/DateFormat;->setTimeZone(Ljava/util/TimeZone;)V
.line 4
:cond_1c
iget-object v0, p0, Lcom/alibaba/fastjson/parser/a;->e:Ljava/text/SimpleDateFormat;
return-object v0
.end method
.method public final u()Lcom/alibaba/fastjson/parser/a$a;
.registers 3
iget-object v0, p0, Lcom/alibaba/fastjson/parser/a;->j:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v1
add-int/lit8 v1, v1, -0x1
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/alibaba/fastjson/parser/a$a;
return-object v0
.end method
.method public final x()V
.registers 10
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/parser/a;->j:Ljava/util/ArrayList;
if-nez v0, :cond_5
return-void
.line 2
:cond_5
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v0
const/4 v1, 0x0
const/4 v2, 0x0
:goto_b
if-ge v2, v0, :cond_53
.line 3
iget-object v3, p0, Lcom/alibaba/fastjson/parser/a;->j:Ljava/util/ArrayList;
invoke-virtual {v3, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/alibaba/fastjson/parser/a$a;
.line 4
iget-object v4, v3, Lcom/alibaba/fastjson/parser/a$a;->b:Ljava/lang/String;
.line 5
iget-object v5, v3, Lcom/alibaba/fastjson/parser/a$a;->d:Lcom/alibaba/fastjson/parser/h;
const/4 v6, 0x0
if-eqz v5, :cond_1f
.line 6
iget-object v5, v5, Lcom/alibaba/fastjson/parser/h;->a:Ljava/lang/Object;
goto :goto_20
:cond_1f
move-object v5, v6
:goto_20
const-string v7, "$"
.line 7
invoke-virtual {v4, v7}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v7
if-eqz v7, :cond_45
const/4 v7, 0x0
.line 8
:goto_29
iget v8, p0, Lcom/alibaba/fastjson/parser/a;->i:I
if-ge v7, v8, :cond_49
.line 9
iget-object v8, p0, Lcom/alibaba/fastjson/parser/a;->h:[Lcom/alibaba/fastjson/parser/h;
aget-object v8, v8, v7
invoke-virtual {v8}, Lcom/alibaba/fastjson/parser/h;->toString()Ljava/lang/String;
move-result-object v8
invoke-virtual {v4, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v8
if-eqz v8, :cond_42
.line 10
iget-object v4, p0, Lcom/alibaba/fastjson/parser/a;->h:[Lcom/alibaba/fastjson/parser/h;
aget-object v4, v4, v7
iget-object v6, v4, Lcom/alibaba/fastjson/parser/h;->a:Ljava/lang/Object;
goto :goto_49
:cond_42
add-int/lit8 v7, v7, 0x1
goto :goto_29
.line 11
:cond_45
iget-object v4, v3, Lcom/alibaba/fastjson/parser/a$a;->a:Lcom/alibaba/fastjson/parser/h;
iget-object v6, v4, Lcom/alibaba/fastjson/parser/h;->a:Ljava/lang/Object;
.line 12
:cond_49
:goto_49
iget-object v3, v3, Lcom/alibaba/fastjson/parser/a$a;->c:Lcom/alibaba/fastjson/parser/deserializer/k;
if-eqz v3, :cond_50
.line 13
invoke-virtual {v3, v5, v6}, Lcom/alibaba/fastjson/parser/deserializer/k;->c(Ljava/lang/Object;Ljava/lang/Object;)V
:cond_50
add-int/lit8 v2, v2, 0x1
goto :goto_b
:cond_53
return-void
.end method