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