JSONLexerBase.smali 
.class public abstract Lcom/alibaba/fastjson/parser/JSONLexerBase;
.super Ljava/lang/Object;
.source "JSONLexerBase.java"
# interfaces
.implements Lcom/alibaba/fastjson/parser/JSONLexer;
.implements Ljava/io/Closeable;
# static fields
.field protected static final INT_MULTMIN_RADIX_TEN:I = -0xccccccc
.field protected static final MULTMIN_RADIX_TEN:J = -0xcccccccccccccccL
.field private static final SBUF_LOCAL:Ljava/lang/ThreadLocal;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/lang/ThreadLocal<",
            "[C>;"
        }
    .end annotation
.end field
.field protected static final digits:[I
.field protected static final typeFieldName:[C
# instance fields
.field protected bp:I
.field protected calendar:Ljava/util/Calendar;
.field protected ch:C
.field protected eofPos:I
.field protected features:I
.field protected hasSpecial:Z
.field protected locale:Ljava/util/Locale;
.field public matchStat:I
.field protected nanos:I
.field protected np:I
.field protected pos:I
.field protected sbuf:[C
.field protected sp:I
.field protected stringDefaultValue:Ljava/lang/String;
.field protected timeZone:Ljava/util/TimeZone;
.field protected token:I
# direct methods
.method static constructor <clinit>()V
    .registers 3
    .line 69
    new-instance v0, Ljava/lang/ThreadLocal;
    invoke-direct {v0}, Ljava/lang/ThreadLocal;-><init>()V
    sput-object v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->SBUF_LOCAL:Ljava/lang/ThreadLocal;
    .line 1122
    new-instance v0, Ljava/lang/StringBuilder;
    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
    const-string v1, "\""
    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    sget-object v1, Lcom/alibaba/fastjson/JSON;->DEFAULT_TYPE_KEY:Ljava/lang/String;
    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    const-string 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-virtual {v0}, Ljava/lang/String;->toCharArray()[C
    move-result-object v0
    sput-object v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->typeFieldName:[C
    const/16 v0, 0x67
    new-array v0, v0, [I
    .line 5316
    sput-object v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->digits:[I
    const/16 v0, 0x30
    :goto_2d
    const/16 v1, 0x39
    if-gt v0, v1, :cond_3a
    .line 5320
    sget-object v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->digits:[I
    add-int/lit8 v2, v0, -0x30
    aput v2, v1, v0
    add-int/lit8 v0, v0, 0x1
    goto :goto_2d
    :cond_3a
    const/16 v0, 0x61
    :goto_3c
    const/16 v1, 0x66
    if-gt v0, v1, :cond_4b
    .line 5324
    sget-object v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->digits:[I
    add-int/lit8 v2, v0, -0x61
    add-int/lit8 v2, v2, 0xa
    aput v2, v1, v0
    add-int/lit8 v0, v0, 0x1
    goto :goto_3c
    :cond_4b
    const/16 v0, 0x41
    :goto_4d
    const/16 v1, 0x46
    if-gt v0, v1, :cond_5c
    .line 5327
    sget-object v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->digits:[I
    add-int/lit8 v2, v0, -0x41
    add-int/lit8 v2, v2, 0xa
    aput v2, v1, v0
    add-int/lit8 v0, v0, 0x1
    goto :goto_4d
    :cond_5c
    return-void
.end method
.method public constructor <init>(I)V
    .registers 4
    .line 74
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V
    const/4 v0, 0x0
    .line 63
    iput-object v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->calendar:Ljava/util/Calendar;
    .line 64
    sget-object v1, Lcom/alibaba/fastjson/JSON;->defaultTimeZone:Ljava/util/TimeZone;
    iput-object v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->timeZone:Ljava/util/TimeZone;
    .line 65
    sget-object v1, Lcom/alibaba/fastjson/JSON;->defaultLocale:Ljava/util/Locale;
    iput-object v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->locale:Ljava/util/Locale;
    const/4 v1, 0x0
    .line 67
    iput v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 71
    iput-object v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->stringDefaultValue:Ljava/lang/String;
    .line 72
    iput v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->nanos:I
    .line 75
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->features:I
    .line 77
    sget-object v0, Lcom/alibaba/fastjson/parser/Feature;->InitStringFieldAsEmpty:Lcom/alibaba/fastjson/parser/Feature;
    iget v0, v0, Lcom/alibaba/fastjson/parser/Feature;->mask:I
    and-int/2addr p1, v0
    if-eqz p1, :cond_22
    const-string p1, ""
    .line 78
    iput-object p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->stringDefaultValue:Ljava/lang/String;
    .line 81
    :cond_22
    sget-object p1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->SBUF_LOCAL:Ljava/lang/ThreadLocal;
    invoke-virtual {p1}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;
    move-result-object p1
    check-cast p1, [C
    iput-object p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
    if-nez p1, :cond_34
    const/16 p1, 0x200
    new-array p1, p1, [C
    .line 84
    iput-object p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
    :cond_34
    return-void
.end method
.method public static isWhitespace(C)Z
    .registers 2
    const/16 v0, 0x20
    if-gt p0, v0, :cond_1c
    if-eq p0, v0, :cond_1a
    const/16 v0, 0xa
    if-eq p0, v0, :cond_1a
    const/16 v0, 0xd
    if-eq p0, v0, :cond_1a
    const/16 v0, 0x9
    if-eq p0, v0, :cond_1a
    const/16 v0, 0xc
    if-eq p0, v0, :cond_1a
    const/16 v0, 0x8
    if-ne p0, v0, :cond_1c
    :cond_1a
    const/4 p0, 0x1
    goto :goto_1d
    :cond_1c
    const/4 p0, 0x0
    :goto_1d
    return p0
.end method
.method public static readString([CI)Ljava/lang/String;
    .registers 14
    .line 4828
    new-array v0, p1, [C
    const/4 v1, 0x0
    move v2, v1
    move v3, v2
    :goto_5
    if-ge v2, p1, :cond_fc
    .line 4831
    aget-char v4, p0, v2
    const/16 v5, 0x5c
    const/4 v6, 0x1
    if-eq v4, v5, :cond_15
    add-int/lit8 v5, v3, 0x1
    .line 4834
    aput-char v4, v0, v3
    move v3, v5
    goto/16 :goto_f9
    :cond_15
    add-int/lit8 v2, v2, 0x1
    .line 4837
    aget-char v4, p0, v2
    const/16 v7, 0x22
    if-eq v4, v7, :cond_f4
    const/16 v7, 0x27
    if-eq v4, v7, :cond_ef
    const/16 v7, 0x46
    if-eq v4, v7, :cond_e8
    if-eq v4, v5, :cond_e3
    const/16 v5, 0x62
    if-eq v4, v5, :cond_dc
    const/16 v5, 0x66
    if-eq v4, v5, :cond_e8
    const/16 v5, 0x6e
    if-eq v4, v5, :cond_d5
    const/16 v5, 0x72
    if-eq v4, v5, :cond_ce
    const/16 v5, 0x78
    const/16 v7, 0x10
    if-eq v4, v5, :cond_b9
    const/4 v5, 0x4
    const/4 v8, 0x3
    const/4 v9, 0x2
    packed-switch v4, :pswitch_data_102
    packed-switch v4, :pswitch_data_118
    .line 4906
    new-instance p0, Lcom/alibaba/fastjson/JSONException;
    const-string p1, "unclosed.str.lit"
    invoke-direct {p0, p1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw p0
    :pswitch_4e
    add-int/lit8 v4, v3, 0x1
    const/16 v5, 0xb
    .line 4874
    aput-char v5, v0, v3
    goto/16 :goto_f8
    :pswitch_56
    add-int/lit8 v4, v3, 0x1
    .line 4899
    new-instance v10, Ljava/lang/String;
    new-array v5, v5, [C
    add-int/lit8 v2, v2, 0x1
    aget-char v11, p0, v2
    aput-char v11, v5, v1
    add-int/2addr v2, v6
    aget-char v11, p0, v2
    aput-char v11, v5, v6
    add-int/2addr v2, v6
    aget-char v11, p0, v2
    aput-char v11, v5, v9
    add-int/2addr v2, v6
    aget-char v9, p0, v2
    aput-char v9, v5, v8
    invoke-direct {v10, v5}, Ljava/lang/String;-><init>([C)V
    invoke-static {v10, v7}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
    move-result v5
    int-to-char v5, v5
    aput-char v5, v0, v3
    goto/16 :goto_f8
    :pswitch_7d
    add-int/lit8 v4, v3, 0x1
    const/16 v5, 0x9
    .line 4868
    aput-char v5, v0, v3
    goto/16 :goto_f8
    :pswitch_85
    add-int/lit8 v4, v3, 0x1
    const/4 v5, 0x7
    .line 4862
    aput-char v5, v0, v3
    goto/16 :goto_f8
    :pswitch_8c
    add-int/lit8 v4, v3, 0x1
    const/4 v5, 0x6
    .line 4859
    aput-char v5, v0, v3
    goto/16 :goto_f8
    :pswitch_93
    add-int/lit8 v4, v3, 0x1
    const/4 v5, 0x5
    .line 4856
    aput-char v5, v0, v3
    goto :goto_f8
    :pswitch_99
    add-int/lit8 v4, v3, 0x1
    .line 4853
    aput-char v5, v0, v3
    goto :goto_f8
    :pswitch_9e
    add-int/lit8 v4, v3, 0x1
    .line 4850
    aput-char v8, v0, v3
    goto :goto_f8
    :pswitch_a3
    add-int/lit8 v4, v3, 0x1
    .line 4847
    aput-char v9, v0, v3
    goto :goto_f8
    :pswitch_a8
    add-int/lit8 v4, v3, 0x1
    .line 4844
    aput-char v6, v0, v3
    goto :goto_f8
    :pswitch_ad
    add-int/lit8 v4, v3, 0x1
    .line 4841
    aput-char v1, v0, v3
    goto :goto_f8
    :pswitch_b2
    add-int/lit8 v4, v3, 0x1
    const/16 v5, 0x2f
    .line 4890
    aput-char v5, v0, v3
    goto :goto_f8
    :cond_b9
    add-int/lit8 v4, v3, 0x1
    .line 4896
    sget-object v5, Lcom/alibaba/fastjson/parser/JSONLexerBase;->digits:[I
    add-int/lit8 v2, v2, 0x1
    aget-char v8, p0, v2
    aget v8, v5, v8
    mul-int/2addr v8, v7
    add-int/2addr v2, v6
    aget-char v7, p0, v2
    aget v5, v5, v7
    add-int/2addr v8, v5
    int-to-char v5, v8
    aput-char v5, v0, v3
    goto :goto_f8
    :cond_ce
    add-int/lit8 v4, v3, 0x1
    const/16 v5, 0xd
    .line 4881
    aput-char v5, v0, v3
    goto :goto_f8
    :cond_d5
    add-int/lit8 v4, v3, 0x1
    const/16 v5, 0xa
    .line 4871
    aput-char v5, v0, v3
    goto :goto_f8
    :cond_dc
    add-int/lit8 v4, v3, 0x1
    const/16 v5, 0x8
    .line 4865
    aput-char v5, v0, v3
    goto :goto_f8
    :cond_e3
    add-int/lit8 v4, v3, 0x1
    .line 4893
    aput-char v5, v0, v3
    goto :goto_f8
    :cond_e8
    add-int/lit8 v4, v3, 0x1
    const/16 v5, 0xc
    .line 4878
    aput-char v5, v0, v3
    goto :goto_f8
    :cond_ef
    add-int/lit8 v4, v3, 0x1
    .line 4887
    aput-char v7, v0, v3
    goto :goto_f8
    :cond_f4
    add-int/lit8 v4, v3, 0x1
    .line 4884
    aput-char v7, v0, v3
    :goto_f8
    move v3, v4
    :goto_f9
    add-int/2addr v2, v6
    goto/16 :goto_5
    .line 4909
    :cond_fc
    new-instance p0, Ljava/lang/String;
    invoke-direct {p0, v0, v1, v3}, Ljava/lang/String;-><init>([CII)V
    return-object p0
    :pswitch_data_102
    .packed-switch 0x2f
        :pswitch_b2
        :pswitch_ad
        :pswitch_a8
        :pswitch_a3
        :pswitch_9e
        :pswitch_99
        :pswitch_93
        :pswitch_8c
        :pswitch_85
    .end packed-switch
    :pswitch_data_118
    .packed-switch 0x74
        :pswitch_7d
        :pswitch_56
        :pswitch_4e
    .end packed-switch
.end method
.method private scanStringSingleQuote()V
    .registers 13
    .line 4954
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    const/4 v0, 0x0
    .line 4955
    iput-boolean v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->hasSpecial:Z
    .line 4958
    :goto_7
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    move-result v1
    const/4 v2, 0x4
    const/16 v3, 0x27
    if-ne v1, v3, :cond_16
    .line 5083
    iput v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 5084
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    return-void
    :cond_16
    const-string v4, "unclosed single-quote string"
    const/16 v5, 0x1a
    if-ne v1, v5, :cond_2c
    .line 4965
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->isEOF()Z
    move-result v1
    if-nez v1, :cond_26
    .line 4966
    invoke-virtual {p0, v5}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto :goto_7
    .line 4969
    :cond_26
    new-instance v0, Lcom/alibaba/fastjson/JSONException;
    invoke-direct {v0, v4}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v0
    :cond_2c
    const/16 v5, 0x5c
    const/4 v6, 0x1
    if-ne v1, v5, :cond_175
    .line 4973
    iget-boolean v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->hasSpecial:Z
    if-nez v1, :cond_52
    .line 4974
    iput-boolean v6, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->hasSpecial:Z
    .line 4976
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    iget-object v7, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
    array-length v8, v7
    if-le v1, v8, :cond_48
    mul-int/lit8 v1, v1, 0x2
    .line 4977
    new-array v1, v1, [C
    .line 4978
    array-length v8, v7
    invoke-static {v7, v0, v1, v0, v8}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
    .line 4979
    iput-object v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
    .line 4983
    :cond_48
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    add-int/2addr v1, v6
    iget v7, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    iget-object v8, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
    invoke-virtual {p0, v1, v7, v8}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->copyTo(II[C)V
    .line 4987
    :cond_52
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    move-result v1
    const/16 v7, 0x22
    if-eq v1, v7, :cond_170
    if-eq v1, v3, :cond_16b
    const/16 v3, 0x46
    if-eq v1, v3, :cond_164
    if-eq v1, v5, :cond_15f
    const/16 v5, 0x62
    if-eq v1, v5, :cond_158
    const/16 v5, 0x66
    if-eq v1, v5, :cond_164
    const/16 v7, 0x6e
    if-eq v1, v7, :cond_151
    const/16 v7, 0x72
    if-eq v1, v7, :cond_14a
    const/16 v7, 0x78
    const/16 v8, 0x10
    if-eq v1, v7, :cond_f1
    const/4 v3, 0x3
    const/4 v5, 0x2
    packed-switch v1, :pswitch_data_194
    packed-switch v1, :pswitch_data_1aa
    .line 5065
    iput-char v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 5066
    new-instance v0, Lcom/alibaba/fastjson/JSONException;
    invoke-direct {v0, v4}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v0
    :pswitch_88
    const/16 v1, 0xb
    .line 5024
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    .line 5062
    :pswitch_8f
    new-instance v1, Ljava/lang/String;
    new-array v2, v2, [C
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    move-result v4
    aput-char v4, v2, v0
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    move-result v4
    aput-char v4, v2, v6
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    move-result v4
    aput-char v4, v2, v5
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    move-result v4
    aput-char v4, v2, v3
    invoke-direct {v1, v2}, Ljava/lang/String;-><init>([C)V
    invoke-static {v1, v8}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
    move-result v1
    int-to-char v1, v1
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    :pswitch_b8
    const/16 v1, 0x9
    .line 5018
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    :pswitch_bf
    const/4 v1, 0x7
    .line 5012
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    :pswitch_c5
    const/4 v1, 0x6
    .line 5009
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    :pswitch_cb
    const/4 v1, 0x5
    .line 5006
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    .line 5003
    :pswitch_d1
    invoke-virtual {p0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    .line 5000
    :pswitch_d6
    invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    .line 4997
    :pswitch_db
    invoke-virtual {p0, v5}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    .line 4994
    :pswitch_e0
    invoke-virtual {p0, v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    .line 4991
    :pswitch_e5
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    :pswitch_ea
    const/16 v1, 0x2f
    .line 5040
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    .line 5046
    :cond_f1
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    move-result v1
    .line 5047
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    move-result v2
    const/16 v4, 0x41
    const/16 v7, 0x39
    const/16 v9, 0x61
    const/16 v10, 0x30
    if-lt v1, v10, :cond_105
    if-le v1, v7, :cond_10d
    :cond_105
    if-lt v1, v9, :cond_109
    if-le v1, v5, :cond_10d
    :cond_109
    if-lt v1, v4, :cond_10f
    if-gt v1, v3, :cond_10f
    :cond_10d
    move v11, v6
    goto :goto_110
    :cond_10f
    move v11, v0
    :goto_110
    if-lt v2, v10, :cond_114
    if-le v2, v7, :cond_11e
    :cond_114
    if-lt v2, v9, :cond_118
    if-le v2, v5, :cond_11e
    :cond_118
    if-lt v2, v4, :cond_11d
    if-gt v2, v3, :cond_11d
    goto :goto_11e
    :cond_11d
    move v6, v0
    :cond_11e
    :goto_11e
    if-eqz v11, :cond_130
    if-eqz v6, :cond_130
    .line 5059
    sget-object v3, Lcom/alibaba/fastjson/parser/JSONLexerBase;->digits:[I
    aget v1, v3, v1
    mul-int/2addr v1, v8
    aget v2, v3, v2
    add-int/2addr v1, v2
    int-to-char v1, v1
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    .line 5056
    :cond_130
    new-instance v0, Lcom/alibaba/fastjson/JSONException;
    new-instance v3, Ljava/lang/StringBuilder;
    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
    const-string v4, "invalid escape character \\x"
    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
    invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
    move-result-object v1
    invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v0
    :cond_14a
    const/16 v1, 0xd
    .line 5031
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    :cond_151
    const/16 v1, 0xa
    .line 5021
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    :cond_158
    const/16 v1, 0x8
    .line 5015
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    .line 5043
    :cond_15f
    invoke-virtual {p0, v5}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    :cond_164
    const/16 v1, 0xc
    .line 5028
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    .line 5037
    :cond_16b
    invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    .line 5034
    :cond_170
    invoke-virtual {p0, v7}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    .line 5071
    :cond_175
    iget-boolean v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->hasSpecial:Z
    if-nez v2, :cond_180
    .line 5072
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    add-int/2addr v1, v6
    iput v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    goto/16 :goto_7
    .line 5076
    :cond_180
    iget v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    iget-object v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
    array-length v4, v3
    if-ne v2, v4, :cond_18c
    .line 5077
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    :cond_18c
    add-int/lit8 v4, v2, 0x1
    .line 5079
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    aput-char v1, v3, v2
    goto/16 :goto_7
    :pswitch_data_194
    .packed-switch 0x2f
        :pswitch_ea
        :pswitch_e5
        :pswitch_e0
        :pswitch_db
        :pswitch_d6
        :pswitch_d1
        :pswitch_cb
        :pswitch_c5
        :pswitch_bf
    .end packed-switch
    :pswitch_data_1aa
    .packed-switch 0x74
        :pswitch_b8
        :pswitch_8f
        :pswitch_88
    .end packed-switch
.end method
# virtual methods
.method public abstract addSymbol(IIILcom/alibaba/fastjson/parser/SymbolTable;)Ljava/lang/String;
.end method
.method protected abstract arrayCopy(I[CII)V
.end method
.method public abstract bytesValue()[B
.end method
.method protected abstract charArrayCompare([C)Z
.end method
.method public abstract charAt(I)C
.end method
.method public close()V
    .registers 4
    .line 1101
    iget-object v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
    array-length v1, v0
    const/16 v2, 0x2000
    if-gt v1, v2, :cond_c
    .line 1102
    sget-object v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->SBUF_LOCAL:Ljava/lang/ThreadLocal;
    invoke-virtual {v1, v0}, Ljava/lang/ThreadLocal;->set(Ljava/lang/Object;)V
    :cond_c
    const/4 v0, 0x0
    .line 1104
    iput-object v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
    return-void
.end method
.method public config(Lcom/alibaba/fastjson/parser/Feature;Z)V
    .registers 4
    .line 528
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->features:I
    invoke-static {v0, p1, p2}, Lcom/alibaba/fastjson/parser/Feature;->config(ILcom/alibaba/fastjson/parser/Feature;Z)I
    move-result p1
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->features:I
    .line 530
    sget-object p2, Lcom/alibaba/fastjson/parser/Feature;->InitStringFieldAsEmpty:Lcom/alibaba/fastjson/parser/Feature;
    iget p2, p2, Lcom/alibaba/fastjson/parser/Feature;->mask:I
    and-int/2addr p1, p2
    if-eqz p1, :cond_13
    const-string p1, ""
    .line 531
    iput-object p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->stringDefaultValue:Ljava/lang/String;
    :cond_13
    return-void
.end method
.method protected abstract copyTo(II[C)V
.end method
.method public final decimalValue(Z)Ljava/lang/Number;
    .registers 4
    .line 5280
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    add-int/2addr v0, v1
    add-int/lit8 v0, v0, -0x1
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    const/16 v1, 0x46
    if-ne v0, v1, :cond_1e
    .line 5283
    :try_start_f
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->numberString()Ljava/lang/String;
    move-result-object p1
    invoke-static {p1}, Ljava/lang/Float;->parseFloat(Ljava/lang/String;)F
    move-result p1
    invoke-static {p1}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
    move-result-object p1
    return-object p1
    :catch_1c
    move-exception p1
    goto :goto_3f
    :cond_1e
    const/16 v1, 0x44
    if-ne v0, v1, :cond_2f
    .line 5287
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->numberString()Ljava/lang/String;
    move-result-object p1
    invoke-static {p1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
    move-result-wide v0
    invoke-static {v0, v1}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
    move-result-object p1
    return-object p1
    :cond_2f
    if-eqz p1, :cond_36
    .line 5291
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->decimalValue()Ljava/math/BigDecimal;
    move-result-object p1
    return-object p1
    .line 5293
    :cond_36
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->doubleValue()D
    move-result-wide v0
    invoke-static {v0, v1}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
    move-result-object p1
    :try_end_3e
    .catch Ljava/lang/NumberFormatException; {:try_start_f .. :try_end_3e} :catch_1c
    return-object p1
    .line 5296
    :goto_3f
    new-instance v0, Lcom/alibaba/fastjson/JSONException;
    new-instance v1, Ljava/lang/StringBuilder;
    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
    invoke-virtual {p1}, Ljava/lang/NumberFormatException;->getMessage()Ljava/lang/String;
    move-result-object p1
    invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    const-string p1, ", "
    invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->info()Ljava/lang/String;
    move-result-object p1
    invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
    move-result-object p1
    invoke-direct {v0, p1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v0
.end method
.method public abstract decimalValue()Ljava/math/BigDecimal;
.end method
.method public doubleValue()D
    .registers 3
    .line 524
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->numberString()Ljava/lang/String;
    move-result-object v0
    invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
    move-result-wide v0
    return-wide v0
.end method
.method public floatValue()F
    .registers 5
    .line 512
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->numberString()Ljava/lang/String;
    move-result-object v0
    .line 513
    invoke-static {v0}, Ljava/lang/Float;->parseFloat(Ljava/lang/String;)F
    move-result v1
    const/4 v2, 0x0
    cmpl-float v2, v1, v2
    if-eqz v2, :cond_13
    const/high16 v2, 0x7f800000    # Float.POSITIVE_INFINITY
    cmpl-float v2, v1, v2
    if-nez v2, :cond_38
    :cond_13
    const/4 v2, 0x0
    .line 515
    invoke-virtual {v0, v2}, Ljava/lang/String;->charAt(I)C
    move-result v2
    const/16 v3, 0x30
    if-le v2, v3, :cond_38
    const/16 v3, 0x39
    if-le v2, v3, :cond_21
    goto :goto_38
    .line 517
    :cond_21
    new-instance v1, Lcom/alibaba/fastjson/JSONException;
    new-instance v2, Ljava/lang/StringBuilder;
    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
    const-string v3, "float overflow : "
    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
    move-result-object v0
    invoke-direct {v1, v0}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v1
    :cond_38
    :goto_38
    return v1
.end method
.method public getCalendar()Ljava/util/Calendar;
    .registers 2
    .line 1025
    iget-object v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->calendar:Ljava/util/Calendar;
    return-object v0
.end method
.method public final getCurrent()C
    .registers 2
    .line 552
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    return v0
.end method
.method public getFeatures()I
    .registers 2
    .line 5347
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->features:I
    return v0
.end method
.method public getLocale()Ljava/util/Locale;
    .registers 2
    .line 1037
    iget-object v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->locale:Ljava/util/Locale;
    return-object v0
.end method
.method public getTimeZone()Ljava/util/TimeZone;
    .registers 2
    .line 1029
    iget-object v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->timeZone:Ljava/util/TimeZone;
    return-object v0
.end method
.method public abstract indexOf(CI)I
.end method
.method public info()Ljava/lang/String;
    .registers 2
    const-string v0, ""
    return-object v0
.end method
.method public final intValue()I
    .registers 13
    .line 1045
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    const/4 v1, 0x0
    const/4 v2, -0x1
    if-ne v0, v2, :cond_8
    .line 1046
    iput v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    .line 1051
    :cond_8
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    iget v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    add-int/2addr v2, v0
    .line 1055
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    const/16 v4, 0x2d
    const/4 v5, 0x1
    if-ne v3, v4, :cond_1c
    const/high16 v3, -0x80000000
    add-int/lit8 v0, v0, 0x1
    move v4, v5
    goto :goto_20
    :cond_1c
    const v3, -0x7fffffff
    move v4, v1
    :goto_20
    const-wide/32 v6, -0xccccccc
    if-ge v0, v2, :cond_31
    add-int/lit8 v1, v0, 0x1
    .line 1064
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    add-int/lit8 v0, v0, -0x30
    neg-int v0, v0
    move v11, v1
    move v1, v0
    move v0, v11
    :cond_31
    :goto_31
    if-ge v0, v2, :cond_6b
    add-int/lit8 v8, v0, 0x1
    .line 1069
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    const/16 v9, 0x4c
    if-eq v0, v9, :cond_6a
    const/16 v9, 0x53
    if-eq v0, v9, :cond_6a
    const/16 v9, 0x42
    if-ne v0, v9, :cond_46
    goto :goto_6a
    :cond_46
    add-int/lit8 v0, v0, -0x30
    int-to-long v9, v1
    cmp-long v9, v9, v6
    if-ltz v9, :cond_60
    mul-int/lit8 v1, v1, 0xa
    add-int v9, v3, v0
    if-lt v1, v9, :cond_56
    sub-int/2addr v1, v0
    move v0, v8
    goto :goto_31
    .line 1082
    :cond_56
    new-instance v0, Ljava/lang/NumberFormatException;
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->numberString()Ljava/lang/String;
    move-result-object v1
    invoke-direct {v0, v1}, Ljava/lang/NumberFormatException;-><init>(Ljava/lang/String;)V
    throw v0
    .line 1078
    :cond_60
    new-instance v0, Ljava/lang/NumberFormatException;
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->numberString()Ljava/lang/String;
    move-result-object v1
    invoke-direct {v0, v1}, Ljava/lang/NumberFormatException;-><init>(Ljava/lang/String;)V
    throw v0
    :cond_6a
    :goto_6a
    move v0, v8
    :cond_6b
    if-eqz v4, :cond_7d
    .line 1088
    iget v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    add-int/2addr v2, v5
    if-le v0, v2, :cond_73
    return v1
    .line 1091
    :cond_73
    new-instance v0, Ljava/lang/NumberFormatException;
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->numberString()Ljava/lang/String;
    move-result-object v1
    invoke-direct {v0, v1}, Ljava/lang/NumberFormatException;-><init>(Ljava/lang/String;)V
    throw v0
    :cond_7d
    neg-int v0, v1
    return v0
.end method
.method public final integerValue()Ljava/lang/Number;
    .registers 19
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/lang/NumberFormatException;
        }
    .end annotation
    move-object/from16 v0, p0
    .line 421
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    const/4 v2, 0x0
    const/4 v3, -0x1
    if-ne v1, v3, :cond_a
    .line 422
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    .line 424
    :cond_a
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    add-int/2addr v3, v1
    const/16 v4, 0x20
    add-int/lit8 v5, v3, -0x1
    .line 431
    invoke-virtual {v0, v5}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v5
    const/16 v6, 0x53
    const/16 v7, 0x4c
    const/16 v8, 0x42
    if-eq v5, v8, :cond_2c
    if-eq v5, v7, :cond_28
    if-eq v5, v6, :cond_24
    goto :goto_2f
    :cond_24
    add-int/lit8 v3, v3, -0x1
    move v4, v6
    goto :goto_2f
    :cond_28
    add-int/lit8 v3, v3, -0x1
    move v4, v7
    goto :goto_2f
    :cond_2c
    add-int/lit8 v3, v3, -0x1
    move v4, v8
    .line 448
    :goto_2f
    iget v5, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    invoke-virtual {v0, v5}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v5
    const/16 v9, 0x2d
    const/4 v10, 0x1
    if-ne v5, v9, :cond_40
    const-wide/high16 v11, -0x8000000000000000L
    add-int/lit8 v1, v1, 0x1
    move v2, v10
    goto :goto_45
    :cond_40
    const-wide v11, -0x7fffffffffffffffL    # -4.9E-324
    :goto_45
    const-wide v13, -0xcccccccccccccccL
    if-ge v1, v3, :cond_58
    add-int/lit8 v5, v1, 0x1
    .line 457
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    add-int/lit8 v1, v1, -0x30
    neg-int v1, v1
    int-to-long v8, v1
    move v1, v5
    goto :goto_5a
    :cond_58
    const-wide/16 v8, 0x0
    :goto_5a
    if-ge v1, v3, :cond_95
    add-int/lit8 v5, v1, 0x1
    .line 462
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    add-int/lit8 v1, v1, -0x30
    cmp-long v15, v8, v13
    const/16 v13, 0xa
    if-gez v15, :cond_74
    .line 464
    new-instance v1, Ljava/math/BigInteger;
    invoke-virtual/range {p0 .. p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->numberString()Ljava/lang/String;
    move-result-object v2
    invoke-direct {v1, v2, v13}, Ljava/math/BigInteger;-><init>(Ljava/lang/String;I)V
    return-object v1
    :cond_74
    const-wide/16 v16, 0xa
    mul-long v8, v8, v16
    int-to-long v6, v1
    add-long v16, v11, v6
    cmp-long v1, v8, v16
    if-gez v1, :cond_89
    .line 468
    new-instance v1, Ljava/math/BigInteger;
    invoke-virtual/range {p0 .. p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->numberString()Ljava/lang/String;
    move-result-object v2
    invoke-direct {v1, v2, v13}, Ljava/math/BigInteger;-><init>(Ljava/lang/String;I)V
    return-object v1
    :cond_89
    sub-long/2addr v8, v6
    move v1, v5
    const/16 v6, 0x53
    const/16 v7, 0x4c
    const-wide v13, -0xcccccccccccccccL
    goto :goto_5a
    :cond_95
    if-eqz v2, :cond_e3
    .line 474
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    add-int/2addr v2, v10
    if-le v1, v2, :cond_c8
    const-wide/32 v1, -0x80000000
    cmp-long v1, v8, v1
    if-ltz v1, :cond_c3
    const/16 v1, 0x4c
    if-eq v4, v1, :cond_c3
    const/16 v1, 0x53
    if-ne v4, v1, :cond_b2
    long-to-int v1, v8
    int-to-short v1, v1
    .line 477
    invoke-static {v1}, Ljava/lang/Short;->valueOf(S)Ljava/lang/Short;
    move-result-object v1
    return-object v1
    :cond_b2
    const/16 v1, 0x42
    if-ne v4, v1, :cond_bd
    long-to-int v1, v8
    int-to-byte v1, v1
    .line 481
    invoke-static {v1}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
    move-result-object v1
    return-object v1
    :cond_bd
    long-to-int v1, v8
    .line 484
    invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
    move-result-object v1
    return-object v1
    .line 486
    :cond_c3
    invoke-static {v8, v9}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
    move-result-object v1
    return-object v1
    .line 488
    :cond_c8
    new-instance v1, Lcom/alibaba/fastjson/JSONException;
    new-instance v2, Ljava/lang/StringBuilder;
    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
    const-string v3, "illegal number format : "
    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    invoke-virtual/range {p0 .. p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->numberString()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/JSONException;-><init>(Ljava/lang/String;)V
    throw v1
    :cond_e3
    neg-long v1, v8
    const-wide/32 v5, 0x7fffffff
    cmp-long v3, v1, v5
    if-gtz v3, :cond_10b
    const/16 v3, 0x4c
    if-eq v4, v3, :cond_10b
    const/16 v3, 0x53
    if-ne v4, v3, :cond_fa
    long-to-int v1, v1
    int-to-short v1, v1
    .line 494
    invoke-static {v1}, Ljava/lang/Short;->valueOf(S)Ljava/lang/Short;
    move-result-object v1
    return-object v1
    :cond_fa
    const/16 v3, 0x42
    if-ne v4, v3, :cond_105
    long-to-int v1, v1
    int-to-byte v1, v1
    .line 498
    invoke-static {v1}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
    move-result-object v1
    return-object v1
    :cond_105
    long-to-int v1, v1
    .line 501
    invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
    move-result-object v1
    return-object v1
    .line 503
    :cond_10b
    invoke-static {v1, v2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
    move-result-object v1
    return-object v1
.end method
.method public isBlankInput()Z
    .registers 5
    const/4 v0, 0x0
    move v1, v0
    .line 4916
    :goto_2
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    const/16 v3, 0x1a
    if-ne v2, v3, :cond_10
    const/16 v0, 0x14
    .line 4918
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    const/4 v0, 0x1
    return v0
    .line 4922
    :cond_10
    invoke-static {v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->isWhitespace(C)Z
    move-result v2
    if-nez v2, :cond_17
    return v0
    :cond_17
    add-int/lit8 v1, v1, 0x1
    goto :goto_2
.end method
.method public abstract isEOF()Z
.end method
.method public final isEnabled(I)Z
    .registers 3
    .line 540
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->features:I
    and-int/2addr p1, v0
    if-eqz p1, :cond_7
    const/4 p1, 0x1
    goto :goto_8
    :cond_7
    const/4 p1, 0x0
    :goto_8
    return p1
.end method
.method public final isEnabled(II)Z
    .registers 4
    .line 544
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->features:I
    and-int/2addr v0, p2
    if-nez v0, :cond_b
    and-int/2addr p1, p2
    if-eqz p1, :cond_9
    goto :goto_b
    :cond_9
    const/4 p1, 0x0
    goto :goto_c
    :cond_b
    :goto_b
    const/4 p1, 0x1
    :goto_c
    return p1
.end method
.method public final isEnabled(Lcom/alibaba/fastjson/parser/Feature;)Z
    .registers 2
    .line 536
    iget p1, p1, Lcom/alibaba/fastjson/parser/Feature;->mask:I
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->isEnabled(I)Z
    move-result p1
    return p1
.end method
.method public final isRef()Z
    .registers 6
    .line 1108
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    const/4 v1, 0x0
    const/4 v2, 0x4
    if-eq v0, v2, :cond_7
    return v1
    .line 1112
    :cond_7
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    const/4 v3, 0x1
    add-int/2addr v0, v3
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    const/16 v4, 0x24
    if-ne v0, v4, :cond_37
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    add-int/lit8 v0, v0, 0x2
    .line 1113
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    const/16 v4, 0x72
    if-ne v0, v4, :cond_37
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    add-int/lit8 v0, v0, 0x3
    .line 1114
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    const/16 v4, 0x65
    if-ne v0, v4, :cond_37
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    add-int/2addr v0, v2
    .line 1115
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    const/16 v2, 0x66
    if-ne v0, v2, :cond_37
    move v1, v3
    :cond_37
    return v1
.end method
.method protected varargs lexError(Ljava/lang/String;[Ljava/lang/Object;)V
    .registers 3
    const/4 p1, 0x1
    .line 38
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-void
.end method
.method public final longValue()J
    .registers 16
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/lang/NumberFormatException;
        }
    .end annotation
    .line 5231
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    const/4 v1, 0x0
    const/4 v2, -0x1
    if-ne v0, v2, :cond_8
    .line 5232
    iput v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    .line 5235
    :cond_8
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    iget v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    add-int/2addr v2, v0
    .line 5237
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    const/16 v4, 0x2d
    const/4 v5, 0x1
    if-ne v3, v4, :cond_1c
    const-wide/high16 v3, -0x8000000000000000L
    add-int/lit8 v0, v0, 0x1
    move v1, v5
    goto :goto_21
    :cond_1c
    const-wide v3, -0x7fffffffffffffffL    # -4.9E-324
    :goto_21
    const-wide v6, -0xcccccccccccccccL
    if-ge v0, v2, :cond_34
    add-int/lit8 v8, v0, 0x1
    .line 5246
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    add-int/lit8 v0, v0, -0x30
    neg-int v0, v0
    int-to-long v9, v0
    :goto_32
    move v0, v8
    goto :goto_36
    :cond_34
    const-wide/16 v9, 0x0
    :goto_36
    if-ge v0, v2, :cond_72
    add-int/lit8 v8, v0, 0x1
    .line 5251
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    const/16 v11, 0x4c
    if-eq v0, v11, :cond_71
    const/16 v11, 0x53
    if-eq v0, v11, :cond_71
    const/16 v11, 0x42
    if-ne v0, v11, :cond_4b
    goto :goto_71
    :cond_4b
    add-int/lit8 v0, v0, -0x30
    cmp-long v11, v9, v6
    if-ltz v11, :cond_67
    const-wide/16 v11, 0xa
    mul-long/2addr v9, v11
    int-to-long v11, v0
    add-long v13, v3, v11
    cmp-long v0, v9, v13
    if-ltz v0, :cond_5d
    sub-long/2addr v9, v11
    goto :goto_32
    .line 5263
    :cond_5d
    new-instance v0, Ljava/lang/NumberFormatException;
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->numberString()Ljava/lang/String;
    move-result-object v1
    invoke-direct {v0, v1}, Ljava/lang/NumberFormatException;-><init>(Ljava/lang/String;)V
    throw v0
    .line 5259
    :cond_67
    new-instance v0, Ljava/lang/NumberFormatException;
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->numberString()Ljava/lang/String;
    move-result-object v1
    invoke-direct {v0, v1}, Ljava/lang/NumberFormatException;-><init>(Ljava/lang/String;)V
    throw v0
    :cond_71
    :goto_71
    move v0, v8
    :cond_72
    if-eqz v1, :cond_84
    .line 5269
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    add-int/2addr v1, v5
    if-le v0, v1, :cond_7a
    return-wide v9
    .line 5272
    :cond_7a
    new-instance v0, Ljava/lang/NumberFormatException;
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->numberString()Ljava/lang/String;
    move-result-object v1
    invoke-direct {v0, v1}, Ljava/lang/NumberFormatException;-><init>(Ljava/lang/String;)V
    throw v0
    :cond_84
    neg-long v0, v9
    return-wide v0
.end method
.method public matchField(J)I
    .registers 3
    .line 1208
    new-instance p1, Ljava/lang/UnsupportedOperationException;
    invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;-><init>()V
    throw p1
.end method
.method public final matchField([C)Z
    .registers 5
    .line 1176
    :goto_0
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charArrayCompare([C)Z
    move-result v0
    if-nez v0, :cond_14
    .line 1177
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    invoke-static {v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->isWhitespace(C)Z
    move-result v0
    if-eqz v0, :cond_12
    .line 1178
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    goto :goto_0
    :cond_12
    const/4 p1, 0x0
    return p1
    .line 1187
    :cond_14
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    array-length p1, p1
    add-int/2addr v0, p1
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1188
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/16 v0, 0x7b
    const/4 v1, 0x1
    if-ne p1, v0, :cond_2d
    .line 1191
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    const/16 p1, 0xc
    .line 1192
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    goto :goto_72
    :cond_2d
    const/16 v0, 0x5b
    if-ne p1, v0, :cond_39
    .line 1194
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    const/16 p1, 0xe
    .line 1195
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    goto :goto_72
    :cond_39
    const/16 v2, 0x53
    if-ne p1, v2, :cond_6f
    .line 1196
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr p1, v1
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    const/16 v2, 0x65
    if-ne p1, v2, :cond_6f
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 p1, p1, 0x2
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    const/16 v2, 0x74
    if-ne p1, v2, :cond_6f
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 p1, p1, 0x3
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    if-ne p1, v0, :cond_6f
    .line 1197
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 p1, p1, 0x3
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1198
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/16 p1, 0x15
    .line 1199
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    goto :goto_72
    .line 1201
    :cond_6f
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->nextToken()V
    :goto_72
    return v1
.end method
.method public matchField2([C)Z
    .registers 2
    .line 5343
    new-instance p1, Ljava/lang/UnsupportedOperationException;
    invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;-><init>()V
    throw p1
.end method
.method public final matchStat()I
    .registers 2
    .line 89
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v0
.end method
.method public newCollectionByType(Ljava/lang/Class;)Ljava/util/Collection;
    .registers 4
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/Class<",
            "*>;)",
            "Ljava/util/Collection<",
            "Ljava/lang/String;",
            ">;"
        }
    .end annotation
    .line 1654
    const-class v0, Ljava/util/HashSet;
    invoke-virtual {p1, v0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
    move-result v0
    if-eqz v0, :cond_e
    .line 1655
    new-instance p1, Ljava/util/HashSet;
    invoke-direct {p1}, Ljava/util/HashSet;-><init>()V
    return-object p1
    .line 1656
    :cond_e
    const-class v0, Ljava/util/ArrayList;
    invoke-virtual {p1, v0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
    move-result v0
    if-eqz v0, :cond_1c
    .line 1657
    new-instance p1, Ljava/util/ArrayList;
    invoke-direct {p1}, Ljava/util/ArrayList;-><init>()V
    return-object p1
    .line 1658
    :cond_1c
    const-class v0, Ljava/util/LinkedList;
    invoke-virtual {p1, v0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
    move-result v0
    if-eqz v0, :cond_2a
    .line 1659
    new-instance p1, Ljava/util/LinkedList;
    invoke-direct {p1}, Ljava/util/LinkedList;-><init>()V
    return-object p1
    .line 1662
    :cond_2a
    :try_start_2a
    invoke-virtual {p1}, Ljava/lang/Class;->newInstance()Ljava/lang/Object;
    move-result-object p1
    check-cast p1, Ljava/util/Collection;
    :try_end_30
    .catch Ljava/lang/Exception; {:try_start_2a .. :try_end_30} :catch_31
    return-object p1
    :catch_31
    move-exception p1
    .line 1664
    new-instance v0, Lcom/alibaba/fastjson/JSONException;
    invoke-virtual {p1}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
    move-result-object v1
    invoke-direct {v0, v1, p1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
    throw v0
.end method
.method public abstract next()C
.end method
.method public final nextIdent()V
    .registers 3
    .line 369
    :goto_0
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    invoke-static {v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->isWhitespace(C)Z
    move-result v0
    if-eqz v0, :cond_c
    .line 370
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    goto :goto_0
    .line 372
    :cond_c
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/16 v1, 0x5f
    if-eq v0, v1, :cond_21
    const/16 v1, 0x24
    if-eq v0, v1, :cond_21
    invoke-static {v0}, Ljava/lang/Character;->isLetter(C)Z
    move-result v0
    if-eqz v0, :cond_1d
    goto :goto_21
    .line 375
    :cond_1d
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->nextToken()V
    goto :goto_24
    .line 373
    :cond_21
    :goto_21
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanIdent()V
    :goto_24
    return-void
.end method
.method public final nextToken()V
    .registers 4
    const/4 v0, 0x0
    .line 101
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    .line 104
    :goto_3
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    iput v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->pos:I
    .line 106
    iget-char v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/16 v2, 0x2f
    if-ne v1, v2, :cond_11
    .line 107
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->skipComment()V
    goto :goto_3
    :cond_11
    const/16 v2, 0x22
    if-ne v1, v2, :cond_19
    .line 112
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanString()V
    return-void
    :cond_19
    const/16 v2, 0x2c
    if-ne v1, v2, :cond_25
    .line 117
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    const/16 v0, 0x10
    .line 118
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-void
    :cond_25
    const/16 v2, 0x30
    if-lt v1, v2, :cond_31
    const/16 v2, 0x39
    if-gt v1, v2, :cond_31
    .line 123
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanNumber()V
    return-void
    :cond_31
    const/16 v2, 0x2d
    if-ne v1, v2, :cond_39
    .line 128
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanNumber()V
    return-void
    :cond_39
    sparse-switch v1, :sswitch_data_f8
    .line 206
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->isEOF()Z
    move-result v1
    if-eqz v1, :cond_d6
    .line 207
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    const/16 v1, 0x14
    if-eq v0, v1, :cond_ce
    .line 211
    iput v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 212
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->pos:I
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->eofPos:I
    goto/16 :goto_f2
    .line 183
    :sswitch_52
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    const/16 v0, 0xd
    .line 184
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-void
    .line 179
    :sswitch_5a
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    const/16 v0, 0xc
    .line 180
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-void
    .line 203
    :sswitch_62
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanHex()V
    return-void
    .line 148
    :sswitch_66
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanTrue()V
    return-void
    .line 154
    :sswitch_6a
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanNullOrNew()V
    return-void
    .line 151
    :sswitch_6e
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanFalse()V
    return-void
    .line 175
    :sswitch_72
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    const/16 v0, 0xf
    .line 176
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-void
    .line 171
    :sswitch_7a
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    const/16 v0, 0xe
    .line 172
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-void
    .line 160
    :sswitch_82
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanIdent()V
    return-void
    .line 191
    :sswitch_86
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    const/16 v0, 0x18
    .line 192
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-void
    .line 187
    :sswitch_8e
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    const/16 v0, 0x11
    .line 188
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-void
    .line 195
    :sswitch_96
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    const/16 v0, 0x19
    .line 196
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-void
    .line 199
    :sswitch_9e
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    .line 200
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanNumber()V
    return-void
    .line 167
    :sswitch_a5
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    const/16 v0, 0xb
    .line 168
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-void
    .line 163
    :sswitch_ad
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    const/16 v0, 0xa
    .line 164
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-void
    .line 134
    :sswitch_b5
    sget-object v0, Lcom/alibaba/fastjson/parser/Feature;->AllowSingleQuotes:Lcom/alibaba/fastjson/parser/Feature;
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->isEnabled(Lcom/alibaba/fastjson/parser/Feature;)Z
    move-result v0
    if-eqz v0, :cond_c1
    .line 137
    invoke-direct {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanStringSingleQuote()V
    return-void
    .line 135
    :cond_c1
    new-instance v0, Lcom/alibaba/fastjson/JSONException;
    const-string v1, "Feature.AllowSingleQuotes is false"
    invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v0
    .line 145
    :sswitch_c9
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    goto/16 :goto_3
    .line 208
    :cond_ce
    new-instance v0, Lcom/alibaba/fastjson/JSONException;
    const-string v1, "EOF error"
    invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v0
    .line 214
    :cond_d6
    iget-char v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/16 v2, 0x1f
    if-le v1, v2, :cond_f3
    const/16 v2, 0x7f
    if-ne v1, v2, :cond_e1
    goto :goto_f3
    :cond_e1
    const/4 v2, 0x1
    new-array v2, v2, [Ljava/lang/Object;
    .line 219
    invoke-static {v1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
    move-result-object v1
    aput-object v1, v2, v0
    const-string v0, "illegal.char"
    invoke-virtual {p0, v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->lexError(Ljava/lang/String;[Ljava/lang/Object;)V
    .line 220
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    :goto_f2
    return-void
    .line 215
    :cond_f3
    :goto_f3
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    goto/16 :goto_3
    :sswitch_data_f8
    .sparse-switch
        0x8 -> :sswitch_c9
        0x9 -> :sswitch_c9
        0xa -> :sswitch_c9
        0xc -> :sswitch_c9
        0xd -> :sswitch_c9
        0x20 -> :sswitch_c9
        0x27 -> :sswitch_b5
        0x28 -> :sswitch_ad
        0x29 -> :sswitch_a5
        0x2b -> :sswitch_9e
        0x2e -> :sswitch_96
        0x3a -> :sswitch_8e
        0x3b -> :sswitch_86
        0x4e -> :sswitch_82
        0x53 -> :sswitch_82
        0x54 -> :sswitch_82
        0x5b -> :sswitch_7a
        0x5d -> :sswitch_72
        0x66 -> :sswitch_6e
        0x6e -> :sswitch_6a
        0x74 -> :sswitch_66
        0x75 -> :sswitch_82
        0x78 -> :sswitch_62
        0x7b -> :sswitch_5a
        0x7d -> :sswitch_52
    .end sparse-switch
.end method
.method public final nextToken(I)V
    .registers 12
    const/4 v0, 0x0
    .line 230
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    :goto_3
    const/4 v1, 0x2
    const/16 v2, 0xd
    const/16 v3, 0x39
    const/16 v4, 0x22
    const/16 v5, 0x30
    const/16 v6, 0xe
    const/16 v7, 0x5b
    const/16 v8, 0x7b
    const/16 v9, 0xc
    if-eq p1, v1, :cond_bc
    const/4 v1, 0x4
    if-eq p1, v1, :cond_94
    if-eq p1, v9, :cond_82
    const/16 v1, 0x12
    if-eq p1, v1, :cond_7e
    const/16 v1, 0x1a
    const/16 v3, 0x14
    if-eq p1, v3, :cond_77
    const/16 v4, 0xf
    const/16 v5, 0x5d
    packed-switch p1, :pswitch_data_104
    goto/16 :goto_e4
    .line 247
    :pswitch_2e
    iget-char v6, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/16 v7, 0x2c
    if-ne v6, v7, :cond_3c
    const/16 p1, 0x10
    .line 248
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 249
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    return-void
    :cond_3c
    const/16 v7, 0x7d
    if-ne v6, v7, :cond_46
    .line 254
    iput v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 255
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    return-void
    :cond_46
    if-ne v6, v5, :cond_4e
    .line 260
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 261
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    return-void
    :cond_4e
    if-ne v6, v1, :cond_53
    .line 266
    iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-void
    :cond_53
    const/16 v1, 0x6e
    if-ne v6, v1, :cond_e4
    .line 271
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanNullOrNew(Z)V
    return-void
    .line 340
    :pswitch_5b
    iget-char v6, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    if-ne v6, v5, :cond_77
    .line 341
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 342
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    return-void
    .line 327
    :pswitch_65
    iget-char v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    if-ne v1, v7, :cond_6f
    .line 328
    iput v6, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 329
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    return-void
    :cond_6f
    if-ne v1, v8, :cond_e4
    .line 334
    iput v9, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 335
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    return-void
    .line 346
    :cond_77
    iget-char v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    if-ne v4, v1, :cond_e4
    .line 347
    iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-void
    .line 352
    :cond_7e
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->nextIdent()V
    return-void
    .line 235
    :cond_82
    iget-char v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    if-ne v1, v8, :cond_8c
    .line 236
    iput v9, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 237
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    return-void
    :cond_8c
    if-ne v1, v7, :cond_e4
    .line 241
    iput v6, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 242
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    return-void
    .line 302
    :cond_94
    iget-char v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    if-ne v1, v4, :cond_a0
    .line 303
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->pos:I
    .line 304
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanString()V
    return-void
    :cond_a0
    if-lt v1, v5, :cond_ac
    if-gt v1, v3, :cond_ac
    .line 309
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->pos:I
    .line 310
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanNumber()V
    return-void
    :cond_ac
    if-ne v1, v7, :cond_b4
    .line 315
    iput v6, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 316
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    return-void
    :cond_b4
    if-ne v1, v8, :cond_e4
    .line 321
    iput v9, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 322
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    return-void
    .line 276
    :cond_bc
    iget-char v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    if-lt v1, v5, :cond_ca
    if-gt v1, v3, :cond_ca
    .line 277
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->pos:I
    .line 278
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanNumber()V
    return-void
    :cond_ca
    if-ne v1, v4, :cond_d4
    .line 283
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->pos:I
    .line 284
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanString()V
    return-void
    :cond_d4
    if-ne v1, v7, :cond_dc
    .line 289
    iput v6, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 290
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    return-void
    :cond_dc
    if-ne v1, v8, :cond_e4
    .line 295
    iput v9, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 296
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    return-void
    .line 358
    :cond_e4
    :goto_e4
    iget-char v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/16 v3, 0x20
    if-eq v1, v3, :cond_ff
    const/16 v3, 0xa
    if-eq v1, v3, :cond_ff
    if-eq v1, v2, :cond_ff
    const/16 v2, 0x9
    if-eq v1, v2, :cond_ff
    if-eq v1, v9, :cond_ff
    const/16 v2, 0x8
    if-ne v1, v2, :cond_fb
    goto :goto_ff
    .line 363
    :cond_fb
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->nextToken()V
    return-void
    .line 359
    :cond_ff
    :goto_ff
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    goto/16 :goto_3
    :pswitch_data_104
    .packed-switch 0xe
        :pswitch_65
        :pswitch_5b
        :pswitch_2e
    .end packed-switch
.end method
.method public final nextTokenWithChar(C)V
    .registers 5
    const/4 v0, 0x0
    .line 384
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    .line 387
    :goto_3
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    if-ne v0, p1, :cond_e
    .line 388
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    .line 389
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->nextToken()V
    return-void
    :cond_e
    const/16 v1, 0x20
    if-eq v0, v1, :cond_54
    const/16 v1, 0xa
    if-eq v0, v1, :cond_54
    const/16 v1, 0xd
    if-eq v0, v1, :cond_54
    const/16 v1, 0x9
    if-eq v0, v1, :cond_54
    const/16 v1, 0xc
    if-eq v0, v1, :cond_54
    const/16 v1, 0x8
    if-ne v0, v1, :cond_27
    goto :goto_54
    .line 398
    :cond_27
    new-instance v0, Lcom/alibaba/fastjson/JSONException;
    new-instance v1, Ljava/lang/StringBuilder;
    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
    const-string v2, "not match "
    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
    const-string p1, " - "
    invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    iget-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
    const-string p1, ", info : "
    invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->info()Ljava/lang/String;
    move-result-object p1
    invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
    move-result-object p1
    invoke-direct {v0, p1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v0
    .line 394
    :cond_54
    :goto_54
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    goto :goto_3
.end method
.method public final nextTokenWithColon()V
    .registers 2
    const/16 v0, 0x3a
    .line 380
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->nextTokenWithChar(C)V
    return-void
.end method
.method public final nextTokenWithColon(I)V
    .registers 2
    const/16 p1, 0x3a
    .line 508
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->nextTokenWithChar(C)V
    return-void
.end method
.method public abstract numberString()Ljava/lang/String;
.end method
.method public final pos()I
    .registers 2
    .line 411
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->pos:I
    return v0
.end method
.method protected final putChar(C)V
    .registers 6
    .line 5091
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    iget-object v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
    array-length v2, v1
    if-lt v0, v2, :cond_17
    .line 5092
    array-length v2, v1
    mul-int/lit8 v2, v2, 0x2
    if-ge v2, v0, :cond_e
    add-int/lit8 v2, v0, 0x1
    .line 5096
    :cond_e
    new-array v0, v2, [C
    .line 5097
    array-length v2, v1
    const/4 v3, 0x0
    invoke-static {v1, v3, v0, v3, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
    .line 5098
    iput-object v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
    .line 5100
    :cond_17
    iget-object v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    add-int/lit8 v2, v1, 0x1
    iput v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    aput-char p1, v0, v1
    return-void
.end method
.method public final resetStringPosition()V
    .registers 2
    const/4 v0, 0x0
    .line 817
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    return-void
.end method
.method public scanBoolean(C)Z
    .registers 11
    const/4 v0, 0x0
    .line 2097
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 2100
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v0
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    const/4 v2, 0x3
    const/4 v3, 0x5
    const/16 v4, 0x65
    const/4 v5, -0x1
    const/4 v6, 0x2
    const/4 v7, 0x1
    const/16 v8, 0x74
    if-ne v1, v8, :cond_42
    .line 2104
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v7
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    const/16 v8, 0x72
    if-ne v1, v8, :cond_3f
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v7
    add-int/2addr v1, v7
    .line 2105
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    const/16 v8, 0x75
    if-ne v1, v8, :cond_3f
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v7
    add-int/2addr v1, v6
    .line 2106
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    if-ne v1, v4, :cond_3f
    .line 2108
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v0, v0, 0x4
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    goto :goto_8b
    .line 2111
    :cond_3f
    iput v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v0
    :cond_42
    const/16 v8, 0x66
    if-ne v1, v8, :cond_7f
    .line 2115
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v7
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    const/16 v8, 0x61
    if-ne v1, v8, :cond_7c
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v7
    add-int/2addr v1, v7
    .line 2116
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    const/16 v8, 0x6c
    if-ne v1, v8, :cond_7c
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v7
    add-int/2addr v1, v6
    .line 2117
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    const/16 v6, 0x73
    if-ne v1, v6, :cond_7c
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v7
    add-int/2addr v1, v2
    .line 2118
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    if-ne v1, v4, :cond_7c
    .line 2120
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    const/4 v4, 0x6
    add-int/2addr v1, v3
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    goto :goto_ba
    .line 2123
    :cond_7c
    iput v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v0
    :cond_7f
    const/16 v3, 0x31
    if-ne v1, v3, :cond_8d
    .line 2127
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v0, v7
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    move v3, v6
    :goto_8b
    move v0, v7
    goto :goto_9b
    :cond_8d
    const/16 v3, 0x30
    if-ne v1, v3, :cond_9a
    .line 2130
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v7
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    move v3, v6
    goto :goto_9b
    :cond_9a
    move v3, v7
    :goto_9b
    if-ne v1, p1, :cond_ab
    .line 2136
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr p1, v3
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 2137
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 2138
    iput v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v0
    .line 2141
    :cond_ab
    invoke-static {v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->isWhitespace(C)Z
    move-result v1
    if-eqz v1, :cond_bc
    .line 2142
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v4, v3, 0x1
    add-int/2addr v1, v3
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    :goto_ba
    move v3, v4
    goto :goto_9b
    .line 2145
    :cond_bc
    iput v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v0
.end method
.method public scanDate(C)Ljava/util/Date;
    .registers 19
    move-object/from16 v1, p0
    const/4 v0, 0x0
    .line 4089
    iput v0, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 4092
    iget v2, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v0
    invoke-virtual {v1, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    const/4 v3, 0x4
    const/4 v4, 0x5
    const/16 v5, 0x22
    const/4 v6, 0x0
    const/4 v7, -0x1
    const/4 v8, 0x1
    if-ne v2, v5, :cond_94
    .line 4096
    iget v2, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v8
    .line 4097
    invoke-virtual {v1, v5, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->indexOf(CI)I
    move-result v2
    if-eq v2, v7, :cond_8c
    .line 4102
    iget v4, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v4, v8
    sub-int v9, v2, v4
    .line 4103
    invoke-virtual {v1, v4, v9}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->subString(II)Ljava/lang/String;
    move-result-object v4
    const/16 v9, 0x5c
    .line 4104
    invoke-virtual {v4, v9}, Ljava/lang/String;->indexOf(I)I
    move-result v10
    if-eq v10, v7, :cond_5a
    :goto_2f
    add-int/lit8 v4, v2, -0x1
    move v10, v0
    :goto_32
    if-ltz v4, :cond_3f
    .line 4108
    invoke-virtual {v1, v4}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v11
    if-ne v11, v9, :cond_3f
    add-int/lit8 v10, v10, 0x1
    add-int/lit8 v4, v4, -0x1
    goto :goto_32
    .line 4114
    :cond_3f
    rem-int/lit8 v10, v10, 0x2
    if-nez v10, :cond_53
    .line 4120
    iget v4, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v5, v4, 0x1
    sub-int v5, v2, v5
    add-int/2addr v4, v8
    .line 4121
    invoke-virtual {v1, v4, v5}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sub_chars(II)[C
    move-result-object v4
    .line 4123
    invoke-static {v4, v5}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->readString([CI)Ljava/lang/String;
    move-result-object v4
    goto :goto_5a
    :cond_53
    add-int/lit8 v2, v2, 0x1
    .line 4117
    invoke-virtual {v1, v5, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->indexOf(CI)I
    move-result v2
    goto :goto_2f
    .line 4126
    :cond_5a
    :goto_5a
    iget v5, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v9, v5, 0x1
    sub-int/2addr v2, v9
    add-int/2addr v2, v8
    add-int/2addr v2, v8
    add-int/lit8 v9, v2, 0x1
    add-int/2addr v5, v2
    .line 4127
    invoke-virtual {v1, v5}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    .line 4129
    new-instance v5, Lcom/alibaba/fastjson/parser/JSONScanner;
    invoke-direct {v5, v4}, Lcom/alibaba/fastjson/parser/JSONScanner;-><init>(Ljava/lang/String;)V
    .line 4131
    :try_start_6d
    invoke-virtual {v5, v0}, Lcom/alibaba/fastjson/parser/JSONScanner;->scanISO8601DateIfMatch(Z)Z
    move-result v0
    if-eqz v0, :cond_81
    .line 4132
    invoke-virtual {v5}, Lcom/alibaba/fastjson/parser/JSONScanner;->getCalendar()Ljava/util/Calendar;
    move-result-object v0
    .line 4133
    invoke-virtual {v0}, Ljava/util/Calendar;->getTime()Ljava/util/Date;
    move-result-object v0
    :try_end_7b
    .catchall {:try_start_6d .. :try_end_7b} :catchall_87
    .line 4139
    invoke-virtual {v5}, Lcom/alibaba/fastjson/parser/JSONScanner;->close()V
    move v4, v9
    goto/16 :goto_114
    .line 4135
    :cond_81
    :try_start_81
    iput v7, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    :try_end_83
    .catchall {:try_start_81 .. :try_end_83} :catchall_87
    .line 4139
    invoke-virtual {v5}, Lcom/alibaba/fastjson/parser/JSONScanner;->close()V
    return-object v6
    :catchall_87
    move-exception v0
    invoke-virtual {v5}, Lcom/alibaba/fastjson/parser/JSONScanner;->close()V
    .line 4140
    throw v0
    .line 4099
    :cond_8c
    new-instance v0, Lcom/alibaba/fastjson/JSONException;
    const-string v2, "unclosed str"
    invoke-direct {v0, v2}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v0
    :cond_94
    const/16 v5, 0x2d
    const/16 v9, 0x39
    const/4 v10, 0x2
    const/16 v11, 0x30
    if-eq v2, v5, :cond_d5
    if-lt v2, v11, :cond_a2
    if-gt v2, v9, :cond_a2
    goto :goto_d5
    :cond_a2
    const/16 v0, 0x6e
    if-ne v2, v0, :cond_d2
    .line 4172
    iget v0, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v0, v8
    .line 4173
    invoke-virtual {v1, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    const/16 v2, 0x75
    if-ne v0, v2, :cond_d2
    iget v0, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v0, v8
    add-int/2addr v0, v8
    .line 4174
    invoke-virtual {v1, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    const/16 v2, 0x6c
    if-ne v0, v2, :cond_d2
    iget v0, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v0, v8
    add-int/2addr v0, v10
    .line 4175
    invoke-virtual {v1, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    if-ne v0, v2, :cond_d2
    .line 4176
    iput v4, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 4179
    iget v0, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v0, v3
    invoke-virtual {v1, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    move-object v0, v6
    goto :goto_114
    .line 4181
    :cond_d2
    iput v7, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v6
    :cond_d5
    :goto_d5
    if-ne v2, v5, :cond_e0
    .line 4146
    iget v0, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v0, v8
    invoke-virtual {v1, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    move v0, v8
    goto :goto_e1
    :cond_e0
    move v10, v8
    :goto_e1
    const-wide/16 v4, 0x0
    if-lt v2, v11, :cond_102
    if-gt v2, v9, :cond_102
    add-int/lit8 v2, v2, -0x30
    int-to-long v12, v2
    .line 4153
    :goto_ea
    iget v2, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v14, v10, 0x1
    add-int/2addr v2, v10
    invoke-virtual {v1, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    if-lt v2, v11, :cond_104
    if-gt v2, v9, :cond_104
    const-wide/16 v15, 0xa
    mul-long/2addr v12, v15
    add-int/lit8 v2, v2, -0x30
    int-to-long v9, v2
    add-long/2addr v12, v9
    move v10, v14
    const/16 v9, 0x39
    goto :goto_ea
    :cond_102
    move-wide v12, v4
    move v14, v10
    :cond_104
    cmp-long v4, v12, v4
    if-gez v4, :cond_10b
    .line 4163
    iput v7, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v6
    :cond_10b
    if-eqz v0, :cond_10e
    neg-long v12, v12
    .line 4171
    :cond_10e
    new-instance v0, Ljava/util/Date;
    invoke-direct {v0, v12, v13}, Ljava/util/Date;-><init>(J)V
    move v4, v14
    :goto_114
    const/16 v5, 0x10
    const/16 v9, 0x2c
    if-ne v2, v9, :cond_12b
    .line 4186
    iget v2, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v4
    iput v2, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 4187
    invoke-virtual {v1, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/4 v2, 0x3
    .line 4188
    iput v2, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 4189
    iput v5, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-object v0
    :cond_12b
    const/16 v10, 0x5d
    if-ne v2, v10, :cond_184
    .line 4194
    iget v2, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v11, v4, 0x1
    add-int/2addr v2, v4
    invoke-virtual {v1, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    if-ne v2, v9, :cond_148
    .line 4196
    iput v5, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 4197
    iget v2, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v11
    iput v2, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 4198
    invoke-virtual {v1, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_17e
    :cond_148
    if-ne v2, v10, :cond_15a
    const/16 v2, 0xf
    .line 4200
    iput v2, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 4201
    iget v2, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v11
    iput v2, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 4202
    invoke-virtual {v1, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_17e
    :cond_15a
    const/16 v4, 0x7d
    if-ne v2, v4, :cond_16e
    const/16 v2, 0xd
    .line 4204
    iput v2, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 4205
    iget v2, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v11
    iput v2, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 4206
    invoke-virtual {v1, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_17e
    :cond_16e
    const/16 v4, 0x1a
    if-ne v2, v4, :cond_181
    const/16 v2, 0x14
    .line 4208
    iput v2, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 4209
    iget v2, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    sub-int/2addr v11, v8
    add-int/2addr v2, v11
    iput v2, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 4210
    iput-char v4, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 4215
    :goto_17e
    iput v3, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v0
    .line 4212
    :cond_181
    iput v7, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v6
    .line 4217
    :cond_184
    iput v7, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v6
.end method
.method public scanDecimal(C)Ljava/math/BigDecimal;
    .registers 20
    move-object/from16 v0, p0
    const/4 v1, 0x0
    .line 2974
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 2977
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v1
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    const/16 v3, 0x22
    const/4 v4, 0x1
    if-ne v2, v3, :cond_13
    move v5, v4
    goto :goto_14
    :cond_13
    move v5, v1
    :goto_14
    const/4 v6, 0x2
    if-eqz v5, :cond_20
    .line 2980
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v4
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    move v7, v6
    goto :goto_21
    :cond_20
    move v7, v4
    :goto_21
    const/16 v8, 0x2d
    if-ne v2, v8, :cond_27
    move v9, v4
    goto :goto_28
    :cond_27
    move v9, v1
    :goto_28
    if-eqz v9, :cond_34
    .line 2985
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v9, v7, 0x1
    add-int/2addr v2, v7
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    move v7, v9
    :cond_34
    const/4 v11, 0x3
    const/16 v12, 0x10
    const/16 v13, 0x2c
    const/16 v14, 0x30
    const/4 v15, -0x1
    const/16 v16, 0x0
    if-lt v2, v14, :cond_166
    const/16 v9, 0x39
    if-gt v2, v9, :cond_166
    .line 2991
    :goto_44
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v17, v7, 0x1
    add-int/2addr v2, v7
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    if-lt v2, v14, :cond_54
    if-gt v2, v9, :cond_54
    move/from16 v7, v17
    goto :goto_44
    :cond_54
    const/16 v7, 0x2e
    if-ne v2, v7, :cond_5a
    move v7, v4
    goto :goto_5b
    :cond_5a
    move v7, v1
    :goto_5b
    if-eqz v7, :cond_7e
    .line 3001
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v7, v17, 0x1
    add-int v2, v2, v17
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    if-lt v2, v14, :cond_7b
    if-gt v2, v9, :cond_7b
    .line 3004
    :goto_6b
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v17, v7, 0x1
    add-int/2addr v2, v7
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    if-lt v2, v14, :cond_7e
    if-gt v2, v9, :cond_7e
    move/from16 v7, v17
    goto :goto_6b
    .line 3012
    :cond_7b
    iput v15, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v16
    :cond_7e
    const/16 v7, 0x65
    if-eq v2, v7, :cond_89
    const/16 v7, 0x45
    if-ne v2, v7, :cond_87
    goto :goto_89
    :cond_87
    move v7, v1
    goto :goto_8a
    :cond_89
    :goto_89
    move v7, v4
    :goto_8a
    if-eqz v7, :cond_ba
    .line 3019
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v7, v17, 0x1
    add-int v2, v2, v17
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    const/16 v10, 0x2b
    if-eq v2, v10, :cond_a0
    if-ne v2, v8, :cond_9d
    goto :goto_a0
    :cond_9d
    :goto_9d
    move/from16 v17, v7
    goto :goto_ab
    .line 3021
    :cond_a0
    :goto_a0
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v8, v7, 0x1
    add-int/2addr v2, v7
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    move/from16 v17, v8
    :goto_ab
    if-lt v2, v14, :cond_ba
    if-gt v2, v9, :cond_ba
    .line 3025
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v7, v17, 0x1
    add-int v2, v2, v17
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    goto :goto_9d
    :cond_ba
    if-eqz v5, :cond_d5
    if-eq v2, v3, :cond_c1
    .line 3035
    iput v15, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v16
    .line 3038
    :cond_c1
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, v17, 0x1
    add-int v2, v2, v17
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    .line 3040
    iget v5, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v7, v5, 0x1
    add-int/2addr v5, v3
    sub-int/2addr v5, v7
    sub-int/2addr v5, v6
    move/from16 v17, v3
    goto :goto_dc
    .line 3043
    :cond_d5
    iget v7, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int v3, v7, v17
    sub-int/2addr v3, v7
    add-int/lit8 v5, v3, -0x1
    :goto_dc
    const v3, 0xffff
    if-gt v5, v3, :cond_15e
    .line 3050
    invoke-virtual {v0, v7, v5}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sub_chars(II)[C
    move-result-object v3
    .line 3051
    new-instance v5, Ljava/math/BigDecimal;
    array-length v6, v3
    sget-object v7, Ljava/math/MathContext;->UNLIMITED:Ljava/math/MathContext;
    invoke-direct {v5, v3, v1, v6, v7}, Ljava/math/BigDecimal;-><init>([CIILjava/math/MathContext;)V
    if-ne v2, v13, :cond_100
    .line 3089
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int v1, v1, v17
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3090
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    iput-char v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 3091
    iput v11, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 3092
    iput v12, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-object v5
    :cond_100
    const/16 v1, 0x5d
    if-ne v2, v1, :cond_15b
    .line 3097
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, v17, 0x1
    add-int v2, v2, v17
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    if-ne v2, v13, :cond_11e
    .line 3099
    iput v12, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 3100
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v3
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3101
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    iput-char v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_154
    :cond_11e
    if-ne v2, v1, :cond_130
    const/16 v1, 0xf
    .line 3103
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 3104
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v3
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3105
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    iput-char v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_154
    :cond_130
    const/16 v1, 0x7d
    if-ne v2, v1, :cond_144
    const/16 v1, 0xd
    .line 3107
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 3108
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v3
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3109
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    iput-char v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_154
    :cond_144
    const/16 v1, 0x1a
    if-ne v2, v1, :cond_158
    const/16 v2, 0x14
    .line 3111
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 3112
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    sub-int/2addr v3, v4
    add-int/2addr v2, v3
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3113
    iput-char v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    :goto_154
    const/4 v1, 0x4
    .line 3118
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v5
    .line 3115
    :cond_158
    iput v15, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v16
    .line 3120
    :cond_15b
    iput v15, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v16
    .line 3048
    :cond_15e
    new-instance v1, Lcom/alibaba/fastjson/JSONException;
    const-string v2, "decimal overflow"
    invoke-direct {v1, v2}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v1
    :cond_166
    const/16 v1, 0x6e
    if-ne v2, v1, :cond_1e4
    .line 3052
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v7
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    const/16 v2, 0x75
    if-ne v1, v2, :cond_1e4
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v7
    add-int/2addr v1, v4
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    const/16 v2, 0x6c
    if-ne v1, v2, :cond_1e4
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v7
    add-int/2addr v1, v6
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    if-ne v1, v2, :cond_1e4
    const/4 v1, 0x5
    .line 3053
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    add-int/2addr v7, v11
    .line 3056
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v4, v7, 0x1
    add-int/2addr v2, v7
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    if-eqz v5, :cond_1a6
    if-ne v2, v3, :cond_1a6
    .line 3059
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, v4, 0x1
    add-int/2addr v2, v4
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    move v4, v3
    :cond_1a6
    :goto_1a6
    if-ne v2, v13, :cond_1b8
    .line 3064
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v4
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3065
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 3066
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 3067
    iput v12, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-object v16
    :cond_1b8
    const/16 v3, 0x7d
    if-ne v2, v3, :cond_1ce
    .line 3070
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v4
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3071
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 3072
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    const/16 v5, 0xd
    .line 3073
    iput v5, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-object v16
    :cond_1ce
    const/16 v5, 0xd
    .line 3075
    invoke-static {v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->isWhitespace(C)Z
    move-result v2
    if-eqz v2, :cond_1e1
    .line 3076
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v6, v4, 0x1
    add-int/2addr v2, v4
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    move v4, v6
    goto :goto_1a6
    .line 3081
    :cond_1e1
    iput v15, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v16
    .line 3084
    :cond_1e4
    iput v15, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v16
.end method
.method public scanDouble(C)D
    .registers 22
    move-object/from16 v0, p0
    const/4 v1, 0x0
    .line 2836
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 2839
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v1
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    const/16 v3, 0x22
    const/4 v4, 0x1
    if-ne v2, v3, :cond_13
    move v5, v4
    goto :goto_14
    :cond_13
    move v5, v1
    :goto_14
    if-eqz v5, :cond_1f
    .line 2842
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v4
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    const/4 v7, 0x2
    goto :goto_20
    :cond_1f
    move v7, v4
    :goto_20
    const/16 v8, 0x2d
    if-ne v2, v8, :cond_26
    move v9, v4
    goto :goto_27
    :cond_26
    move v9, v1
    :goto_27
    if-eqz v9, :cond_33
    .line 2847
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v10, v7, 0x1
    add-int/2addr v2, v7
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    move v7, v10
    :cond_33
    const-wide/16 v12, 0x0
    const/4 v14, -0x1
    const/16 v15, 0x30
    if-lt v2, v15, :cond_12b
    const/16 v1, 0x39
    if-gt v2, v1, :cond_12b
    sub-int/2addr v2, v15
    int-to-long v10, v2
    .line 2854
    :goto_40
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v17, v7, 0x1
    add-int/2addr v2, v7
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    const-wide/16 v18, 0xa
    if-lt v2, v15, :cond_58
    if-gt v2, v1, :cond_58
    mul-long v10, v10, v18
    add-int/lit8 v2, v2, -0x30
    int-to-long v6, v2
    add-long/2addr v10, v6
    move/from16 v7, v17
    goto :goto_40
    :cond_58
    const/16 v6, 0x2e
    if-ne v2, v6, :cond_5e
    move v6, v4
    goto :goto_5f
    :cond_5e
    const/4 v6, 0x0
    :goto_5f
    if-eqz v6, :cond_94
    .line 2866
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v6, v17, 0x1
    add-int v2, v2, v17
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    if-lt v2, v15, :cond_91
    if-gt v2, v1, :cond_91
    mul-long v10, v10, v18
    sub-int/2addr v2, v15
    int-to-long v3, v2
    add-long/2addr v10, v3
    move-wide/from16 v2, v18
    .line 2871
    :goto_76
    iget v4, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v17, v6, 0x1
    add-int/2addr v4, v6
    invoke-virtual {v0, v4}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v4
    if-lt v4, v15, :cond_8e
    if-gt v4, v1, :cond_8e
    mul-long v10, v10, v18
    add-int/lit8 v4, v4, -0x30
    int-to-long v6, v4
    add-long/2addr v10, v6
    mul-long v2, v2, v18
    move/from16 v6, v17
    goto :goto_76
    :cond_8e
    move-wide v6, v2
    move v2, v4
    goto :goto_96
    .line 2881
    :cond_91
    iput v14, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v12
    :cond_94
    const-wide/16 v6, 0x1
    :goto_96
    const/16 v3, 0x65
    if-eq v2, v3, :cond_a2
    const/16 v3, 0x45
    if-ne v2, v3, :cond_9f
    goto :goto_a2
    :cond_9f
    const/16 v16, 0x0
    goto :goto_a4
    :cond_a2
    :goto_a2
    const/16 v16, 0x1
    :goto_a4
    if-eqz v16, :cond_d4
    .line 2888
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, v17, 0x1
    add-int v2, v2, v17
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    const/16 v4, 0x2b
    if-eq v2, v4, :cond_ba
    if-ne v2, v8, :cond_b7
    goto :goto_ba
    :cond_b7
    :goto_b7
    move/from16 v17, v3
    goto :goto_c5
    .line 2890
    :cond_ba
    :goto_ba
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v4, v3, 0x1
    add-int/2addr v2, v3
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    move/from16 v17, v4
    :goto_c5
    if-lt v2, v15, :cond_d4
    if-gt v2, v1, :cond_d4
    .line 2894
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, v17, 0x1
    add-int v2, v2, v17
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    goto :goto_b7
    :cond_d4
    if-eqz v5, :cond_f3
    const/16 v1, 0x22
    if-eq v2, v1, :cond_dd
    .line 2904
    iput v14, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v12
    .line 2907
    :cond_dd
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v2, v17, 0x1
    add-int v1, v1, v17
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    .line 2909
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v4, v3, 0x1
    add-int/2addr v3, v2
    sub-int/2addr v3, v4
    const/4 v5, 0x2
    sub-int/2addr v3, v5
    move/from16 v17, v2
    move v2, v1
    goto :goto_fb
    .line 2912
    :cond_f3
    iget v4, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int v1, v4, v17
    sub-int/2addr v1, v4
    const/4 v3, 0x1
    add-int/lit8 v3, v1, -0x1
    :goto_fb
    if-nez v16, :cond_108
    const/16 v1, 0x11
    if-ge v3, v1, :cond_108
    long-to-double v3, v10
    long-to-double v5, v6
    div-double/2addr v3, v5
    if-eqz v9, :cond_110
    neg-double v3, v3
    goto :goto_110
    .line 2922
    :cond_108
    invoke-virtual {v0, v4, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->subString(II)Ljava/lang/String;
    move-result-object v1
    .line 2923
    invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
    move-result-wide v3
    :cond_110
    :goto_110
    move/from16 v1, p1
    if-ne v2, v1, :cond_128
    .line 2962
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int v1, v1, v17
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 2963
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    iput-char v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/4 v1, 0x3
    .line 2964
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    const/16 v1, 0x10
    .line 2965
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-wide v3
    .line 2968
    :cond_128
    iput v14, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v3
    :cond_12b
    const/16 v1, 0x6e
    if-ne v2, v1, :cond_1b2
    .line 2925
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v7
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    const/16 v2, 0x75
    if-ne v1, v2, :cond_1b2
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v7
    const/4 v2, 0x1
    add-int/2addr v1, v2
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    const/16 v2, 0x6c
    if-ne v1, v2, :cond_1b2
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v7
    const/4 v3, 0x2
    add-int/2addr v1, v3
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    if-ne v1, v2, :cond_1b2
    const/4 v1, 0x5
    .line 2926
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    const/4 v2, 0x3
    add-int/2addr v7, v2
    .line 2929
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, v7, 0x1
    add-int/2addr v2, v7
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    if-eqz v5, :cond_170
    const/16 v4, 0x22
    if-ne v2, v4, :cond_170
    .line 2932
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v4, v3, 0x1
    add-int/2addr v2, v3
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    move v3, v4
    :cond_170
    :goto_170
    const/16 v4, 0x2c
    if-ne v2, v4, :cond_186
    .line 2937
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v3
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 2938
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 2939
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    const/16 v4, 0x10
    .line 2940
    iput v4, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-wide v12
    :cond_186
    const/16 v4, 0x10
    const/16 v5, 0x5d
    if-ne v2, v5, :cond_19e
    .line 2943
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v3
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 2944
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 2945
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    const/16 v1, 0xf
    .line 2946
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-wide v12
    .line 2948
    :cond_19e
    invoke-static {v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->isWhitespace(C)Z
    move-result v2
    if-eqz v2, :cond_1af
    .line 2949
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v5, v3, 0x1
    add-int/2addr v2, v3
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    move v3, v5
    goto :goto_170
    .line 2954
    :cond_1af
    iput v14, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v12
    .line 2957
    :cond_1b2
    iput v14, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v12
.end method
.method public scanEnum(Ljava/lang/Class;Lcom/alibaba/fastjson/parser/SymbolTable;C)Ljava/lang/Enum;
    .registers 4
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/Class<",
            "*>;",
            "Lcom/alibaba/fastjson/parser/SymbolTable;",
            "C)",
            "Ljava/lang/Enum<",
            "*>;"
        }
    .end annotation
    .line 1574
    invoke-virtual {p0, p2, p3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanSymbolWithSeperator(Lcom/alibaba/fastjson/parser/SymbolTable;C)Ljava/lang/String;
    move-result-object p2
    if-nez p2, :cond_8
    const/4 p1, 0x0
    return-object p1
    .line 1578
    :cond_8
    invoke-static {p1, p2}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
    move-result-object p1
    return-object p1
.end method
.method public scanEnumSymbol([C)J
    .registers 12
    const/4 v0, 0x0
    .line 1502
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 1504
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charArrayCompare([C)Z
    move-result v0
    const-wide/16 v1, 0x0
    if-nez v0, :cond_f
    const/4 p1, -0x2
    .line 1505
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v1
    .line 1509
    :cond_f
    array-length p1, p1
    .line 1510
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, p1, 0x1
    add-int/2addr v0, p1
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    const/16 v0, 0x22
    const/4 v4, -0x1
    if-eq p1, v0, :cond_21
    .line 1513
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v1
    :cond_21
    const-wide v5, -0x340d631b7bdddcdbL    # -7.302176725335867E57
    .line 1519
    :goto_26
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v7, v3, 0x1
    add-int/2addr p1, v3
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    if-ne p1, v0, :cond_ad
    .line 1521
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v0, v7, 0x1
    add-int/2addr p1, v7
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    const/16 v3, 0x2c
    if-ne p1, v3, :cond_4d
    .line 1535
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr p1, v0
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1536
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/4 p1, 0x3
    .line 1537
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v5
    :cond_4d
    const/16 v7, 0x7d
    if-ne p1, v7, :cond_aa
    .line 1542
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v8, v0, 0x1
    add-int/2addr p1, v0
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    if-ne p1, v3, :cond_6c
    const/16 p1, 0x10
    .line 1544
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 1545
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr p1, v8
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1546
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_a3
    :cond_6c
    const/16 v0, 0x5d
    if-ne p1, v0, :cond_80
    const/16 p1, 0xf
    .line 1548
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 1549
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr p1, v8
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1550
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_a3
    :cond_80
    if-ne p1, v7, :cond_92
    const/16 p1, 0xd
    .line 1552
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 1553
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr p1, v8
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1554
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_a3
    :cond_92
    const/16 v0, 0x1a
    if-ne p1, v0, :cond_a7
    const/16 p1, 0x14
    .line 1556
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 1557
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v8, v8, -0x1
    add-int/2addr p1, v8
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1558
    iput-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    :goto_a3
    const/4 p1, 0x4
    .line 1563
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v5
    .line 1560
    :cond_a7
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v1
    .line 1565
    :cond_aa
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v1
    :cond_ad
    const/16 v3, 0x41
    if-lt p1, v3, :cond_b8
    const/16 v3, 0x5a
    if-gt p1, v3, :cond_b8
    add-int/lit8 v3, p1, 0x20
    goto :goto_b9
    :cond_b8
    move v3, p1
    :goto_b9
    int-to-long v8, v3
    xor-long/2addr v5, v8
    const-wide v8, 0x100000001b3L
    mul-long/2addr v5, v8
    const/16 v3, 0x5c
    if-ne p1, v3, :cond_c8
    .line 1529
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v1
    :cond_c8
    move v3, v7
    goto/16 :goto_26
.end method
.method public final scanFalse()V
    .registers 4
    .line 4743
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const-string v1, "error parse false"
    const/16 v2, 0x66
    if-ne v0, v2, :cond_86
    .line 4746
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    .line 4748
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/16 v2, 0x61
    if-ne v0, v2, :cond_80
    .line 4751
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    .line 4753
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/16 v2, 0x6c
    if-ne v0, v2, :cond_7a
    .line 4756
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    .line 4758
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/16 v2, 0x73
    if-ne v0, v2, :cond_74
    .line 4761
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    .line 4763
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/16 v2, 0x65
    if-ne v0, v2, :cond_6e
    .line 4766
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    .line 4768
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/16 v1, 0x20
    if-eq v0, v1, :cond_6a
    const/16 v1, 0x2c
    if-eq v0, v1, :cond_6a
    const/16 v1, 0x7d
    if-eq v0, v1, :cond_6a
    const/16 v1, 0x5d
    if-eq v0, v1, :cond_6a
    const/16 v1, 0xa
    if-eq v0, v1, :cond_6a
    const/16 v1, 0xd
    if-eq v0, v1, :cond_6a
    const/16 v1, 0x9
    if-eq v0, v1, :cond_6a
    const/16 v1, 0x1a
    if-eq v0, v1, :cond_6a
    const/16 v1, 0xc
    if-eq v0, v1, :cond_6a
    const/16 v1, 0x8
    if-eq v0, v1, :cond_6a
    const/16 v1, 0x3a
    if-eq v0, v1, :cond_6a
    const/16 v1, 0x2f
    if-ne v0, v1, :cond_62
    goto :goto_6a
    .line 4782
    :cond_62
    new-instance v0, Lcom/alibaba/fastjson/JSONException;
    const-string v1, "scan false error"
    invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v0
    :cond_6a
    :goto_6a
    const/4 v0, 0x7
    .line 4780
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-void
    .line 4764
    :cond_6e
    new-instance v0, Lcom/alibaba/fastjson/JSONException;
    invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v0
    .line 4759
    :cond_74
    new-instance v0, Lcom/alibaba/fastjson/JSONException;
    invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v0
    .line 4754
    :cond_7a
    new-instance v0, Lcom/alibaba/fastjson/JSONException;
    invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v0
    .line 4749
    :cond_80
    new-instance v0, Lcom/alibaba/fastjson/JSONException;
    invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v0
    .line 4744
    :cond_86
    new-instance v0, Lcom/alibaba/fastjson/JSONException;
    invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v0
.end method
.method public scanFieldBigInteger([C)Ljava/math/BigInteger;
    .registers 22
    move-object/from16 v0, p0
    move-object/from16 v1, p1
    const/4 v2, 0x0
    .line 3809
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 3811
    invoke-virtual/range {p0 .. p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charArrayCompare([C)Z
    move-result v3
    const/4 v4, 0x0
    if-nez v3, :cond_12
    const/4 v1, -0x2
    .line 3812
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v4
    .line 3816
    :cond_12
    array-length v3, v1
    .line 3817
    iget v5, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v6, v3, 0x1
    add-int/2addr v5, v3
    invoke-virtual {v0, v5}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    const/16 v5, 0x22
    const/4 v7, 0x1
    if-ne v3, v5, :cond_23
    move v8, v7
    goto :goto_24
    :cond_23
    move v8, v2
    :goto_24
    if-eqz v8, :cond_30
    .line 3820
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v9, v6, 0x1
    add-int/2addr v3, v6
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    move v6, v9
    :cond_30
    const/16 v9, 0x2d
    if-ne v3, v9, :cond_36
    move v9, v7
    goto :goto_37
    :cond_36
    move v9, v2
    :goto_37
    if-eqz v9, :cond_43
    .line 3825
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v10, v6, 0x1
    add-int/2addr v3, v6
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    move v6, v10
    :cond_43
    const/16 v14, 0x2c
    const/16 v15, 0x30
    const/4 v2, -0x1
    if-lt v3, v15, :cond_13e
    const/16 v10, 0x39
    if-gt v3, v10, :cond_13e
    sub-int/2addr v3, v15
    int-to-long v12, v3
    .line 3834
    :goto_50
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v17, v6, 0x1
    add-int/2addr v3, v6
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    if-lt v3, v15, :cond_73
    if-gt v3, v10, :cond_73
    const-wide/16 v18, 0xa
    mul-long v18, v18, v12
    add-int/lit8 v6, v3, -0x30
    int-to-long v10, v6
    add-long v10, v18, v10
    cmp-long v6, v10, v12
    if-gez v6, :cond_6d
    move/from16 v16, v7
    goto :goto_75
    :cond_6d
    move-wide v12, v10
    move/from16 v6, v17
    const/16 v10, 0x39
    goto :goto_50
    :cond_73
    const/16 v16, 0x0
    :goto_75
    if-eqz v8, :cond_92
    if-eq v3, v5, :cond_7c
    .line 3851
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v4
    .line 3854
    :cond_7c
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v5, v17, 0x1
    add-int v3, v3, v17
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    .line 3856
    iget v6, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    array-length v1, v1
    add-int/2addr v1, v6
    add-int/2addr v1, v7
    add-int/2addr v6, v5
    sub-int/2addr v6, v1
    add-int/lit8 v6, v6, -0x2
    move/from16 v17, v5
    goto :goto_9b
    .line 3859
    :cond_92
    iget v5, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    array-length v1, v1
    add-int/2addr v1, v5
    add-int v5, v5, v17
    sub-int/2addr v5, v1
    add-int/lit8 v6, v5, -0x1
    :goto_9b
    const/16 v5, 0x14
    if-nez v16, :cond_af
    if-lt v6, v5, :cond_a7
    if-eqz v9, :cond_af
    const/16 v8, 0x15
    if-ge v6, v8, :cond_af
    :cond_a7
    if-eqz v9, :cond_aa
    neg-long v12, v12
    .line 3864
    :cond_aa
    invoke-static {v12, v13}, Ljava/math/BigInteger;->valueOf(J)Ljava/math/BigInteger;
    move-result-object v1
    goto :goto_c0
    :cond_af
    const v8, 0xffff
    if-gt v6, v8, :cond_136
    .line 3873
    invoke-virtual {v0, v1, v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->subString(II)Ljava/lang/String;
    move-result-object v1
    .line 3874
    new-instance v6, Ljava/math/BigInteger;
    const/16 v8, 0xa
    invoke-direct {v6, v1, v8}, Ljava/math/BigInteger;-><init>(Ljava/lang/String;I)V
    move-object v1, v6
    :goto_c0
    if-ne v3, v14, :cond_d6
    .line 3916
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int v2, v2, v17
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3917
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/4 v2, 0x3
    .line 3918
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    const/16 v6, 0x10
    .line 3919
    iput v6, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-object v1
    :cond_d6
    const/16 v6, 0x10
    const/16 v8, 0x7d
    if-ne v3, v8, :cond_133
    .line 3924
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v8, v17, 0x1
    add-int v3, v3, v17
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    if-ne v3, v14, :cond_f6
    .line 3926
    iput v6, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 3927
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v8
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3928
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_12c
    :cond_f6
    const/16 v6, 0x5d
    if-ne v3, v6, :cond_10a
    const/16 v2, 0xf
    .line 3930
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 3931
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v8
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3932
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_12c
    :cond_10a
    const/16 v6, 0x7d
    if-ne v3, v6, :cond_11e
    const/16 v6, 0xd
    .line 3934
    iput v6, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 3935
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v8
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3936
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_12c
    :cond_11e
    const/16 v6, 0x1a
    if-ne v3, v6, :cond_130
    .line 3938
    iput v5, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 3939
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    sub-int/2addr v8, v7
    add-int/2addr v2, v8
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3940
    iput-char v6, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    :goto_12c
    const/4 v2, 0x4
    .line 3945
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v1
    .line 3942
    :cond_130
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v4
    .line 3947
    :cond_133
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v4
    .line 3870
    :cond_136
    new-instance v1, Lcom/alibaba/fastjson/JSONException;
    const-string v2, "scanInteger overflow"
    invoke-direct {v1, v2}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v1
    :cond_13e
    const/16 v1, 0x6e
    if-ne v3, v1, :cond_1c2
    .line 3876
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v6
    .line 3877
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    const/16 v3, 0x75
    if-ne v1, v3, :cond_1c2
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v6
    add-int/2addr v1, v7
    .line 3878
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    const/16 v3, 0x6c
    if-ne v1, v3, :cond_1c2
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v6
    add-int/lit8 v1, v1, 0x2
    .line 3879
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    if-ne v1, v3, :cond_1c2
    const/4 v1, 0x5
    .line 3880
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    const/4 v3, 0x3
    add-int/2addr v6, v3
    .line 3883
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v7, v6, 0x1
    add-int/2addr v3, v6
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    if-eqz v8, :cond_180
    if-ne v3, v5, :cond_180
    .line 3886
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v5, v7, 0x1
    add-int/2addr v3, v7
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    move v7, v5
    :cond_180
    :goto_180
    if-ne v3, v14, :cond_194
    .line 3891
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v7
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3892
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 3893
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    const/16 v5, 0x10
    .line 3894
    iput v5, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-object v4
    :cond_194
    const/16 v5, 0x10
    const/16 v6, 0x7d
    if-ne v3, v6, :cond_1ac
    .line 3897
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v7
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3898
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 3899
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    const/16 v8, 0xd
    .line 3900
    iput v8, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-object v4
    :cond_1ac
    const/16 v8, 0xd
    .line 3902
    invoke-static {v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->isWhitespace(C)Z
    move-result v3
    if-eqz v3, :cond_1bf
    .line 3903
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v9, v7, 0x1
    add-int/2addr v3, v7
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    move v7, v9
    goto :goto_180
    .line 3908
    :cond_1bf
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v4
    .line 3911
    :cond_1c2
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v4
.end method
.method public scanFieldBoolean([C)Z
    .registers 11
    const/4 v0, 0x0
    .line 2240
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 2242
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charArrayCompare([C)Z
    move-result v1
    if-nez v1, :cond_d
    const/4 p1, -0x2
    .line 2243
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v0
    .line 2247
    :cond_d
    array-length p1, p1
    .line 2248
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v2, p1, 0x1
    add-int/2addr v1, p1
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    const/16 v1, 0x74
    const/16 v3, 0x65
    const/4 v4, -0x1
    const/4 v5, 0x1
    if-ne p1, v1, :cond_4f
    .line 2252
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v1, v2, 0x1
    add-int/2addr p1, v2
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    const/16 v2, 0x72
    if-eq p1, v2, :cond_2f
    .line 2253
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v0
    .line 2256
    :cond_2f
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v2, v1, 0x1
    add-int/2addr p1, v1
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    const/16 v1, 0x75
    if-eq p1, v1, :cond_3f
    .line 2257
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v0
    .line 2260
    :cond_3f
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v1, v2, 0x1
    add-int/2addr p1, v2
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    if-eq p1, v3, :cond_4d
    .line 2261
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v0
    :cond_4d
    move p1, v5
    goto :goto_93
    :cond_4f
    const/16 v1, 0x66
    if-ne p1, v1, :cond_110
    .line 2267
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v1, v2, 0x1
    add-int/2addr p1, v2
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    const/16 v2, 0x61
    if-eq p1, v2, :cond_63
    .line 2268
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v0
    .line 2271
    :cond_63
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v2, v1, 0x1
    add-int/2addr p1, v1
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    const/16 v1, 0x6c
    if-eq p1, v1, :cond_73
    .line 2272
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v0
    .line 2275
    :cond_73
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v1, v2, 0x1
    add-int/2addr p1, v2
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    const/16 v2, 0x73
    if-eq p1, v2, :cond_83
    .line 2276
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v0
    .line 2279
    :cond_83
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v2, v1, 0x1
    add-int/2addr p1, v1
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    if-eq p1, v3, :cond_91
    .line 2280
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v0
    :cond_91
    move p1, v0
    move v1, v2
    .line 2290
    :goto_93
    iget v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, v1, 0x1
    add-int/2addr v2, v1
    invoke-virtual {p0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    const/16 v2, 0x10
    const/16 v6, 0x2c
    if-ne v1, v6, :cond_b3
    .line 2292
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v0, v3
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 2293
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    iput-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/4 v0, 0x3
    .line 2294
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 2295
    iput v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return p1
    :cond_b3
    const/16 v7, 0x7d
    if-ne v1, v7, :cond_10d
    .line 2301
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v8, v3, 0x1
    add-int/2addr v1, v3
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    if-ne v1, v6, :cond_d0
    .line 2303
    iput v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 2304
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v0, v8
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 2305
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    iput-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_106
    :cond_d0
    const/16 v2, 0x5d
    if-ne v1, v2, :cond_e4
    const/16 v0, 0xf
    .line 2307
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 2308
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v0, v8
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 2309
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    iput-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_106
    :cond_e4
    if-ne v1, v7, :cond_f6
    const/16 v0, 0xd
    .line 2311
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 2312
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v0, v8
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 2313
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    iput-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_106
    :cond_f6
    const/16 v2, 0x1a
    if-ne v1, v2, :cond_10a
    const/16 v0, 0x14
    .line 2315
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 2316
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    sub-int/2addr v8, v5
    add-int/2addr v0, v8
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 2317
    iput-char v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    :goto_106
    const/4 v0, 0x4
    .line 2322
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return p1
    .line 2319
    :cond_10a
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v0
    .line 2324
    :cond_10d
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v0
    .line 2286
    :cond_110
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v0
.end method
.method public scanFieldDate([C)Ljava/util/Date;
    .registers 19
    move-object/from16 v1, p0
    move-object/from16 v0, p1
    const/4 v2, 0x0
    .line 3955
    iput v2, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 3957
    invoke-virtual/range {p0 .. p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charArrayCompare([C)Z
    move-result v3
    const/4 v4, 0x0
    if-nez v3, :cond_12
    const/4 v0, -0x2
    .line 3958
    iput v0, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v4
    .line 3964
    :cond_12
    array-length v3, v0
    .line 3965
    iget v5, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v6, v3, 0x1
    add-int/2addr v5, v3
    invoke-virtual {v1, v5}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    const/16 v5, 0x22
    const/4 v7, -0x1
    const/4 v8, 0x1
    if-ne v3, v5, :cond_a8
    .line 3969
    iget v3, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    array-length v9, v0
    add-int/2addr v3, v9
    add-int/2addr v3, v8
    .line 3970
    invoke-virtual {v1, v5, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->indexOf(CI)I
    move-result v3
    if-eq v3, v7, :cond_a0
    .line 3975
    iget v9, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    array-length v10, v0
    add-int/2addr v9, v10
    add-int/2addr v9, v8
    sub-int v10, v3, v9
    .line 3976
    invoke-virtual {v1, v9, v10}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->subString(II)Ljava/lang/String;
    move-result-object v9
    const/16 v10, 0x5c
    .line 3977
    invoke-virtual {v9, v10}, Ljava/lang/String;->indexOf(I)I
    move-result v11
    if-eq v11, v7, :cond_6e
    :goto_40
    add-int/lit8 v9, v3, -0x1
    move v11, v2
    :goto_43
    if-ltz v9, :cond_50
    .line 3981
    invoke-virtual {v1, v9}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v12
    if-ne v12, v10, :cond_50
    add-int/lit8 v11, v11, 0x1
    add-int/lit8 v9, v9, -0x1
    goto :goto_43
    .line 3987
    :cond_50
    rem-int/lit8 v11, v11, 0x2
    if-nez v11, :cond_67
    .line 3993
    iget v5, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    array-length v9, v0
    add-int/2addr v9, v5
    add-int/2addr v9, v8
    sub-int v9, v3, v9
    .line 3994
    array-length v10, v0
    add-int/2addr v5, v10
    add-int/2addr v5, v8
    invoke-virtual {v1, v5, v9}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sub_chars(II)[C
    move-result-object v5
    .line 3996
    invoke-static {v5, v9}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->readString([CI)Ljava/lang/String;
    move-result-object v9
    goto :goto_6e
    :cond_67
    add-int/lit8 v3, v3, 0x1
    .line 3990
    invoke-virtual {v1, v5, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->indexOf(CI)I
    move-result v3
    goto :goto_40
    .line 3999
    :cond_6e
    :goto_6e
    iget v5, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    array-length v0, v0
    add-int/2addr v0, v5
    add-int/2addr v0, v8
    sub-int/2addr v3, v0
    add-int/2addr v3, v8
    add-int/2addr v6, v3
    add-int/lit8 v0, v6, 0x1
    add-int/2addr v5, v6
    .line 4000
    invoke-virtual {v1, v5}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    .line 4002
    new-instance v5, Lcom/alibaba/fastjson/parser/JSONScanner;
    invoke-direct {v5, v9}, Lcom/alibaba/fastjson/parser/JSONScanner;-><init>(Ljava/lang/String;)V
    .line 4004
    :try_start_82
    invoke-virtual {v5, v2}, Lcom/alibaba/fastjson/parser/JSONScanner;->scanISO8601DateIfMatch(Z)Z
    move-result v2
    if-eqz v2, :cond_95
    .line 4005
    invoke-virtual {v5}, Lcom/alibaba/fastjson/parser/JSONScanner;->getCalendar()Ljava/util/Calendar;
    move-result-object v2
    .line 4006
    invoke-virtual {v2}, Ljava/util/Calendar;->getTime()Ljava/util/Date;
    move-result-object v2
    :try_end_90
    .catchall {:try_start_82 .. :try_end_90} :catchall_9b
    .line 4012
    invoke-virtual {v5}, Lcom/alibaba/fastjson/parser/JSONScanner;->close()V
    goto/16 :goto_fb
    .line 4008
    :cond_95
    :try_start_95
    iput v7, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    :try_end_97
    .catchall {:try_start_95 .. :try_end_97} :catchall_9b
    .line 4012
    invoke-virtual {v5}, Lcom/alibaba/fastjson/parser/JSONScanner;->close()V
    return-object v4
    :catchall_9b
    move-exception v0
    invoke-virtual {v5}, Lcom/alibaba/fastjson/parser/JSONScanner;->close()V
    .line 4013
    throw v0
    .line 3972
    :cond_a0
    new-instance v0, Lcom/alibaba/fastjson/JSONException;
    const-string v2, "unclosed str"
    invoke-direct {v0, v2}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v0
    :cond_a8
    const/16 v0, 0x2d
    const/16 v5, 0x39
    const/16 v9, 0x30
    if-eq v3, v0, :cond_b8
    if-lt v3, v9, :cond_b5
    if-gt v3, v5, :cond_b5
    goto :goto_b8
    .line 4046
    :cond_b5
    iput v7, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v4
    :cond_b8
    :goto_b8
    if-ne v3, v0, :cond_c5
    .line 4019
    iget v0, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v2, v6, 0x1
    add-int/2addr v0, v6
    invoke-virtual {v1, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    move v6, v2
    move v2, v8
    :cond_c5
    const-wide/16 v10, 0x0
    if-lt v3, v9, :cond_ea
    if-gt v3, v5, :cond_ea
    add-int/lit8 v3, v3, -0x30
    int-to-long v12, v3
    .line 4026
    :goto_ce
    iget v0, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, v6, 0x1
    add-int/2addr v0, v6
    invoke-virtual {v1, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    if-lt v0, v9, :cond_e4
    if-gt v0, v5, :cond_e4
    const-wide/16 v14, 0xa
    mul-long/2addr v12, v14
    add-int/lit8 v0, v0, -0x30
    int-to-long v14, v0
    add-long/2addr v12, v14
    move v6, v3
    goto :goto_ce
    :cond_e4
    move/from16 v16, v3
    move v3, v0
    move/from16 v0, v16
    goto :goto_ec
    :cond_ea
    move v0, v6
    move-wide v12, v10
    :goto_ec
    cmp-long v5, v12, v10
    if-gez v5, :cond_f3
    .line 4036
    iput v7, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v4
    :cond_f3
    if-eqz v2, :cond_f6
    neg-long v12, v12
    .line 4044
    :cond_f6
    new-instance v2, Ljava/util/Date;
    invoke-direct {v2, v12, v13}, Ljava/util/Date;-><init>(J)V
    :goto_fb
    const/16 v5, 0x2c
    if-ne v3, v5, :cond_10e
    .line 4051
    iget v3, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v3, v0
    iput v3, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 4052
    invoke-virtual {v1, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    iput-char v0, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/4 v0, 0x3
    .line 4053
    iput v0, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v2
    :cond_10e
    const/16 v6, 0x7d
    if-ne v3, v6, :cond_16a
    .line 4058
    iget v3, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v9, v0, 0x1
    add-int/2addr v3, v0
    invoke-virtual {v1, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    if-ne v0, v5, :cond_12d
    const/16 v0, 0x10
    .line 4060
    iput v0, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 4061
    iget v0, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v0, v9
    iput v0, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 4062
    invoke-virtual {v1, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    iput-char v0, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_163
    :cond_12d
    const/16 v3, 0x5d
    if-ne v0, v3, :cond_141
    const/16 v0, 0xf
    .line 4064
    iput v0, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 4065
    iget v0, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v0, v9
    iput v0, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 4066
    invoke-virtual {v1, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    iput-char v0, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_163
    :cond_141
    if-ne v0, v6, :cond_153
    const/16 v0, 0xd
    .line 4068
    iput v0, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 4069
    iget v0, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v0, v9
    iput v0, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 4070
    invoke-virtual {v1, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    iput-char v0, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_163
    :cond_153
    const/16 v3, 0x1a
    if-ne v0, v3, :cond_167
    const/16 v0, 0x14
    .line 4072
    iput v0, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 4073
    iget v0, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    sub-int/2addr v9, v8
    add-int/2addr v0, v9
    iput v0, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 4074
    iput-char v3, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    :goto_163
    const/4 v0, 0x4
    .line 4079
    iput v0, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v2
    .line 4076
    :cond_167
    iput v7, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v4
    .line 4081
    :cond_16a
    iput v7, v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v4
.end method
.method public scanFieldDecimal([C)Ljava/math/BigDecimal;
    .registers 19
    move-object/from16 v0, p0
    move-object/from16 v1, p1
    const/4 v2, 0x0
    .line 3646
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 3648
    invoke-virtual/range {p0 .. p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charArrayCompare([C)Z
    move-result v3
    const/4 v4, 0x0
    if-nez v3, :cond_12
    const/4 v1, -0x2
    .line 3649
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v4
    .line 3653
    :cond_12
    array-length v3, v1
    .line 3654
    iget v5, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v6, v3, 0x1
    add-int/2addr v5, v3
    invoke-virtual {v0, v5}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    const/16 v5, 0x22
    const/4 v7, 0x1
    if-ne v3, v5, :cond_23
    move v8, v7
    goto :goto_24
    :cond_23
    move v8, v2
    :goto_24
    if-eqz v8, :cond_30
    .line 3657
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v9, v6, 0x1
    add-int/2addr v3, v6
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    move v6, v9
    :cond_30
    const/16 v9, 0x2d
    if-ne v3, v9, :cond_36
    move v10, v7
    goto :goto_37
    :cond_36
    move v10, v2
    :goto_37
    if-eqz v10, :cond_43
    .line 3662
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v10, v6, 0x1
    add-int/2addr v3, v6
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    move v6, v10
    :cond_43
    const/4 v11, 0x3
    const/16 v14, 0x2c
    const/16 v15, 0x30
    const/4 v10, -0x1
    if-lt v3, v15, :cond_17b
    const/16 v13, 0x39
    if-gt v3, v13, :cond_17b
    .line 3668
    :goto_4f
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v16, v6, 0x1
    add-int/2addr v3, v6
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    if-lt v3, v15, :cond_5f
    if-gt v3, v13, :cond_5f
    move/from16 v6, v16
    goto :goto_4f
    :cond_5f
    const/16 v6, 0x2e
    if-ne v3, v6, :cond_65
    move v6, v7
    goto :goto_66
    :cond_65
    move v6, v2
    :goto_66
    if-eqz v6, :cond_89
    .line 3678
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v6, v16, 0x1
    add-int v3, v3, v16
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    if-lt v3, v15, :cond_86
    if-gt v3, v13, :cond_86
    .line 3681
    :goto_76
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v16, v6, 0x1
    add-int/2addr v3, v6
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    if-lt v3, v15, :cond_89
    if-gt v3, v13, :cond_89
    move/from16 v6, v16
    goto :goto_76
    .line 3689
    :cond_86
    iput v10, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v4
    :cond_89
    const/16 v6, 0x65
    if-eq v3, v6, :cond_94
    const/16 v6, 0x45
    if-ne v3, v6, :cond_92
    goto :goto_94
    :cond_92
    move v6, v2
    goto :goto_95
    :cond_94
    :goto_94
    move v6, v7
    :goto_95
    if-eqz v6, :cond_c5
    .line 3696
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v6, v16, 0x1
    add-int v3, v3, v16
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    const/16 v12, 0x2b
    if-eq v3, v12, :cond_ab
    if-ne v3, v9, :cond_a8
    goto :goto_ab
    :cond_a8
    :goto_a8
    move/from16 v16, v6
    goto :goto_b6
    .line 3698
    :cond_ab
    :goto_ab
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v9, v6, 0x1
    add-int/2addr v3, v6
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    move/from16 v16, v9
    :goto_b6
    if-lt v3, v15, :cond_c5
    if-gt v3, v13, :cond_c5
    .line 3702
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v6, v16, 0x1
    add-int v3, v3, v16
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    goto :goto_a8
    :cond_c5
    if-eqz v8, :cond_e2
    if-eq v3, v5, :cond_cc
    .line 3712
    iput v10, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v4
    .line 3715
    :cond_cc
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v5, v16, 0x1
    add-int v3, v3, v16
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    .line 3717
    iget v6, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    array-length v1, v1
    add-int/2addr v1, v6
    add-int/2addr v1, v7
    add-int/2addr v6, v5
    sub-int/2addr v6, v1
    add-int/lit8 v6, v6, -0x2
    move/from16 v16, v5
    goto :goto_eb
    .line 3720
    :cond_e2
    iget v5, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    array-length v1, v1
    add-int/2addr v1, v5
    add-int v5, v5, v16
    sub-int/2addr v5, v1
    add-int/lit8 v6, v5, -0x1
    :goto_eb
    const v5, 0xffff
    if-gt v6, v5, :cond_173
    .line 3728
    invoke-virtual {v0, v1, v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sub_chars(II)[C
    move-result-object v1
    .line 3729
    new-instance v5, Ljava/math/BigDecimal;
    array-length v6, v1
    sget-object v8, Ljava/math/MathContext;->UNLIMITED:Ljava/math/MathContext;
    invoke-direct {v5, v1, v2, v6, v8}, Ljava/math/BigDecimal;-><init>([CIILjava/math/MathContext;)V
    if-ne v3, v14, :cond_111
    .line 3770
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int v1, v1, v16
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3771
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    iput-char v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 3772
    iput v11, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    const/16 v1, 0x10
    .line 3773
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-object v5
    :cond_111
    const/16 v1, 0x10
    const/16 v2, 0x7d
    if-ne v3, v2, :cond_170
    .line 3778
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, v16, 0x1
    add-int v2, v2, v16
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    if-ne v2, v14, :cond_131
    .line 3780
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 3781
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v3
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3782
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    iput-char v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_169
    :cond_131
    const/16 v1, 0x5d
    if-ne v2, v1, :cond_145
    const/16 v1, 0xf
    .line 3784
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 3785
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v3
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3786
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    iput-char v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_169
    :cond_145
    const/16 v1, 0x7d
    if-ne v2, v1, :cond_159
    const/16 v1, 0xd
    .line 3788
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 3789
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v3
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3790
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    iput-char v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_169
    :cond_159
    const/16 v1, 0x1a
    if-ne v2, v1, :cond_16d
    const/16 v2, 0x14
    .line 3792
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 3793
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    sub-int/2addr v3, v7
    add-int/2addr v2, v3
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3794
    iput-char v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    :goto_169
    const/4 v1, 0x4
    .line 3799
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v5
    .line 3796
    :cond_16d
    iput v10, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v4
    .line 3801
    :cond_170
    iput v10, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v4
    .line 3725
    :cond_173
    new-instance v1, Lcom/alibaba/fastjson/JSONException;
    const-string v2, "scan decimal overflow"
    invoke-direct {v1, v2}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v1
    :cond_17b
    const/16 v1, 0x6e
    if-ne v3, v1, :cond_1fe
    .line 3730
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v6
    .line 3731
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    const/16 v2, 0x75
    if-ne v1, v2, :cond_1fe
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v6
    add-int/2addr v1, v7
    .line 3732
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    const/16 v2, 0x6c
    if-ne v1, v2, :cond_1fe
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v6
    add-int/lit8 v1, v1, 0x2
    .line 3733
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    if-ne v1, v2, :cond_1fe
    const/4 v1, 0x5
    .line 3734
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    add-int/2addr v6, v11
    .line 3737
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, v6, 0x1
    add-int/2addr v2, v6
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    if-eqz v8, :cond_1bc
    if-ne v2, v5, :cond_1bc
    .line 3740
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v5, v3, 0x1
    add-int/2addr v2, v3
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    move v3, v5
    :cond_1bc
    :goto_1bc
    if-ne v2, v14, :cond_1d0
    .line 3745
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v3
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3746
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 3747
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    const/16 v5, 0x10
    .line 3748
    iput v5, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-object v4
    :cond_1d0
    const/16 v5, 0x10
    const/16 v6, 0x7d
    if-ne v2, v6, :cond_1e8
    .line 3751
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v3
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3752
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 3753
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    const/16 v7, 0xd
    .line 3754
    iput v7, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-object v4
    :cond_1e8
    const/16 v7, 0xd
    .line 3756
    invoke-static {v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->isWhitespace(C)Z
    move-result v2
    if-eqz v2, :cond_1fb
    .line 3757
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v8, v3, 0x1
    add-int/2addr v2, v3
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    move v3, v8
    goto :goto_1bc
    .line 3762
    :cond_1fb
    iput v10, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v4
    .line 3765
    :cond_1fe
    iput v10, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v4
.end method
.method public final scanFieldDouble([C)D
    .registers 25
    move-object/from16 v0, p0
    move-object/from16 v1, p1
    const/4 v2, 0x0
    .line 3472
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 3474
    invoke-virtual/range {p0 .. p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charArrayCompare([C)Z
    move-result v3
    const-wide/16 v4, 0x0
    if-nez v3, :cond_13
    const/4 v1, -0x2
    .line 3475
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v4
    .line 3479
    :cond_13
    array-length v3, v1
    .line 3480
    iget v6, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v7, v3, 0x1
    add-int/2addr v6, v3
    invoke-virtual {v0, v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    const/16 v6, 0x22
    if-ne v3, v6, :cond_23
    const/4 v9, 0x1
    goto :goto_24
    :cond_23
    move v9, v2
    :goto_24
    if-eqz v9, :cond_30
    .line 3483
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v10, v7, 0x1
    add-int/2addr v3, v7
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    move v7, v10
    :cond_30
    const/16 v10, 0x2d
    if-ne v3, v10, :cond_36
    const/4 v11, 0x1
    goto :goto_37
    :cond_36
    move v11, v2
    :goto_37
    if-eqz v11, :cond_43
    .line 3488
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v12, v7, 0x1
    add-int/2addr v3, v7
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    move v7, v12
    :cond_43
    const/4 v12, -0x1
    const/16 v15, 0x30
    if-lt v3, v15, :cond_1a6
    const/16 v14, 0x39
    if-gt v3, v14, :cond_1a6
    sub-int/2addr v3, v15
    int-to-long v2, v3
    .line 3496
    :goto_4e
    iget v13, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v17, v7, 0x1
    add-int/2addr v13, v7
    invoke-virtual {v0, v13}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v7
    const-wide/16 v18, 0xa
    if-lt v7, v15, :cond_68
    if-gt v7, v14, :cond_68
    mul-long v2, v2, v18
    add-int/lit8 v7, v7, -0x30
    int-to-long v6, v7
    add-long/2addr v2, v6
    move/from16 v7, v17
    const/16 v6, 0x22
    goto :goto_4e
    :cond_68
    const-wide/16 v20, 0x1
    const/16 v6, 0x2e
    if-ne v7, v6, :cond_70
    const/4 v6, 0x1
    goto :goto_71
    :cond_70
    const/4 v6, 0x0
    :goto_71
    if-eqz v6, :cond_a5
    .line 3508
    iget v6, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v7, v17, 0x1
    add-int v6, v6, v17
    invoke-virtual {v0, v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v6
    if-lt v6, v15, :cond_a2
    if-gt v6, v14, :cond_a2
    mul-long v2, v2, v18
    sub-int/2addr v6, v15
    move/from16 v22, v9
    int-to-long v8, v6
    add-long/2addr v2, v8
    move-wide/from16 v20, v18
    .line 3513
    :goto_8a
    iget v6, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v17, v7, 0x1
    add-int/2addr v6, v7
    invoke-virtual {v0, v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v7
    if-lt v7, v15, :cond_a7
    if-gt v7, v14, :cond_a7
    mul-long v2, v2, v18
    add-int/lit8 v7, v7, -0x30
    int-to-long v6, v7
    add-long/2addr v2, v6
    mul-long v20, v20, v18
    move/from16 v7, v17
    goto :goto_8a
    .line 3523
    :cond_a2
    iput v12, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v4
    :cond_a5
    move/from16 v22, v9
    :cond_a7
    move-wide/from16 v8, v20
    const/16 v6, 0x65
    if-eq v7, v6, :cond_b5
    const/16 v6, 0x45
    if-ne v7, v6, :cond_b2
    goto :goto_b5
    :cond_b2
    const/16 v16, 0x0
    goto :goto_b7
    :cond_b5
    :goto_b5
    const/16 v16, 0x1
    :goto_b7
    if-eqz v16, :cond_e9
    .line 3530
    iget v6, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v7, v17, 0x1
    add-int v6, v6, v17
    invoke-virtual {v0, v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v6
    const/16 v13, 0x2b
    if-eq v6, v13, :cond_ce
    if-ne v6, v10, :cond_ca
    goto :goto_ce
    :cond_ca
    :goto_ca
    move/from16 v17, v7
    move v7, v6
    goto :goto_da
    .line 3532
    :cond_ce
    :goto_ce
    iget v6, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v10, v7, 0x1
    add-int/2addr v6, v7
    invoke-virtual {v0, v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v6
    move v7, v6
    move/from16 v17, v10
    :goto_da
    if-lt v7, v15, :cond_e9
    if-gt v7, v14, :cond_e9
    .line 3536
    iget v6, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v7, v17, 0x1
    add-int v6, v6, v17
    invoke-virtual {v0, v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v6
    goto :goto_ca
    :cond_e9
    if-eqz v22, :cond_10a
    const/16 v6, 0x22
    if-eq v7, v6, :cond_f2
    .line 3546
    iput v12, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v4
    .line 3549
    :cond_f2
    iget v6, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v7, v17, 0x1
    add-int v6, v6, v17
    invoke-virtual {v0, v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v6
    .line 3551
    iget v10, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    array-length v1, v1
    add-int/2addr v1, v10
    const/4 v13, 0x1
    add-int/2addr v1, v13
    add-int/2addr v10, v7
    sub-int/2addr v10, v1
    add-int/lit8 v10, v10, -0x2
    move/from16 v17, v7
    move v7, v6
    goto :goto_114
    :cond_10a
    const/4 v13, 0x1
    .line 3554
    iget v6, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    array-length v1, v1
    add-int/2addr v1, v6
    add-int v6, v6, v17
    sub-int/2addr v6, v1
    add-int/lit8 v10, v6, -0x1
    :goto_114
    if-nez v16, :cond_121
    const/16 v6, 0x11
    if-ge v10, v6, :cond_121
    long-to-double v1, v2
    long-to-double v8, v8
    div-double/2addr v1, v8
    if-eqz v11, :cond_129
    neg-double v1, v1
    goto :goto_129
    .line 3564
    :cond_121
    invoke-virtual {v0, v1, v10}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->subString(II)Ljava/lang/String;
    move-result-object v1
    .line 3565
    invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
    move-result-wide v1
    :cond_129
    :goto_129
    const/16 v3, 0x2c
    if-ne v7, v3, :cond_141
    .line 3607
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int v3, v3, v17
    iput v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3608
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    iput-char v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/4 v3, 0x3
    .line 3609
    iput v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    const/16 v3, 0x10
    .line 3610
    iput v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-wide v1
    :cond_141
    const/16 v3, 0x10
    const/16 v6, 0x7d
    if-ne v7, v6, :cond_1a3
    .line 3615
    iget v6, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v7, v17, 0x1
    add-int v6, v6, v17
    invoke-virtual {v0, v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v6
    const/16 v8, 0x2c
    if-ne v6, v8, :cond_163
    .line 3617
    iput v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 3618
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v3, v7
    iput v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3619
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    iput-char v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_19c
    :cond_163
    const/16 v3, 0x5d
    if-ne v6, v3, :cond_177
    const/16 v3, 0xf
    .line 3621
    iput v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 3622
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v3, v7
    iput v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3623
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    iput-char v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_19c
    :cond_177
    const/16 v3, 0x7d
    if-ne v6, v3, :cond_18b
    const/16 v3, 0xd
    .line 3625
    iput v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 3626
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v3, v7
    iput v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3627
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    iput-char v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_19c
    :cond_18b
    const/16 v3, 0x1a
    if-ne v6, v3, :cond_1a0
    const/16 v4, 0x14
    .line 3629
    iput v4, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 3630
    iget v4, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    const/4 v5, 0x1
    sub-int/2addr v7, v5
    add-int/2addr v4, v7
    iput v4, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3631
    iput-char v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    :goto_19c
    const/4 v3, 0x4
    .line 3636
    iput v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v1
    .line 3633
    :cond_1a0
    iput v12, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v4
    .line 3638
    :cond_1a3
    iput v12, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v4
    :cond_1a6
    move/from16 v22, v9
    const/16 v1, 0x6e
    if-ne v3, v1, :cond_231
    .line 3567
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v7
    .line 3568
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    const/16 v2, 0x75
    if-ne v1, v2, :cond_231
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v7
    const/4 v2, 0x1
    add-int/2addr v1, v2
    .line 3569
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    const/16 v2, 0x6c
    if-ne v1, v2, :cond_231
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v7
    add-int/lit8 v1, v1, 0x2
    .line 3570
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    if-ne v1, v2, :cond_231
    const/4 v1, 0x5
    .line 3571
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    const/4 v2, 0x3
    add-int/2addr v7, v2
    .line 3574
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, v7, 0x1
    add-int/2addr v2, v7
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    if-eqz v22, :cond_1ed
    const/16 v6, 0x22
    if-ne v2, v6, :cond_1ed
    .line 3577
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v6, v3, 0x1
    add-int/2addr v2, v3
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    move v3, v6
    :cond_1ed
    const/16 v6, 0x2c
    :goto_1ef
    if-ne v2, v6, :cond_203
    .line 3582
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v3
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3583
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 3584
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    const/16 v7, 0x10
    .line 3585
    iput v7, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-wide v4
    :cond_203
    const/16 v7, 0x10
    const/16 v8, 0x7d
    if-ne v2, v8, :cond_21b
    .line 3588
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v3
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3589
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 3590
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    const/16 v9, 0xd
    .line 3591
    iput v9, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-wide v4
    :cond_21b
    const/16 v9, 0xd
    .line 3593
    invoke-static {v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->isWhitespace(C)Z
    move-result v2
    if-eqz v2, :cond_22e
    .line 3594
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v10, v3, 0x1
    add-int/2addr v2, v3
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    move v3, v10
    goto :goto_1ef
    .line 3599
    :cond_22e
    iput v12, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v4
    .line 3602
    :cond_231
    iput v12, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v4
.end method
.method public final scanFieldFloat([C)F
    .registers 23
    move-object/from16 v0, p0
    move-object/from16 v1, p1
    const/4 v2, 0x0
    .line 2512
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 2514
    invoke-virtual/range {p0 .. p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charArrayCompare([C)Z
    move-result v3
    const/4 v4, 0x0
    if-nez v3, :cond_12
    const/4 v1, -0x2
    .line 2515
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v4
    .line 2519
    :cond_12
    array-length v3, v1
    .line 2520
    iget v5, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v6, v3, 0x1
    add-int/2addr v5, v3
    invoke-virtual {v0, v5}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    const/16 v5, 0x22
    if-ne v3, v5, :cond_22
    const/4 v8, 0x1
    goto :goto_23
    :cond_22
    move v8, v2
    :goto_23
    if-eqz v8, :cond_2f
    .line 2524
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v9, v6, 0x1
    add-int/2addr v3, v6
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    move v6, v9
    :cond_2f
    const/16 v9, 0x2d
    if-ne v3, v9, :cond_35
    const/4 v10, 0x1
    goto :goto_36
    :cond_35
    move v10, v2
    :goto_36
    if-eqz v10, :cond_42
    .line 2529
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v11, v6, 0x1
    add-int/2addr v3, v6
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    move v6, v11
    :cond_42
    const/4 v2, -0x1
    const/16 v11, 0x30
    if-lt v3, v11, :cond_1a5
    const/16 v14, 0x39
    if-gt v3, v14, :cond_1a5
    sub-int/2addr v3, v11
    int-to-long v12, v3
    .line 2536
    :goto_4d
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v17, v6, 0x1
    add-int/2addr v3, v6
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    const-wide/16 v18, 0xa
    if-lt v3, v11, :cond_67
    if-gt v3, v14, :cond_67
    mul-long v12, v12, v18
    add-int/lit8 v3, v3, -0x30
    int-to-long v5, v3
    add-long/2addr v12, v5
    move/from16 v6, v17
    const/16 v5, 0x22
    goto :goto_4d
    :cond_67
    const/16 v5, 0x2e
    if-ne v3, v5, :cond_6d
    const/4 v5, 0x1
    goto :goto_6e
    :cond_6d
    const/4 v5, 0x0
    :goto_6e
    if-eqz v5, :cond_a4
    .line 2548
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v5, v17, 0x1
    add-int v3, v3, v17
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    if-lt v3, v11, :cond_a1
    if-gt v3, v14, :cond_a1
    mul-long v12, v12, v18
    sub-int/2addr v3, v11
    move/from16 v20, v8
    int-to-long v7, v3
    add-long/2addr v12, v7
    move-wide/from16 v6, v18
    .line 2553
    :goto_87
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v17, v5, 0x1
    add-int/2addr v3, v5
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    if-lt v3, v11, :cond_a8
    if-gt v3, v14, :cond_a8
    mul-long v12, v12, v18
    add-int/lit8 v3, v3, -0x30
    int-to-long v14, v3
    add-long/2addr v12, v14
    mul-long v6, v6, v18
    move/from16 v5, v17
    const/16 v14, 0x39
    goto :goto_87
    .line 2563
    :cond_a1
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v4
    :cond_a4
    move/from16 v20, v8
    const-wide/16 v6, 0x1
    :cond_a8
    const/16 v14, 0x65
    if-eq v3, v14, :cond_b4
    const/16 v14, 0x45
    if-ne v3, v14, :cond_b1
    goto :goto_b4
    :cond_b1
    const/16 v16, 0x0
    goto :goto_b6
    :cond_b4
    :goto_b4
    const/16 v16, 0x1
    :goto_b6
    if-eqz v16, :cond_e8
    .line 2570
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v14, v17, 0x1
    add-int v3, v3, v17
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    const/16 v15, 0x2b
    if-eq v3, v15, :cond_cc
    if-ne v3, v9, :cond_c9
    goto :goto_cc
    :cond_c9
    move/from16 v17, v14
    goto :goto_d7
    .line 2572
    :cond_cc
    :goto_cc
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v9, v14, 0x1
    add-int/2addr v3, v14
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    :goto_d5
    move/from16 v17, v9
    :goto_d7
    if-lt v3, v11, :cond_e8
    const/16 v8, 0x39
    if-gt v3, v8, :cond_e8
    .line 2576
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v9, v17, 0x1
    add-int v3, v3, v17
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    goto :goto_d5
    :cond_e8
    if-eqz v20, :cond_108
    const/16 v8, 0x22
    if-eq v3, v8, :cond_f1
    .line 2586
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v4
    .line 2589
    :cond_f1
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v8, v17, 0x1
    add-int v3, v3, v17
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    .line 2591
    iget v9, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    array-length v1, v1
    add-int/2addr v1, v9
    const/4 v11, 0x1
    add-int/2addr v1, v11
    add-int/2addr v9, v8
    sub-int/2addr v9, v1
    add-int/lit8 v9, v9, -0x2
    move/from16 v17, v8
    goto :goto_112
    :cond_108
    const/4 v11, 0x1
    .line 2594
    iget v8, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    array-length v1, v1
    add-int/2addr v1, v8
    add-int v8, v8, v17
    sub-int/2addr v8, v1
    add-int/lit8 v9, v8, -0x1
    :goto_112
    if-nez v16, :cond_120
    const/16 v8, 0x11
    if-ge v9, v8, :cond_120
    long-to-double v8, v12
    long-to-double v6, v6
    div-double/2addr v8, v6
    double-to-float v1, v8
    if-eqz v10, :cond_128
    neg-float v1, v1
    goto :goto_128
    .line 2604
    :cond_120
    invoke-virtual {v0, v1, v9}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->subString(II)Ljava/lang/String;
    move-result-object v1
    .line 2605
    invoke-static {v1}, Ljava/lang/Float;->parseFloat(Ljava/lang/String;)F
    move-result v1
    :cond_128
    :goto_128
    const/16 v5, 0x2c
    if-ne v3, v5, :cond_140
    .line 2644
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int v2, v2, v17
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 2645
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/4 v2, 0x3
    .line 2646
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    const/16 v6, 0x10
    .line 2647
    iput v6, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return v1
    :cond_140
    const/16 v6, 0x10
    const/16 v7, 0x7d
    if-ne v3, v7, :cond_1a2
    .line 2652
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v7, v17, 0x1
    add-int v3, v3, v17
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    const/16 v5, 0x2c
    if-ne v3, v5, :cond_162
    .line 2654
    iput v6, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 2655
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v7
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 2656
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_19b
    :cond_162
    const/16 v5, 0x5d
    if-ne v3, v5, :cond_176
    const/16 v2, 0xf
    .line 2658
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 2659
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v7
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 2660
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_19b
    :cond_176
    const/16 v5, 0x7d
    if-ne v3, v5, :cond_18a
    const/16 v5, 0xd
    .line 2662
    iput v5, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 2663
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v7
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 2664
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_19b
    :cond_18a
    const/16 v5, 0x1a
    if-ne v3, v5, :cond_19f
    .line 2666
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    const/4 v3, 0x1
    sub-int/2addr v7, v3
    add-int/2addr v2, v7
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    const/16 v2, 0x14
    .line 2667
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 2668
    iput-char v5, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    :goto_19b
    const/4 v2, 0x4
    .line 2673
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v1
    .line 2670
    :cond_19f
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v4
    .line 2675
    :cond_1a2
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v4
    :cond_1a5
    move/from16 v20, v8
    const/16 v1, 0x6e
    if-ne v3, v1, :cond_230
    .line 2607
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v6
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    const/16 v3, 0x75
    if-ne v1, v3, :cond_230
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v6
    const/4 v3, 0x1
    add-int/2addr v1, v3
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    const/16 v3, 0x6c
    if-ne v1, v3, :cond_230
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v6
    add-int/lit8 v1, v1, 0x2
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    if-ne v1, v3, :cond_230
    const/4 v1, 0x5
    .line 2608
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    const/4 v3, 0x3
    add-int/2addr v6, v3
    .line 2611
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v7, v6, 0x1
    add-int/2addr v3, v6
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    if-eqz v20, :cond_1ec
    const/16 v6, 0x22
    if-ne v3, v6, :cond_1ec
    .line 2614
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v6, v7, 0x1
    add-int/2addr v3, v7
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    move v7, v6
    :cond_1ec
    const/16 v5, 0x2c
    :goto_1ee
    if-ne v3, v5, :cond_202
    .line 2619
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v7
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 2620
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 2621
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    const/16 v6, 0x10
    .line 2622
    iput v6, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return v4
    :cond_202
    const/16 v6, 0x10
    const/16 v8, 0x7d
    if-ne v3, v8, :cond_21a
    .line 2625
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v7
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 2626
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 2627
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    const/16 v9, 0xd
    .line 2628
    iput v9, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return v4
    :cond_21a
    const/16 v9, 0xd
    .line 2630
    invoke-static {v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->isWhitespace(C)Z
    move-result v3
    if-eqz v3, :cond_22d
    .line 2631
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v10, v7, 0x1
    add-int/2addr v3, v7
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    move v7, v10
    goto :goto_1ee
    .line 2636
    :cond_22d
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v4
    .line 2639
    :cond_230
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v4
.end method
.method public final scanFieldFloatArray([C)[F
    .registers 21
    move-object/from16 v0, p0
    const/4 v1, 0x0
    .line 3128
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 3130
    invoke-virtual/range {p0 .. p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charArrayCompare([C)Z
    move-result v2
    const/4 v3, -0x2
    const/4 v4, 0x0
    if-nez v2, :cond_10
    .line 3131
    iput v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v4
    :cond_10
    move-object/from16 v2, p1
    .line 3135
    array-length v2, v2
    .line 3136
    iget v5, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v6, v2, 0x1
    add-int/2addr v5, v2
    invoke-virtual {v0, v5}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    const/16 v5, 0x5b
    if-eq v2, v5, :cond_23
    .line 3138
    iput v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v4
    .line 3141
    :cond_23
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, v6, 0x1
    add-int/2addr v2, v6
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    const/16 v5, 0x10
    new-array v6, v5, [F
    move v7, v1
    .line 3147
    :goto_31
    iget v8, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int v9, v8, v3
    const/4 v10, 0x1
    sub-int/2addr v9, v10
    const/16 v11, 0x2d
    if-ne v2, v11, :cond_3d
    move v12, v10
    goto :goto_3e
    :cond_3d
    move v12, v1
    :goto_3e
    if-eqz v12, :cond_4c
    add-int/lit8 v2, v3, 0x1
    add-int/2addr v8, v3
    .line 3151
    invoke-virtual {v0, v8}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    move/from16 v18, v3
    move v3, v2
    move/from16 v2, v18
    :cond_4c
    const/4 v8, -0x1
    const/16 v13, 0x30
    if-lt v2, v13, :cond_1bb
    const/16 v14, 0x39
    if-gt v2, v14, :cond_1bb
    add-int/lit8 v2, v2, -0x30
    .line 3157
    :goto_57
    iget v15, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v16, v3, 0x1
    add-int/2addr v15, v3
    invoke-virtual {v0, v15}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    if-lt v3, v13, :cond_6c
    if-gt v3, v14, :cond_6c
    mul-int/lit8 v2, v2, 0xa
    add-int/lit8 v3, v3, -0x30
    add-int/2addr v2, v3
    move/from16 v3, v16
    goto :goto_57
    :cond_6c
    const/16 v15, 0x2e
    if-ne v3, v15, :cond_72
    move v15, v10
    goto :goto_73
    :cond_72
    move v15, v1
    :goto_73
    const/16 v5, 0xa
    if-eqz v15, :cond_ab
    .line 3169
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v15, v16, 0x1
    add-int v3, v3, v16
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    if-lt v3, v13, :cond_a8
    if-gt v3, v14, :cond_a8
    mul-int/lit8 v2, v2, 0xa
    add-int/lit8 v3, v3, -0x30
    add-int/2addr v2, v3
    move v3, v5
    .line 3174
    :goto_8b
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v16, v15, 0x1
    add-int/2addr v1, v15
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    if-lt v1, v13, :cond_a2
    if-gt v1, v14, :cond_a2
    mul-int/lit8 v2, v2, 0xa
    add-int/lit8 v1, v1, -0x30
    add-int/2addr v2, v1
    mul-int/lit8 v3, v3, 0xa
    move/from16 v15, v16
    goto :goto_8b
    :cond_a2
    move/from16 v18, v3
    move v3, v1
    move/from16 v1, v18
    goto :goto_ac
    .line 3185
    :cond_a8
    iput v8, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v4
    :cond_ab
    move v1, v10
    :goto_ac
    const/16 v15, 0x65
    if-eq v3, v15, :cond_b7
    const/16 v15, 0x45
    if-ne v3, v15, :cond_b5
    goto :goto_b7
    :cond_b5
    const/4 v15, 0x0
    goto :goto_b8
    :cond_b7
    :goto_b7
    move v15, v10
    :goto_b8
    if-eqz v15, :cond_e9
    .line 3192
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v17, v16, 0x1
    add-int v3, v3, v16
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    const/16 v4, 0x2b
    if-eq v3, v4, :cond_ce
    if-ne v3, v11, :cond_cb
    goto :goto_ce
    :cond_cb
    move/from16 v16, v17
    goto :goto_da
    .line 3194
    :cond_ce
    :goto_ce
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v4, v17, 0x1
    add-int v3, v3, v17
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    :goto_d8
    move/from16 v16, v4
    :goto_da
    if-lt v3, v13, :cond_e9
    if-gt v3, v14, :cond_e9
    .line 3198
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v4, v16, 0x1
    add-int v3, v3, v16
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    goto :goto_d8
    .line 3205
    :cond_e9
    iget v4, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int v4, v4, v16
    sub-int/2addr v4, v9
    sub-int/2addr v4, v10
    if-nez v15, :cond_fa
    if-ge v4, v5, :cond_fa
    int-to-float v2, v2
    int-to-float v1, v1
    div-float/2addr v2, v1
    if-eqz v12, :cond_102
    neg-float v2, v2
    goto :goto_102
    .line 3214
    :cond_fa
    invoke-virtual {v0, v9, v4}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->subString(II)Ljava/lang/String;
    move-result-object v1
    .line 3215
    invoke-static {v1}, Ljava/lang/Float;->parseFloat(Ljava/lang/String;)F
    move-result v2
    .line 3218
    :cond_102
    :goto_102
    array-length v1, v6
    const/4 v4, 0x3
    if-lt v7, v1, :cond_111
    .line 3219
    array-length v1, v6
    mul-int/2addr v1, v4
    div-int/lit8 v1, v1, 0x2
    new-array v1, v1, [F
    const/4 v5, 0x0
    .line 3220
    invoke-static {v6, v5, v1, v5, v7}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
    move-object v6, v1
    :cond_111
    add-int/lit8 v5, v7, 0x1
    .line 3223
    aput v2, v6, v7
    const/16 v1, 0x2c
    if-ne v3, v1, :cond_12b
    .line 3226
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v2, v16, 0x1
    add-int v1, v1, v16
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    move v3, v2
    const/16 v4, 0x10
    const/4 v11, 0x0
    move v2, v1
    const/4 v1, 0x0
    goto/16 :goto_1b5
    :cond_12b
    const/16 v2, 0x5d
    if-ne v3, v2, :cond_1ae
    .line 3228
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v7, v16, 0x1
    add-int v3, v3, v16
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    .line 3238
    array-length v9, v6
    if-eq v5, v9, :cond_143
    .line 3239
    new-array v9, v5, [F
    const/4 v11, 0x0
    .line 3240
    invoke-static {v6, v11, v9, v11, v5}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
    move-object v6, v9
    :cond_143
    if-ne v3, v1, :cond_155
    .line 3245
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    sub-int/2addr v7, v10
    add-int/2addr v1, v7
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3246
    invoke-virtual/range {p0 .. p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    .line 3247
    iput v4, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    const/16 v4, 0x10
    .line 3248
    iput v4, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-object v6
    :cond_155
    const/16 v4, 0x10
    const/16 v5, 0x7d
    if-ne v3, v5, :cond_1aa
    .line 3253
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v9, v7, 0x1
    add-int/2addr v3, v7
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    if-ne v3, v1, :cond_172
    .line 3255
    iput v4, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 3256
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    sub-int/2addr v9, v10
    add-int/2addr v1, v9
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3257
    invoke-virtual/range {p0 .. p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    goto :goto_1a2
    :cond_172
    if-ne v3, v2, :cond_182
    const/16 v1, 0xf
    .line 3259
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 3260
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    sub-int/2addr v9, v10
    add-int/2addr v1, v9
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3261
    invoke-virtual/range {p0 .. p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    goto :goto_1a2
    :cond_182
    if-ne v3, v5, :cond_192
    const/16 v1, 0xd
    .line 3263
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 3264
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    sub-int/2addr v9, v10
    add-int/2addr v1, v9
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3265
    invoke-virtual/range {p0 .. p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    goto :goto_1a2
    :cond_192
    const/16 v1, 0x1a
    if-ne v3, v1, :cond_1a6
    .line 3267
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    sub-int/2addr v9, v10
    add-int/2addr v2, v9
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    const/16 v2, 0x14
    .line 3268
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 3269
    iput-char v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    :goto_1a2
    const/4 v1, 0x4
    .line 3274
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v6
    .line 3271
    :cond_1a6
    iput v8, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    const/4 v1, 0x0
    return-object v1
    :cond_1aa
    const/4 v1, 0x0
    .line 3276
    iput v8, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v1
    :cond_1ae
    const/4 v1, 0x0
    const/16 v4, 0x10
    const/4 v11, 0x0
    move v2, v3
    move/from16 v3, v16
    :goto_1b5
    move v7, v5
    move v5, v4
    move-object v4, v1
    move v1, v11
    goto/16 :goto_31
    :cond_1bb
    move-object v1, v4
    .line 3232
    iput v8, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v1
.end method
.method public final scanFieldFloatArray2([C)[[F
    .registers 23
    move-object/from16 v0, p0
    const/4 v1, 0x0
    .line 3284
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 3286
    invoke-virtual/range {p0 .. p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charArrayCompare([C)Z
    move-result v2
    const/4 v3, -0x2
    const/4 v4, 0x0
    if-nez v2, :cond_12
    .line 3287
    iput v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 3288
    check-cast v4, [[F
    return-object v4
    :cond_12
    move-object/from16 v2, p1
    .line 3291
    array-length v2, v2
    .line 3292
    iget v5, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v6, v2, 0x1
    add-int/2addr v5, v2
    invoke-virtual {v0, v5}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    const/16 v5, 0x5b
    if-eq v2, v5, :cond_27
    .line 3295
    iput v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 3296
    check-cast v4, [[F
    return-object v4
    .line 3298
    :cond_27
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, v6, 0x1
    add-int/2addr v2, v6
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    const/16 v6, 0x10
    new-array v7, v6, [[F
    move v8, v1
    :goto_35
    const/4 v11, -0x1
    const/4 v13, 0x1
    if-ne v2, v5, :cond_19e
    .line 3305
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v14, v3, 0x1
    add-int/2addr v2, v3
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    new-array v3, v6, [F
    move v15, v1
    .line 3311
    :goto_45
    iget v5, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int v16, v5, v14
    add-int/lit8 v6, v16, -0x1
    const/16 v9, 0x2d
    if-ne v2, v9, :cond_52
    move/from16 v17, v13
    goto :goto_54
    :cond_52
    move/from16 v17, v1
    :goto_54
    if-eqz v17, :cond_5f
    add-int/lit8 v2, v14, 0x1
    add-int/2addr v5, v14
    .line 3314
    invoke-virtual {v0, v5}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v5
    move v14, v2
    move v2, v5
    :cond_5f
    const/16 v5, 0x30
    if-lt v2, v5, :cond_197
    const/16 v12, 0x39
    if-gt v2, v12, :cond_197
    add-int/lit8 v2, v2, -0x30
    .line 3320
    :goto_69
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v18, v14, 0x1
    add-int/2addr v1, v14
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    if-lt v1, v5, :cond_7e
    if-gt v1, v12, :cond_7e
    mul-int/lit8 v2, v2, 0xa
    add-int/lit8 v1, v1, -0x30
    add-int/2addr v2, v1
    move/from16 v14, v18
    goto :goto_69
    :cond_7e
    const/16 v14, 0x2e
    if-ne v1, v14, :cond_ba
    .line 3332
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v14, v18, 0x1
    add-int v1, v1, v18
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    if-lt v1, v5, :cond_b5
    if-gt v1, v12, :cond_b5
    mul-int/lit8 v2, v2, 0xa
    add-int/lit8 v1, v1, -0x30
    add-int/2addr v2, v1
    const/16 v1, 0xa
    .line 3338
    :goto_97
    iget v10, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v18, v14, 0x1
    add-int/2addr v10, v14
    invoke-virtual {v0, v10}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v10
    if-lt v10, v5, :cond_ae
    if-gt v10, v12, :cond_ae
    mul-int/lit8 v2, v2, 0xa
    add-int/lit8 v10, v10, -0x30
    add-int/2addr v2, v10
    mul-int/lit8 v1, v1, 0xa
    move/from16 v14, v18
    goto :goto_97
    :cond_ae
    move/from16 v20, v2
    move v2, v1
    move v1, v10
    move/from16 v10, v20
    goto :goto_bc
    .line 3349
    :cond_b5
    iput v11, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 3350
    check-cast v4, [[F
    return-object v4
    :cond_ba
    move v10, v2
    move v2, v13
    :goto_bc
    const/16 v14, 0x65
    if-eq v1, v14, :cond_c7
    const/16 v14, 0x45
    if-ne v1, v14, :cond_c5
    goto :goto_c7
    :cond_c5
    const/4 v14, 0x0
    goto :goto_c8
    :cond_c7
    :goto_c7
    move v14, v13
    :goto_c8
    if-eqz v14, :cond_f9
    .line 3356
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v19, v18, 0x1
    add-int v1, v1, v18
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    const/16 v4, 0x2b
    if-eq v1, v4, :cond_de
    if-ne v1, v9, :cond_db
    goto :goto_de
    :cond_db
    move/from16 v18, v19
    goto :goto_ea
    .line 3358
    :cond_de
    :goto_de
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v4, v19, 0x1
    add-int v1, v1, v19
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    :goto_e8
    move/from16 v18, v4
    :goto_ea
    if-lt v1, v5, :cond_f9
    if-gt v1, v12, :cond_f9
    .line 3362
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v4, v18, 0x1
    add-int v1, v1, v18
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    goto :goto_e8
    .line 3369
    :cond_f9
    iget v4, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int v4, v4, v18
    sub-int/2addr v4, v6
    sub-int/2addr v4, v13
    if-nez v14, :cond_10c
    const/16 v5, 0xa
    if-ge v4, v5, :cond_10c
    int-to-float v4, v10
    int-to-float v2, v2
    div-float/2addr v4, v2
    if-eqz v17, :cond_114
    neg-float v4, v4
    goto :goto_114
    .line 3377
    :cond_10c
    invoke-virtual {v0, v6, v4}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->subString(II)Ljava/lang/String;
    move-result-object v2
    .line 3378
    invoke-static {v2}, Ljava/lang/Float;->parseFloat(Ljava/lang/String;)F
    move-result v4
    .line 3381
    :cond_114
    :goto_114
    array-length v2, v3
    if-lt v15, v2, :cond_123
    .line 3382
    array-length v2, v3
    const/4 v5, 0x3
    mul-int/2addr v2, v5
    div-int/lit8 v2, v2, 0x2
    new-array v2, v2, [F
    const/4 v5, 0x0
    .line 3383
    invoke-static {v3, v5, v2, v5, v15}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
    move-object v3, v2
    :cond_123
    add-int/lit8 v2, v15, 0x1
    .line 3386
    aput v4, v3, v15
    const/16 v4, 0x2c
    if-ne v1, v4, :cond_137
    .line 3389
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v4, v18, 0x1
    add-int v1, v1, v18
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    move v14, v4
    goto :goto_18f
    :cond_137
    const/16 v4, 0x5d
    if-ne v1, v4, :cond_18d
    .line 3391
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v4, v18, 0x1
    add-int v1, v1, v18
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    .line 3401
    array-length v5, v3
    if-eq v2, v5, :cond_150
    .line 3402
    new-array v5, v2, [F
    const/4 v6, 0x0
    .line 3403
    invoke-static {v3, v6, v5, v6, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
    move-object v3, v5
    goto :goto_151
    :cond_150
    const/4 v6, 0x0
    .line 3407
    :goto_151
    array-length v5, v7
    if-lt v8, v5, :cond_15f
    .line 3408
    array-length v5, v7
    const/4 v7, 0x3
    mul-int/2addr v5, v7
    div-int/lit8 v5, v5, 0x2
    new-array v5, v5, [[F
    .line 3409
    invoke-static {v3, v6, v5, v6, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
    move-object v7, v5
    :cond_15f
    add-int/lit8 v5, v8, 0x1
    .line 3412
    aput-object v3, v7, v8
    const/16 v2, 0x2c
    if-ne v1, v2, :cond_173
    .line 3415
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v2, v4, 0x1
    add-int/2addr v1, v4
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    move v3, v2
    move v2, v1
    goto :goto_184
    :cond_173
    const/16 v2, 0x5d
    if-ne v1, v2, :cond_182
    .line 3417
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, v4, 0x1
    add-int/2addr v1, v4
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    move v8, v5
    goto :goto_19e
    :cond_182
    move v2, v1
    move v3, v4
    :goto_184
    move v8, v5
    const/4 v1, 0x0
    const/4 v4, 0x0
    const/16 v5, 0x5b
    const/16 v6, 0x10
    goto/16 :goto_35
    :cond_18d
    move/from16 v14, v18
    :goto_18f
    move v15, v2
    const/4 v4, 0x0
    const/16 v6, 0x10
    move v2, v1
    const/4 v1, 0x0
    goto/16 :goto_45
    .line 3395
    :cond_197
    iput v11, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    const/4 v1, 0x0
    .line 3396
    move-object v4, v1
    check-cast v4, [[F
    return-object v4
    .line 3426
    :cond_19e
    :goto_19e
    array-length v1, v7
    if-eq v8, v1, :cond_1a8
    .line 3427
    new-array v1, v8, [[F
    const/4 v4, 0x0
    .line 3428
    invoke-static {v7, v4, v1, v4, v8}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
    move-object v7, v1
    :cond_1a8
    const/16 v1, 0x2c
    if-ne v2, v1, :cond_1bd
    .line 3433
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    sub-int/2addr v3, v13
    add-int/2addr v1, v3
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3434
    invoke-virtual/range {p0 .. p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    const/4 v1, 0x3
    .line 3435
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    const/16 v1, 0x10
    .line 3436
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-object v7
    :cond_1bd
    const/16 v1, 0x10
    const/16 v4, 0x7d
    if-ne v2, v4, :cond_219
    .line 3441
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v5, v3, 0x1
    add-int/2addr v2, v3
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    const/16 v3, 0x2c
    if-ne v2, v3, :cond_1dc
    .line 3443
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 3444
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    sub-int/2addr v5, v13
    add-int/2addr v1, v5
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3445
    invoke-virtual/range {p0 .. p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    goto :goto_20e
    :cond_1dc
    const/16 v1, 0x5d
    if-ne v2, v1, :cond_1ee
    const/16 v1, 0xf
    .line 3447
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 3448
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    sub-int/2addr v5, v13
    add-int/2addr v1, v5
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3449
    invoke-virtual/range {p0 .. p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    goto :goto_20e
    :cond_1ee
    if-ne v2, v4, :cond_1fe
    const/16 v1, 0xd
    .line 3451
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 3452
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    sub-int/2addr v5, v13
    add-int/2addr v1, v5
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 3453
    invoke-virtual/range {p0 .. p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    goto :goto_20e
    :cond_1fe
    const/16 v1, 0x1a
    if-ne v2, v1, :cond_212
    .line 3455
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    sub-int/2addr v5, v13
    add-int/2addr v2, v5
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    const/16 v2, 0x14
    .line 3456
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 3457
    iput-char v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    :goto_20e
    const/4 v1, 0x4
    .line 3462
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v7
    .line 3459
    :cond_212
    iput v11, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    const/4 v1, 0x0
    .line 3460
    move-object v4, v1
    check-cast v4, [[F
    return-object v4
    :cond_219
    const/4 v1, 0x0
    .line 3464
    iput v11, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 3465
    move-object v4, v1
    check-cast v4, [[F
    return-object v4
.end method
.method public scanFieldInt([C)I
    .registers 12
    const/4 v0, 0x0
    .line 1907
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 1909
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charArrayCompare([C)Z
    move-result v1
    if-nez v1, :cond_d
    const/4 p1, -0x2
    .line 1910
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v0
    .line 1914
    :cond_d
    array-length v1, p1
    .line 1915
    iget v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, v1, 0x1
    add-int/2addr v2, v1
    invoke-virtual {p0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    const/16 v2, 0x2d
    const/4 v4, 0x1
    if-ne v1, v2, :cond_1e
    move v2, v4
    goto :goto_1f
    :cond_1e
    move v2, v0
    :goto_1f
    if-eqz v2, :cond_2b
    .line 1919
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v5, v3, 0x1
    add-int/2addr v1, v3
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    move v3, v5
    :cond_2b
    const/16 v5, 0x30
    const/4 v6, -0x1
    if-lt v1, v5, :cond_e0
    const/16 v7, 0x39
    if-gt v1, v7, :cond_e0
    sub-int/2addr v1, v5
    .line 1926
    :goto_35
    iget v8, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v9, v3, 0x1
    add-int/2addr v8, v3
    invoke-virtual {p0, v8}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    if-lt v3, v5, :cond_49
    if-gt v3, v7, :cond_49
    mul-int/lit8 v1, v1, 0xa
    add-int/lit8 v3, v3, -0x30
    add-int/2addr v1, v3
    move v3, v9
    goto :goto_35
    :cond_49
    const/16 v5, 0x2e
    if-ne v3, v5, :cond_50
    .line 1930
    iput v6, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v0
    :cond_50
    if-ltz v1, :cond_57
    .line 1936
    array-length p1, p1
    add-int/lit8 p1, p1, 0xe
    if-le v9, p1, :cond_63
    :cond_57
    const/high16 p1, -0x80000000
    if-ne v1, p1, :cond_dd
    const/16 p1, 0x11
    if-ne v9, p1, :cond_dd
    if-nez v2, :cond_63
    goto/16 :goto_dd
    :cond_63
    const/16 p1, 0x10
    const/16 v5, 0x2c
    if-ne v3, v5, :cond_7d
    .line 1951
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v0, v9
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1952
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    iput-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/4 v0, 0x3
    .line 1953
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 1954
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    if-eqz v2, :cond_7c
    neg-int v1, v1
    :cond_7c
    return v1
    :cond_7d
    const/16 v7, 0x7d
    if-ne v3, v7, :cond_da
    .line 1959
    iget v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v8, v9, 0x1
    add-int/2addr v3, v9
    invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    if-ne v3, v5, :cond_9a
    .line 1961
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 1962
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr p1, v8
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1963
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_d0
    :cond_9a
    const/16 p1, 0x5d
    if-ne v3, p1, :cond_ae
    const/16 p1, 0xf
    .line 1965
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 1966
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr p1, v8
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1967
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_d0
    :cond_ae
    if-ne v3, v7, :cond_c0
    const/16 p1, 0xd
    .line 1969
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 1970
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr p1, v8
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1971
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_d0
    :cond_c0
    const/16 p1, 0x1a
    if-ne v3, p1, :cond_d7
    const/16 v0, 0x14
    .line 1973
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 1974
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    sub-int/2addr v8, v4
    add-int/2addr v0, v8
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1975
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    :goto_d0
    const/4 p1, 0x4
    .line 1980
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    if-eqz v2, :cond_d6
    neg-int v1, v1
    :cond_d6
    return v1
    .line 1977
    :cond_d7
    iput v6, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v0
    .line 1982
    :cond_da
    iput v6, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v0
    .line 1941
    :cond_dd
    :goto_dd
    iput v6, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v0
    .line 1946
    :cond_e0
    iput v6, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v0
.end method
.method public final scanFieldIntArray([C)[I
    .registers 19
    move-object/from16 v0, p0
    const/4 v1, 0x0
    .line 1990
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 1992
    invoke-virtual/range {p0 .. p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charArrayCompare([C)Z
    move-result v2
    const/4 v3, -0x2
    const/4 v4, 0x0
    if-nez v2, :cond_10
    .line 1993
    iput v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v4
    :cond_10
    move-object/from16 v2, p1
    .line 1997
    array-length v2, v2
    .line 1998
    iget v5, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v6, v2, 0x1
    add-int/2addr v5, v2
    invoke-virtual {v0, v5}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    const/16 v5, 0x5b
    if-eq v2, v5, :cond_23
    .line 2001
    iput v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v4
    .line 2004
    :cond_23
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, v6, 0x1
    add-int/2addr v2, v6
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    const/16 v5, 0x10
    new-array v6, v5, [I
    const/4 v7, 0x3
    const/16 v8, 0x2c
    const/4 v9, -0x1
    const/16 v10, 0x5d
    const/4 v11, 0x1
    if-ne v2, v10, :cond_45
    .line 2010
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v12, v3, 0x1
    add-int/2addr v2, v3
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    move v4, v1
    goto/16 :goto_a7
    :cond_45
    move v12, v1
    :goto_46
    const/16 v13, 0x2d
    if-ne v2, v13, :cond_56
    .line 2015
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v13, v3, 0x1
    add-int/2addr v2, v3
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    move v3, v13
    move v13, v11
    goto :goto_57
    :cond_56
    move v13, v1
    :goto_57
    const/16 v14, 0x30
    if-lt v2, v14, :cond_11f
    const/16 v15, 0x39
    if-gt v2, v15, :cond_11f
    add-int/lit8 v2, v2, -0x30
    .line 2021
    :goto_61
    iget v4, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v16, v3, 0x1
    add-int/2addr v4, v3
    invoke-virtual {v0, v4}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    if-lt v3, v14, :cond_76
    if-gt v3, v15, :cond_76
    mul-int/lit8 v2, v2, 0xa
    add-int/lit8 v3, v3, -0x30
    add-int/2addr v2, v3
    move/from16 v3, v16
    goto :goto_61
    .line 2030
    :cond_76
    array-length v4, v6
    if-lt v12, v4, :cond_83
    .line 2031
    array-length v4, v6
    mul-int/2addr v4, v7
    div-int/lit8 v4, v4, 0x2
    new-array v4, v4, [I
    .line 2032
    invoke-static {v6, v1, v4, v1, v12}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
    move-object v6, v4
    :cond_83
    add-int/lit8 v4, v12, 0x1
    if-eqz v13, :cond_88
    neg-int v2, v2
    .line 2035
    :cond_88
    aput v2, v6, v12
    if-ne v3, v8, :cond_9b
    .line 2038
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, v16, 0x1
    add-int v2, v2, v16
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    move/from16 v16, v3
    move v3, v2
    goto/16 :goto_117
    :cond_9b
    if-ne v3, v10, :cond_117
    .line 2040
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v12, v16, 0x1
    add-int v2, v2, v16
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    .line 2051
    :goto_a7
    array-length v3, v6
    if-eq v4, v3, :cond_b0
    .line 2052
    new-array v3, v4, [I
    .line 2053
    invoke-static {v6, v1, v3, v1, v4}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
    move-object v6, v3
    :cond_b0
    if-ne v2, v8, :cond_c0
    .line 2058
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    sub-int/2addr v12, v11
    add-int/2addr v1, v12
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 2059
    invoke-virtual/range {p0 .. p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    .line 2060
    iput v7, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 2061
    iput v5, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-object v6
    :cond_c0
    const/16 v1, 0x7d
    if-ne v2, v1, :cond_113
    .line 2066
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, v12, 0x1
    add-int/2addr v2, v12
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    if-ne v2, v8, :cond_db
    .line 2068
    iput v5, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 2069
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    sub-int/2addr v3, v11
    add-int/2addr v1, v3
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 2070
    invoke-virtual/range {p0 .. p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    goto :goto_10b
    :cond_db
    if-ne v2, v10, :cond_eb
    const/16 v1, 0xf
    .line 2072
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 2073
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    sub-int/2addr v3, v11
    add-int/2addr v1, v3
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 2074
    invoke-virtual/range {p0 .. p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    goto :goto_10b
    :cond_eb
    if-ne v2, v1, :cond_fb
    const/16 v1, 0xd
    .line 2076
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 2077
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    sub-int/2addr v3, v11
    add-int/2addr v1, v3
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 2078
    invoke-virtual/range {p0 .. p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    goto :goto_10b
    :cond_fb
    const/16 v1, 0x1a
    if-ne v2, v1, :cond_10f
    .line 2080
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    sub-int/2addr v3, v11
    add-int/2addr v2, v3
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    const/16 v2, 0x14
    .line 2081
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 2082
    iput-char v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    :goto_10b
    const/4 v1, 0x4
    .line 2087
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v6
    .line 2084
    :cond_10f
    iput v9, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    const/4 v2, 0x0
    return-object v2
    :cond_113
    const/4 v2, 0x0
    .line 2089
    iput v9, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v2
    :cond_117
    :goto_117
    const/4 v2, 0x0
    move v12, v4
    move-object v4, v2
    move v2, v3
    move/from16 v3, v16
    goto/16 :goto_46
    :cond_11f
    move-object v2, v4
    .line 2044
    iput v9, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v2
.end method
.method public scanFieldLong([C)J
    .registers 19
    move-object/from16 v0, p0
    move-object/from16 v1, p1
    const/4 v2, 0x0
    .line 2332
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 2334
    invoke-virtual/range {p0 .. p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charArrayCompare([C)Z
    move-result v3
    const-wide/16 v4, 0x0
    if-nez v3, :cond_13
    const/4 v1, -0x2
    .line 2335
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v4
    .line 2339
    :cond_13
    array-length v3, v1
    .line 2340
    iget v6, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v7, v3, 0x1
    add-int/2addr v6, v3
    invoke-virtual {v0, v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    const/16 v6, 0x2d
    const/4 v8, 0x1
    if-ne v3, v6, :cond_2e
    .line 2344
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v6, v7, 0x1
    add-int/2addr v3, v7
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    move v7, v6
    move v6, v8
    goto :goto_2f
    :cond_2e
    move v6, v2
    :goto_2f
    const/16 v9, 0x30
    const/4 v10, -0x1
    if-lt v3, v9, :cond_ed
    const/16 v11, 0x39
    if-gt v3, v11, :cond_ed
    sub-int/2addr v3, v9
    int-to-long v12, v3
    .line 2352
    :goto_3a
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v14, v7, 0x1
    add-int/2addr v3, v7
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    if-lt v3, v9, :cond_51
    if-gt v3, v11, :cond_51
    const-wide/16 v15, 0xa
    mul-long/2addr v12, v15
    add-int/lit8 v3, v3, -0x30
    int-to-long v2, v3
    add-long/2addr v12, v2
    move v7, v14
    const/4 v2, 0x0
    goto :goto_3a
    :cond_51
    const/16 v2, 0x2e
    if-ne v3, v2, :cond_58
    .line 2356
    iput v10, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v4
    .line 2363
    :cond_58
    array-length v1, v1
    sub-int v1, v14, v1
    const/16 v2, 0x15
    if-ge v1, v2, :cond_6d
    cmp-long v1, v12, v4
    if-gez v1, :cond_6b
    const-wide/high16 v1, -0x8000000000000000L
    cmp-long v1, v12, v1
    if-nez v1, :cond_6d
    if-eqz v6, :cond_6d
    :cond_6b
    move v2, v8
    goto :goto_6e
    :cond_6d
    const/4 v2, 0x0
    :goto_6e
    if-nez v2, :cond_73
    .line 2366
    iput v10, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v4
    :cond_73
    const/16 v1, 0x10
    const/16 v2, 0x2c
    if-ne v3, v2, :cond_8d
    .line 2375
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v14
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 2376
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/4 v2, 0x3
    .line 2377
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 2378
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    if-eqz v6, :cond_8c
    neg-long v12, v12
    :cond_8c
    return-wide v12
    :cond_8d
    const/16 v7, 0x7d
    if-ne v3, v7, :cond_ea
    .line 2383
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v9, v14, 0x1
    add-int/2addr v3, v14
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    if-ne v3, v2, :cond_aa
    .line 2385
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 2386
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v9
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 2387
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    iput-char v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_e0
    :cond_aa
    const/16 v1, 0x5d
    if-ne v3, v1, :cond_be
    const/16 v1, 0xf
    .line 2389
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 2390
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v9
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 2391
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    iput-char v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_e0
    :cond_be
    if-ne v3, v7, :cond_d0
    const/16 v1, 0xd
    .line 2393
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 2394
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v9
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 2395
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    iput-char v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_e0
    :cond_d0
    const/16 v1, 0x1a
    if-ne v3, v1, :cond_e7
    const/16 v2, 0x14
    .line 2397
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 2398
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    sub-int/2addr v9, v8
    add-int/2addr v2, v9
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 2399
    iput-char v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    :goto_e0
    const/4 v1, 0x4
    .line 2404
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    if-eqz v6, :cond_e6
    neg-long v12, v12
    :cond_e6
    return-wide v12
    .line 2401
    :cond_e7
    iput v10, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v4
    .line 2406
    :cond_ea
    iput v10, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v4
    .line 2370
    :cond_ed
    iput v10, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v4
.end method
.method public scanFieldString([C)Ljava/lang/String;
    .registers 11
    const/4 v0, 0x0
    .line 1244
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 1246
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charArrayCompare([C)Z
    move-result v1
    if-nez v1, :cond_11
    const/4 p1, -0x2
    .line 1247
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 1248
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->stringDefaultValue()Ljava/lang/String;
    move-result-object p1
    return-object p1
    .line 1253
    :cond_11
    array-length v1, p1
    .line 1254
    iget v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, v1, 0x1
    add-int/2addr v2, v1
    invoke-virtual {p0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    const/16 v2, 0x22
    const/4 v4, -0x1
    if-eq v1, v2, :cond_27
    .line 1257
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 1259
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->stringDefaultValue()Ljava/lang/String;
    move-result-object p1
    return-object p1
    .line 1264
    :cond_27
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    array-length v5, p1
    add-int/2addr v1, v5
    add-int/lit8 v1, v1, 0x1
    .line 1265
    invoke-virtual {p0, v2, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->indexOf(CI)I
    move-result v1
    if-eq v1, v4, :cond_103
    .line 1270
    iget v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    array-length v6, p1
    add-int/2addr v5, v6
    add-int/lit8 v5, v5, 0x1
    sub-int v6, v1, v5
    .line 1271
    invoke-virtual {p0, v5, v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->subString(II)Ljava/lang/String;
    move-result-object v5
    const/16 v6, 0x5c
    .line 1272
    invoke-virtual {v5, v6}, Ljava/lang/String;->indexOf(I)I
    move-result v7
    if-eq v7, v4, :cond_77
    :goto_47
    add-int/lit8 v5, v1, -0x1
    move v7, v0
    :goto_4a
    if-ltz v5, :cond_57
    .line 1276
    invoke-virtual {p0, v5}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v8
    if-ne v8, v6, :cond_57
    add-int/lit8 v7, v7, 0x1
    add-int/lit8 v5, v5, -0x1
    goto :goto_4a
    .line 1282
    :cond_57
    rem-int/lit8 v7, v7, 0x2
    if-nez v7, :cond_70
    .line 1288
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    array-length v2, p1
    add-int/2addr v2, v0
    add-int/lit8 v2, v2, 0x1
    sub-int v2, v1, v2
    .line 1289
    array-length v5, p1
    add-int/2addr v0, v5
    add-int/lit8 v0, v0, 0x1
    invoke-virtual {p0, v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sub_chars(II)[C
    move-result-object v0
    .line 1291
    invoke-static {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->readString([CI)Ljava/lang/String;
    move-result-object v5
    goto :goto_77
    :cond_70
    add-int/lit8 v1, v1, 0x1
    .line 1285
    invoke-virtual {p0, v2, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->indexOf(CI)I
    move-result v1
    goto :goto_47
    .line 1294
    :cond_77
    :goto_77
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    array-length p1, p1
    add-int/2addr p1, v0
    add-int/lit8 p1, p1, 0x1
    sub-int/2addr v1, p1
    add-int/lit8 v1, v1, 0x1
    add-int/2addr v3, v1
    add-int/lit8 p1, v3, 0x1
    add-int/2addr v0, v3
    .line 1295
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    const/16 v1, 0x2c
    if-ne v0, v1, :cond_9b
    .line 1300
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v0, p1
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1301
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/4 p1, 0x3
    .line 1302
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v5
    :cond_9b
    const/16 v2, 0x7d
    if-ne v0, v2, :cond_fc
    .line 1307
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, p1, 0x1
    add-int/2addr v0, p1
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    if-ne p1, v1, :cond_ba
    const/16 p1, 0x10
    .line 1309
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 1310
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr p1, v3
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1311
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_f1
    :cond_ba
    const/16 v0, 0x5d
    if-ne p1, v0, :cond_ce
    const/16 p1, 0xf
    .line 1313
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 1314
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr p1, v3
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1315
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_f1
    :cond_ce
    if-ne p1, v2, :cond_e0
    const/16 p1, 0xd
    .line 1317
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 1318
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr p1, v3
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1319
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_f1
    :cond_e0
    const/16 v0, 0x1a
    if-ne p1, v0, :cond_f5
    const/16 p1, 0x14
    .line 1321
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 1322
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, v3, -0x1
    add-int/2addr p1, v3
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1323
    iput-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    :goto_f1
    const/4 p1, 0x4
    .line 1328
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v5
    .line 1325
    :cond_f5
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 1326
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->stringDefaultValue()Ljava/lang/String;
    move-result-object p1
    return-object p1
    .line 1330
    :cond_fc
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 1331
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->stringDefaultValue()Ljava/lang/String;
    move-result-object p1
    return-object p1
    .line 1267
    :cond_103
    new-instance p1, Lcom/alibaba/fastjson/JSONException;
    const-string v0, "unclosed str"
    invoke-direct {p1, v0}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw p1
.end method
.method public scanFieldStringArray([CLjava/lang/Class;)Ljava/util/Collection;
    .registers 14
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "([C",
            "Ljava/lang/Class<",
            "*>;)",
            "Ljava/util/Collection<",
            "Ljava/lang/String;",
            ">;"
        }
    .end annotation
    const/4 v0, 0x0
    .line 1671
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 1673
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charArrayCompare([C)Z
    move-result v1
    const/4 v2, 0x0
    if-nez v1, :cond_e
    const/4 p1, -0x2
    .line 1674
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v2
    .line 1678
    :cond_e
    invoke-virtual {p0, p2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->newCollectionByType(Ljava/lang/Class;)Ljava/util/Collection;
    move-result-object p2
    .line 1694
    array-length p1, p1
    .line 1695
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, p1, 0x1
    add-int/2addr v1, p1
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    const/16 v1, 0x5b
    const/4 v4, -0x1
    if-eq p1, v1, :cond_24
    .line 1698
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v2
    .line 1702
    :cond_24
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v1, v3, 0x1
    add-int/2addr p1, v3
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    :goto_2d
    const/16 v3, 0x2c
    const/16 v5, 0x5d
    const/16 v6, 0x22
    if-ne p1, v6, :cond_95
    .line 1707
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr p1, v1
    .line 1708
    invoke-virtual {p0, v6, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->indexOf(CI)I
    move-result p1
    if-eq p1, v4, :cond_8d
    .line 1713
    iget v7, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v7, v1
    sub-int v8, p1, v7
    .line 1714
    invoke-virtual {p0, v7, v8}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->subString(II)Ljava/lang/String;
    move-result-object v7
    const/16 v8, 0x5c
    .line 1715
    invoke-virtual {v7, v8}, Ljava/lang/String;->indexOf(I)I
    move-result v9
    if-eq v9, v4, :cond_7a
    :goto_4f
    add-int/lit8 v7, p1, -0x1
    move v9, v0
    :goto_52
    if-ltz v7, :cond_5f
    .line 1719
    invoke-virtual {p0, v7}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v10
    if-ne v10, v8, :cond_5f
    add-int/lit8 v9, v9, 0x1
    add-int/lit8 v7, v7, -0x1
    goto :goto_52
    .line 1725
    :cond_5f
    rem-int/lit8 v9, v9, 0x2
    if-nez v9, :cond_73
    .line 1731
    iget v6, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int v7, v6, v1
    sub-int v7, p1, v7
    add-int/2addr v6, v1
    .line 1732
    invoke-virtual {p0, v6, v7}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sub_chars(II)[C
    move-result-object v6
    .line 1734
    invoke-static {v6, v7}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->readString([CI)Ljava/lang/String;
    move-result-object v7
    goto :goto_7a
    :cond_73
    add-int/lit8 p1, p1, 0x1
    .line 1728
    invoke-virtual {p0, v6, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->indexOf(CI)I
    move-result p1
    goto :goto_4f
    .line 1737
    :cond_7a
    :goto_7a
    iget v6, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int v8, v6, v1
    sub-int/2addr p1, v8
    add-int/lit8 p1, p1, 0x1
    add-int/2addr v1, p1
    add-int/lit8 p1, v1, 0x1
    add-int/2addr v6, v1
    .line 1738
    invoke-virtual {p0, v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    .line 1740
    invoke-interface {p2, v7}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
    goto :goto_cb
    .line 1710
    :cond_8d
    new-instance p1, Lcom/alibaba/fastjson/JSONException;
    const-string p2, "unclosed str"
    invoke-direct {p1, p2}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw p1
    :cond_95
    const/16 v6, 0x6e
    if-ne p1, v6, :cond_e8
    .line 1741
    iget v6, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v6, v1
    .line 1742
    invoke-virtual {p0, v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v6
    const/16 v7, 0x75
    if-ne v6, v7, :cond_e8
    iget v6, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v6, v1
    add-int/lit8 v6, v6, 0x1
    .line 1743
    invoke-virtual {p0, v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v6
    const/16 v7, 0x6c
    if-ne v6, v7, :cond_e8
    iget v6, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v6, v1
    add-int/lit8 v6, v6, 0x2
    .line 1744
    invoke-virtual {p0, v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v6
    if-ne v6, v7, :cond_e8
    add-int/lit8 v1, v1, 0x3
    .line 1746
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v6, v1, 0x1
    add-int/2addr p1, v1
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    .line 1747
    invoke-interface {p2, v2}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
    move p1, v6
    :goto_cb
    if-ne v1, v3, :cond_d9
    .line 1756
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, p1, 0x1
    add-int/2addr v1, p1
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    move v1, v3
    goto/16 :goto_2d
    :cond_d9
    if-ne v1, v5, :cond_e5
    .line 1761
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v1, p1, 0x1
    add-int/2addr v0, p1
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    goto :goto_fa
    .line 1765
    :cond_e5
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v2
    :cond_e8
    if-ne p1, v5, :cond_169
    .line 1748
    invoke-interface {p2}, Ljava/util/Collection;->size()I
    move-result p1
    if-nez p1, :cond_169
    .line 1749
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v0, v1, 0x1
    add-int/2addr p1, v1
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    move v1, v0
    :goto_fa
    if-ne p1, v3, :cond_10b
    .line 1770
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr p1, v1
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1771
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/4 p1, 0x3
    .line 1772
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object p2
    :cond_10b
    const/16 v0, 0x7d
    if-ne p1, v0, :cond_166
    .line 1777
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v6, v1, 0x1
    add-int/2addr p1, v1
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    if-ne p1, v3, :cond_12a
    const/16 p1, 0x10
    .line 1779
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 1780
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr p1, v6
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1781
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_15f
    :cond_12a
    if-ne p1, v5, :cond_13c
    const/16 p1, 0xf
    .line 1783
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 1784
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr p1, v6
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1785
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_15f
    :cond_13c
    if-ne p1, v0, :cond_14e
    const/16 p1, 0xd
    .line 1787
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 1788
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr p1, v6
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1789
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_15f
    :cond_14e
    const/16 v0, 0x1a
    if-ne p1, v0, :cond_163
    .line 1791
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v6, v6, -0x1
    add-int/2addr p1, v6
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    const/16 p1, 0x14
    .line 1792
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 1793
    iput-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    :goto_15f
    const/4 p1, 0x4
    .line 1798
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object p2
    .line 1795
    :cond_163
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v2
    .line 1800
    :cond_166
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v2
    .line 1752
    :cond_169
    new-instance p1, Lcom/alibaba/fastjson/JSONException;
    const-string p2, "illega str"
    invoke-direct {p1, p2}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw p1
.end method
.method public scanFieldStringArray([CILcom/alibaba/fastjson/parser/SymbolTable;)[Ljava/lang/String;
    .registers 4
    .line 5339
    new-instance p1, Ljava/lang/UnsupportedOperationException;
    invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;-><init>()V
    throw p1
.end method
.method public scanFieldSymbol([C)J
    .registers 12
    const/4 v0, 0x0
    .line 1431
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 1433
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charArrayCompare([C)Z
    move-result v0
    const-wide/16 v1, 0x0
    if-nez v0, :cond_f
    const/4 p1, -0x2
    .line 1434
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v1
    .line 1438
    :cond_f
    array-length p1, p1
    .line 1439
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, p1, 0x1
    add-int/2addr v0, p1
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    const/16 v0, 0x22
    const/4 v4, -0x1
    if-eq p1, v0, :cond_21
    .line 1442
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v1
    :cond_21
    const-wide v5, -0x340d631b7bdddcdbL    # -7.302176725335867E57
    .line 1448
    :goto_26
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v7, v3, 0x1
    add-int/2addr p1, v3
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    if-ne p1, v0, :cond_ad
    .line 1450
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v0, v7, 0x1
    add-int/2addr p1, v7
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    const/16 v3, 0x2c
    if-ne p1, v3, :cond_4d
    .line 1464
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr p1, v0
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1465
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/4 p1, 0x3
    .line 1466
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v5
    :cond_4d
    const/16 v7, 0x7d
    if-ne p1, v7, :cond_aa
    .line 1471
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v8, v0, 0x1
    add-int/2addr p1, v0
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    if-ne p1, v3, :cond_6c
    const/16 p1, 0x10
    .line 1473
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 1474
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr p1, v8
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1475
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_a3
    :cond_6c
    const/16 v0, 0x5d
    if-ne p1, v0, :cond_80
    const/16 p1, 0xf
    .line 1477
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 1478
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr p1, v8
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1479
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_a3
    :cond_80
    if-ne p1, v7, :cond_92
    const/16 p1, 0xd
    .line 1481
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 1482
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr p1, v8
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1483
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_a3
    :cond_92
    const/16 v0, 0x1a
    if-ne p1, v0, :cond_a7
    const/16 p1, 0x14
    .line 1485
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 1486
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v8, v8, -0x1
    add-int/2addr p1, v8
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1487
    iput-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    :goto_a3
    const/4 p1, 0x4
    .line 1492
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v5
    .line 1489
    :cond_a7
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v1
    .line 1494
    :cond_aa
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v1
    :cond_ad
    int-to-long v8, p1
    xor-long/2addr v5, v8
    const-wide v8, 0x100000001b3L
    mul-long/2addr v5, v8
    const/16 v3, 0x5c
    if-ne p1, v3, :cond_bc
    .line 1458
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v1
    :cond_bc
    move v3, v7
    goto/16 :goto_26
.end method
.method public scanFieldUUID([C)Ljava/util/UUID;
    .registers 24
    move-object/from16 v0, p0
    move-object/from16 v1, p1
    const/4 v2, 0x0
    .line 4225
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 4227
    invoke-virtual/range {p0 .. p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charArrayCompare([C)Z
    move-result v3
    const/4 v4, -0x2
    const/4 v5, 0x0
    if-nez v3, :cond_12
    .line 4228
    iput v4, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v5
    .line 4234
    :cond_12
    array-length v3, v1
    .line 4235
    iget v6, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v7, v3, 0x1
    add-int/2addr v6, v3
    invoke-virtual {v0, v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    const/16 v8, 0x22
    const/4 v10, -0x1
    const/4 v11, 0x4
    if-ne v3, v8, :cond_20f
    .line 4239
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    array-length v12, v1
    add-int/2addr v3, v12
    add-int/lit8 v3, v3, 0x1
    .line 4240
    invoke-virtual {v0, v8, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->indexOf(CI)I
    move-result v3
    if-eq v3, v10, :cond_207
    .line 4245
    iget v8, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    array-length v12, v1
    add-int/2addr v8, v12
    add-int/lit8 v8, v8, 0x1
    sub-int v12, v3, v8
    const/16 v13, 0x24
    const/16 v2, 0x46
    const/16 v14, 0x66
    const/16 v15, 0x39
    const/16 v10, 0x41
    const/16 v9, 0x61
    const/16 v6, 0x30
    if-ne v12, v13, :cond_170
    const/4 v12, 0x0
    const-wide/16 v19, 0x0
    :goto_49
    const/16 v13, 0x8
    if-ge v12, v13, :cond_7b
    add-int v13, v8, v12
    .line 4250
    invoke-virtual {v0, v13}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v13
    if-lt v13, v6, :cond_5a
    if-gt v13, v15, :cond_5a
    add-int/lit8 v13, v13, -0x30
    goto :goto_6a
    :cond_5a
    if-lt v13, v9, :cond_63
    if-gt v13, v14, :cond_63
    add-int/lit8 v13, v13, -0x61
    :goto_60
    add-int/lit8 v13, v13, 0xa
    goto :goto_6a
    :cond_63
    if-lt v13, v10, :cond_78
    if-gt v13, v2, :cond_78
    add-int/lit8 v13, v13, -0x41
    goto :goto_60
    :goto_6a
    shl-long v19, v19, v11
    move/from16 v21, v3
    int-to-long v2, v13
    or-long v19, v19, v2
    add-int/lit8 v12, v12, 0x1
    move/from16 v3, v21
    const/16 v2, 0x46
    goto :goto_49
    .line 4259
    :cond_78
    iput v4, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v5
    :cond_7b
    move/from16 v21, v3
    const/16 v2, 0x9
    const/16 v3, 0xd
    :goto_81
    if-ge v2, v3, :cond_b2
    add-int v3, v8, v2
    .line 4267
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    if-lt v3, v6, :cond_90
    if-gt v3, v15, :cond_90
    add-int/lit8 v3, v3, -0x30
    goto :goto_a2
    :cond_90
    if-lt v3, v9, :cond_99
    if-gt v3, v14, :cond_99
    add-int/lit8 v3, v3, -0x61
    :goto_96
    add-int/lit8 v3, v3, 0xa
    goto :goto_a2
    :cond_99
    if-lt v3, v10, :cond_af
    const/16 v12, 0x46
    if-gt v3, v12, :cond_af
    add-int/lit8 v3, v3, -0x41
    goto :goto_96
    :goto_a2
    shl-long v12, v19, v11
    int-to-long v10, v3
    or-long v19, v12, v10
    add-int/lit8 v2, v2, 0x1
    const/16 v3, 0xd
    const/16 v10, 0x41
    const/4 v11, 0x4
    goto :goto_81
    .line 4276
    :cond_af
    iput v4, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v5
    :cond_b2
    const/16 v2, 0xe
    move-wide/from16 v10, v19
    :goto_b6
    const/16 v3, 0x12
    if-ge v2, v3, :cond_e5
    add-int v3, v8, v2
    .line 4284
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    if-lt v3, v6, :cond_c8
    if-gt v3, v15, :cond_c8
    add-int/lit8 v3, v3, -0x30
    :goto_c6
    const/4 v12, 0x4
    goto :goto_dc
    :cond_c8
    if-lt v3, v9, :cond_d1
    if-gt v3, v14, :cond_d1
    add-int/lit8 v3, v3, -0x61
    :goto_ce
    add-int/lit8 v3, v3, 0xa
    goto :goto_c6
    :cond_d1
    const/16 v12, 0x41
    if-lt v3, v12, :cond_e2
    const/16 v12, 0x46
    if-gt v3, v12, :cond_e2
    add-int/lit8 v3, v3, -0x41
    goto :goto_ce
    :goto_dc
    shl-long/2addr v10, v12
    int-to-long v12, v3
    or-long/2addr v10, v12
    add-int/lit8 v2, v2, 0x1
    goto :goto_b6
    .line 4293
    :cond_e2
    iput v4, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v5
    :cond_e5
    const/16 v2, 0x13
    const-wide/16 v17, 0x0
    :goto_e9
    const/16 v3, 0x17
    if-ge v2, v3, :cond_11a
    add-int v3, v8, v2
    .line 4301
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    if-lt v3, v6, :cond_fb
    if-gt v3, v15, :cond_fb
    add-int/lit8 v3, v3, -0x30
    :goto_f9
    const/4 v12, 0x4
    goto :goto_10f
    :cond_fb
    if-lt v3, v9, :cond_104
    if-gt v3, v14, :cond_104
    add-int/lit8 v3, v3, -0x61
    :goto_101
    add-int/lit8 v3, v3, 0xa
    goto :goto_f9
    :cond_104
    const/16 v12, 0x41
    if-lt v3, v12, :cond_117
    const/16 v12, 0x46
    if-gt v3, v12, :cond_117
    add-int/lit8 v3, v3, -0x41
    goto :goto_101
    :goto_10f
    shl-long v16, v17, v12
    int-to-long v12, v3
    or-long v17, v16, v12
    add-int/lit8 v2, v2, 0x1
    goto :goto_e9
    .line 4310
    :cond_117
    iput v4, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v5
    :cond_11a
    const/16 v2, 0x18
    move-wide/from16 v12, v17
    const/16 v3, 0x24
    :goto_120
    if-ge v2, v3, :cond_155
    add-int v3, v8, v2
    .line 4318
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    if-lt v3, v6, :cond_130
    if-gt v3, v15, :cond_130
    add-int/lit8 v3, v3, -0x30
    :goto_12e
    const/4 v14, 0x4
    goto :goto_144
    :cond_130
    if-lt v3, v9, :cond_139
    if-gt v3, v14, :cond_139
    add-int/lit8 v3, v3, -0x61
    :goto_136
    add-int/lit8 v3, v3, 0xa
    goto :goto_12e
    :cond_139
    const/16 v14, 0x41
    if-lt v3, v14, :cond_152
    const/16 v14, 0x46
    if-gt v3, v14, :cond_152
    add-int/lit8 v3, v3, -0x41
    goto :goto_136
    :goto_144
    shl-long/2addr v12, v14
    move v14, v7
    int-to-long v6, v3
    or-long/2addr v12, v6
    add-int/lit8 v2, v2, 0x1
    move v7, v14
    const/16 v3, 0x24
    const/16 v6, 0x30
    const/16 v14, 0x66
    goto :goto_120
    .line 4327
    :cond_152
    iput v4, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v5
    :cond_155
    move v14, v7
    .line 4334
    new-instance v2, Ljava/util/UUID;
    invoke-direct {v2, v10, v11, v12, v13}, Ljava/util/UUID;-><init>(JJ)V
    .line 4336
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    array-length v1, v1
    add-int/2addr v1, v3
    add-int/lit8 v1, v1, 0x1
    sub-int v1, v21, v1
    add-int/lit8 v1, v1, 0x1
    add-int v7, v14, v1
    add-int/lit8 v1, v7, 0x1
    add-int/2addr v3, v7
    .line 4337
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    goto/16 :goto_244
    :cond_170
    move/from16 v21, v3
    move v14, v7
    const/16 v2, 0x20
    if-ne v12, v2, :cond_203
    const/4 v3, 0x0
    const-wide/16 v6, 0x0
    :goto_17a
    const/16 v10, 0x10
    if-ge v3, v10, :cond_1ad
    add-int v10, v8, v3
    .line 4341
    invoke-virtual {v0, v10}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v10
    const/16 v11, 0x30
    if-lt v10, v11, :cond_18e
    if-gt v10, v15, :cond_18e
    add-int/lit8 v10, v10, -0x30
    :goto_18c
    const/4 v11, 0x4
    goto :goto_1a4
    :cond_18e
    if-lt v10, v9, :cond_199
    const/16 v11, 0x66
    if-gt v10, v11, :cond_199
    add-int/lit8 v10, v10, -0x61
    :goto_196
    add-int/lit8 v10, v10, 0xa
    goto :goto_18c
    :cond_199
    const/16 v11, 0x41
    if-lt v10, v11, :cond_1aa
    const/16 v11, 0x46
    if-gt v10, v11, :cond_1aa
    add-int/lit8 v10, v10, -0x41
    goto :goto_196
    :goto_1a4
    shl-long/2addr v6, v11
    int-to-long v10, v10
    or-long/2addr v6, v10
    add-int/lit8 v3, v3, 0x1
    goto :goto_17a
    .line 4350
    :cond_1aa
    iput v4, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v5
    :cond_1ad
    const/16 v10, 0x10
    const-wide/16 v11, 0x0
    :goto_1b1
    if-ge v10, v2, :cond_1ea
    add-int v3, v8, v10
    .line 4358
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    const/16 v13, 0x30
    if-lt v3, v13, :cond_1c6
    if-gt v3, v15, :cond_1c6
    add-int/lit8 v3, v3, -0x30
    :goto_1c1
    const/16 v2, 0x46
    :goto_1c3
    const/16 v17, 0x4
    goto :goto_1de
    :cond_1c6
    if-lt v3, v9, :cond_1d1
    const/16 v2, 0x66
    if-gt v3, v2, :cond_1d1
    add-int/lit8 v3, v3, -0x61
    add-int/lit8 v3, v3, 0xa
    goto :goto_1c1
    :cond_1d1
    const/16 v2, 0x41
    if-lt v3, v2, :cond_1e7
    const/16 v2, 0x46
    if-gt v3, v2, :cond_1e7
    add-int/lit8 v3, v3, -0x41
    add-int/lit8 v3, v3, 0xa
    goto :goto_1c3
    :goto_1de
    shl-long v11, v11, v17
    int-to-long v2, v3
    or-long/2addr v11, v2
    add-int/lit8 v10, v10, 0x1
    const/16 v2, 0x20
    goto :goto_1b1
    .line 4367
    :cond_1e7
    iput v4, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v5
    .line 4375
    :cond_1ea
    new-instance v2, Ljava/util/UUID;
    invoke-direct {v2, v6, v7, v11, v12}, Ljava/util/UUID;-><init>(JJ)V
    .line 4377
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    array-length v1, v1
    add-int/2addr v1, v3
    add-int/lit8 v1, v1, 0x1
    sub-int v1, v21, v1
    add-int/lit8 v1, v1, 0x1
    add-int v7, v14, v1
    add-int/lit8 v1, v7, 0x1
    add-int/2addr v3, v7
    .line 4378
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    goto :goto_244
    :cond_203
    const/4 v1, -0x1
    .line 4380
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v5
    .line 4242
    :cond_207
    new-instance v1, Lcom/alibaba/fastjson/JSONException;
    const-string v2, "unclosed str"
    invoke-direct {v1, v2}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v1
    :cond_20f
    move v14, v7
    const/16 v1, 0x6e
    if-ne v3, v1, :cond_2bc
    .line 4383
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v7, v14, 0x1
    add-int/2addr v1, v14
    .line 4384
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    const/16 v2, 0x75
    if-ne v1, v2, :cond_2bc
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v2, v7, 0x1
    add-int/2addr v1, v7
    .line 4385
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    const/16 v3, 0x6c
    if-ne v1, v3, :cond_2bc
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v4, v2, 0x1
    add-int/2addr v1, v2
    .line 4386
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    if-ne v1, v3, :cond_2bc
    .line 4388
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v2, v4, 0x1
    add-int/2addr v1, v4
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    move v1, v2
    move-object v2, v5
    :goto_244
    const/16 v4, 0x2c
    if-ne v3, v4, :cond_257
    .line 4395
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v3, v1
    iput v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 4396
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    iput-char v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/4 v1, 0x3
    .line 4397
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v2
    :cond_257
    const/16 v6, 0x7d
    if-ne v3, v6, :cond_2b8
    .line 4402
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v7, v1, 0x1
    add-int/2addr v3, v1
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    if-ne v1, v4, :cond_277
    const/16 v3, 0x10
    .line 4404
    iput v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 4405
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v7
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 4406
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    iput-char v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    :goto_275
    const/4 v1, 0x4
    goto :goto_2b1
    :cond_277
    const/16 v3, 0x5d
    if-ne v1, v3, :cond_28b
    const/16 v1, 0xf
    .line 4408
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 4409
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v7
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 4410
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    iput-char v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_275
    :cond_28b
    if-ne v1, v6, :cond_29d
    const/16 v3, 0xd
    .line 4412
    iput v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 4413
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v7
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 4414
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    iput-char v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_275
    :cond_29d
    const/16 v3, 0x1a
    if-ne v1, v3, :cond_2b4
    const/16 v1, 0x14
    .line 4416
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 4417
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v7, v7, -0x1
    add-int/2addr v1, v7
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    const/16 v1, 0x1a
    .line 4418
    iput-char v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_275
    .line 4423
    :goto_2b1
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v2
    :cond_2b4
    const/4 v1, -0x1
    .line 4420
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v5
    :cond_2b8
    const/4 v1, -0x1
    .line 4425
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v5
    :cond_2bc
    const/4 v1, -0x1
    .line 4390
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v5
.end method
.method public final scanFloat(C)F
    .registers 24
    move-object/from16 v0, p0
    const/4 v1, 0x0
    .line 2683
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 2686
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v1
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    const/16 v3, 0x22
    const/4 v4, 0x1
    if-ne v2, v3, :cond_13
    move v5, v4
    goto :goto_14
    :cond_13
    move v5, v1
    :goto_14
    if-eqz v5, :cond_1f
    .line 2689
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v4
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    const/4 v7, 0x2
    goto :goto_20
    :cond_1f
    move v7, v4
    :goto_20
    const/16 v8, 0x2d
    if-ne v2, v8, :cond_26
    move v9, v4
    goto :goto_27
    :cond_26
    move v9, v1
    :goto_27
    if-eqz v9, :cond_33
    .line 2694
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v10, v7, 0x1
    add-int/2addr v2, v7
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    move v7, v10
    :cond_33
    const/4 v12, 0x0
    const/4 v13, -0x1
    const/16 v14, 0x30
    if-lt v2, v14, :cond_128
    const/16 v15, 0x39
    if-gt v2, v15, :cond_128
    sub-int/2addr v2, v14
    int-to-long v1, v2
    .line 2701
    :goto_3f
    iget v10, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v17, v7, 0x1
    add-int/2addr v10, v7
    invoke-virtual {v0, v10}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v7
    const-wide/16 v18, 0xa
    if-lt v7, v14, :cond_57
    if-gt v7, v15, :cond_57
    mul-long v1, v1, v18
    add-int/lit8 v7, v7, -0x30
    int-to-long v6, v7
    add-long/2addr v1, v6
    move/from16 v7, v17
    goto :goto_3f
    :cond_57
    const-wide/16 v20, 0x1
    const/16 v6, 0x2e
    if-ne v7, v6, :cond_5f
    move v6, v4
    goto :goto_60
    :cond_5f
    const/4 v6, 0x0
    :goto_60
    if-eqz v6, :cond_92
    .line 2713
    iget v6, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v7, v17, 0x1
    add-int v6, v6, v17
    invoke-virtual {v0, v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v6
    if-lt v6, v14, :cond_8f
    if-gt v6, v15, :cond_8f
    mul-long v1, v1, v18
    sub-int/2addr v6, v14
    int-to-long v10, v6
    add-long/2addr v1, v10
    move-wide/from16 v20, v18
    .line 2718
    :goto_77
    iget v6, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v17, v7, 0x1
    add-int/2addr v6, v7
    invoke-virtual {v0, v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v7
    if-lt v7, v14, :cond_92
    if-gt v7, v15, :cond_92
    mul-long v1, v1, v18
    add-int/lit8 v7, v7, -0x30
    int-to-long v6, v7
    add-long/2addr v1, v6
    mul-long v20, v20, v18
    move/from16 v7, v17
    goto :goto_77
    .line 2728
    :cond_8f
    iput v13, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v12
    :cond_92
    move-wide/from16 v10, v20
    const/16 v6, 0x65
    if-eq v7, v6, :cond_a0
    const/16 v6, 0x45
    if-ne v7, v6, :cond_9d
    goto :goto_a0
    :cond_9d
    const/16 v16, 0x0
    goto :goto_a2
    :cond_a0
    :goto_a0
    move/from16 v16, v4
    :goto_a2
    if-eqz v16, :cond_d4
    .line 2735
    iget v6, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v7, v17, 0x1
    add-int v6, v6, v17
    invoke-virtual {v0, v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v6
    const/16 v4, 0x2b
    if-eq v6, v4, :cond_b9
    if-ne v6, v8, :cond_b5
    goto :goto_b9
    :cond_b5
    move/from16 v17, v7
    move v7, v6
    goto :goto_c5
    .line 2737
    :cond_b9
    :goto_b9
    iget v4, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v6, v7, 0x1
    add-int/2addr v4, v7
    invoke-virtual {v0, v4}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v4
    move v7, v4
    :goto_c3
    move/from16 v17, v6
    :goto_c5
    if-lt v7, v14, :cond_d4
    if-gt v7, v15, :cond_d4
    .line 2741
    iget v4, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v6, v17, 0x1
    add-int v4, v4, v17
    invoke-virtual {v0, v4}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v7
    goto :goto_c3
    :cond_d4
    if-eqz v5, :cond_f0
    if-eq v7, v3, :cond_db
    .line 2766
    iput v13, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v12
    .line 2769
    :cond_db
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v4, v17, 0x1
    add-int v3, v3, v17
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v7
    .line 2771
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v5, v3, 0x1
    add-int/2addr v3, v4
    sub-int/2addr v3, v5
    const/4 v6, 0x2
    sub-int/2addr v3, v6
    move/from16 v17, v4
    goto :goto_f7
    .line 2774
    :cond_f0
    iget v5, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int v3, v5, v17
    sub-int/2addr v3, v5
    const/4 v4, 0x1
    sub-int/2addr v3, v4
    :goto_f7
    if-nez v16, :cond_105
    const/16 v4, 0x11
    if-ge v3, v4, :cond_105
    long-to-double v1, v1
    long-to-double v3, v10
    div-double/2addr v1, v3
    double-to-float v1, v1
    if-eqz v9, :cond_10d
    neg-float v1, v1
    goto :goto_10d
    .line 2784
    :cond_105
    invoke-virtual {v0, v5, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->subString(II)Ljava/lang/String;
    move-result-object v1
    .line 2785
    invoke-static {v1}, Ljava/lang/Float;->parseFloat(Ljava/lang/String;)F
    move-result v1
    :cond_10d
    :goto_10d
    move/from16 v2, p1
    if-ne v7, v2, :cond_125
    .line 2824
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int v2, v2, v17
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 2825
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/4 v2, 0x3
    .line 2826
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    const/16 v2, 0x10
    .line 2827
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return v1
    .line 2830
    :cond_125
    iput v13, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v1
    :cond_128
    const/16 v1, 0x6e
    if-ne v2, v1, :cond_1ad
    .line 2787
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v7
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    const/16 v2, 0x75
    if-ne v1, v2, :cond_1ad
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v7
    const/4 v2, 0x1
    add-int/2addr v1, v2
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    const/16 v2, 0x6c
    if-ne v1, v2, :cond_1ad
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v7
    const/4 v4, 0x2
    add-int/2addr v1, v4
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    if-ne v1, v2, :cond_1ad
    const/4 v1, 0x5
    .line 2788
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    const/4 v2, 0x3
    add-int/2addr v7, v2
    .line 2791
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v4, v7, 0x1
    add-int/2addr v2, v7
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    if-eqz v5, :cond_16b
    if-ne v2, v3, :cond_16b
    .line 2794
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, v4, 0x1
    add-int/2addr v2, v4
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    move v4, v3
    :cond_16b
    :goto_16b
    const/16 v3, 0x2c
    if-ne v2, v3, :cond_181
    .line 2799
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v4
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 2800
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 2801
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    const/16 v3, 0x10
    .line 2802
    iput v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return v12
    :cond_181
    const/16 v3, 0x10
    const/16 v5, 0x5d
    if-ne v2, v5, :cond_199
    .line 2805
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v4
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 2806
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 2807
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    const/16 v1, 0xf
    .line 2808
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return v12
    .line 2810
    :cond_199
    invoke-static {v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->isWhitespace(C)Z
    move-result v2
    if-eqz v2, :cond_1aa
    .line 2811
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v5, v4, 0x1
    add-int/2addr v2, v4
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    move v4, v5
    goto :goto_16b
    .line 2816
    :cond_1aa
    iput v13, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v12
    .line 2819
    :cond_1ad
    iput v13, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v12
.end method
.method public final scanHex()V
    .registers 6
    .line 5104
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const-string v1, "illegal state. "
    const/16 v2, 0x78
    if-ne v0, v2, :cond_79
    .line 5107
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    .line 5108
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/16 v2, 0x27
    if-ne v0, v2, :cond_62
    .line 5112
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    .line 5113
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    .line 5115
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/16 v3, 0x1a
    if-ne v0, v2, :cond_24
    .line 5116
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    .line 5117
    iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-void
    .line 5122
    :cond_24
    :goto_24
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    move-result v0
    const/16 v4, 0x30
    if-lt v0, v4, :cond_30
    const/16 v4, 0x39
    if-le v0, v4, :cond_38
    :cond_30
    const/16 v4, 0x41
    if-lt v0, v4, :cond_3f
    const/16 v4, 0x46
    if-gt v0, v4, :cond_3f
    .line 5124
    :cond_38
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    add-int/lit8 v0, v0, 0x1
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    goto :goto_24
    :cond_3f
    if-ne v0, v2, :cond_4d
    .line 5127
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    add-int/lit8 v0, v0, 0x1
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    .line 5128
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    .line 5134
    iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-void
    .line 5131
    :cond_4d
    new-instance v2, Lcom/alibaba/fastjson/JSONException;
    new-instance v3, Ljava/lang/StringBuilder;
    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
    invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
    move-result-object v0
    invoke-direct {v2, v0}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v2
    .line 5109
    :cond_62
    new-instance v0, Lcom/alibaba/fastjson/JSONException;
    new-instance v2, Ljava/lang/StringBuilder;
    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
    invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    iget-char v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
    move-result-object v1
    invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v0
    .line 5105
    :cond_79
    new-instance v0, Lcom/alibaba/fastjson/JSONException;
    new-instance v2, Ljava/lang/StringBuilder;
    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
    invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    iget-char v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
    move-result-object v1
    invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v0
.end method
.method public final scanIdent()V
    .registers 3
    .line 4787
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v0, v0, -0x1
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    const/4 v0, 0x0
    .line 4788
    iput-boolean v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->hasSpecial:Z
    .line 4791
    :goto_9
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    add-int/lit8 v0, v0, 0x1
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    .line 4793
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    .line 4794
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    invoke-static {v0}, Ljava/lang/Character;->isLetterOrDigit(C)Z
    move-result v0
    if-eqz v0, :cond_1b
    goto :goto_9
    .line 4798
    :cond_1b
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->stringVal()Ljava/lang/String;
    move-result-object v0
    const-string v1, "null"
    .line 4800
    invoke-virtual {v1, v0}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
    move-result v1
    if-eqz v1, :cond_2c
    const/16 v0, 0x8
    .line 4801
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    goto :goto_7c
    :cond_2c
    const-string v1, "new"
    .line 4802
    invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v1
    if-eqz v1, :cond_39
    const/16 v0, 0x9
    .line 4803
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    goto :goto_7c
    :cond_39
    const-string v1, "true"
    .line 4804
    invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v1
    if-eqz v1, :cond_45
    const/4 v0, 0x6
    .line 4805
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    goto :goto_7c
    :cond_45
    const-string v1, "false"
    .line 4806
    invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v1
    if-eqz v1, :cond_51
    const/4 v0, 0x7
    .line 4807
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    goto :goto_7c
    :cond_51
    const-string v1, "undefined"
    .line 4808
    invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v1
    if-eqz v1, :cond_5e
    const/16 v0, 0x17
    .line 4809
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    goto :goto_7c
    :cond_5e
    const-string v1, "Set"
    .line 4810
    invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v1
    if-eqz v1, :cond_6b
    const/16 v0, 0x15
    .line 4811
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    goto :goto_7c
    :cond_6b
    const-string v1, "TreeSet"
    .line 4812
    invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v0
    if-eqz v0, :cond_78
    const/16 v0, 0x16
    .line 4813
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    goto :goto_7c
    :cond_78
    const/16 v0, 0x12
    .line 4815
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    :goto_7c
    return-void
.end method
.method public scanInt(C)I
    .registers 15
    const/4 v0, 0x0
    .line 2152
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 2155
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v0
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    const/16 v2, 0x22
    const/4 v3, 0x1
    if-ne v1, v2, :cond_11
    move v4, v3
    goto :goto_12
    :cond_11
    move v4, v0
    :goto_12
    const/4 v5, 0x2
    if-eqz v4, :cond_1e
    .line 2159
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v3
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    move v6, v5
    goto :goto_1f
    :cond_1e
    move v6, v3
    :goto_1f
    const/16 v7, 0x2d
    if-ne v1, v7, :cond_25
    move v7, v3
    goto :goto_26
    :cond_25
    move v7, v0
    :goto_26
    if-eqz v7, :cond_32
    .line 2164
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v8, v6, 0x1
    add-int/2addr v1, v6
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    move v6, v8
    :cond_32
    const/16 v8, 0x10
    const/4 v9, 0x3
    const/16 v10, 0x30
    const/4 v11, -0x1
    if-lt v1, v10, :cond_8c
    const/16 v12, 0x39
    if-gt v1, v12, :cond_8c
    sub-int/2addr v1, v10
    .line 2171
    :goto_3f
    iget v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, v6, 0x1
    add-int/2addr v2, v6
    invoke-virtual {p0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    if-lt v2, v10, :cond_53
    if-gt v2, v12, :cond_53
    mul-int/lit8 v1, v1, 0xa
    add-int/lit8 v2, v2, -0x30
    add-int/2addr v1, v2
    move v6, v3
    goto :goto_3f
    :cond_53
    const/16 v4, 0x2e
    if-ne v2, v4, :cond_5a
    .line 2175
    iput v11, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v0
    :cond_5a
    if-gez v1, :cond_5f
    .line 2182
    iput v11, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v0
    :cond_5f
    :goto_5f
    if-ne v2, p1, :cond_74
    .line 2223
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr p1, v3
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 2224
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 2225
    iput v9, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 2226
    iput v8, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    if-eqz v7, :cond_73
    neg-int v1, v1
    :cond_73
    return v1
    .line 2229
    :cond_74
    invoke-static {v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->isWhitespace(C)Z
    move-result v0
    if-eqz v0, :cond_86
    .line 2230
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v2, v3, 0x1
    add-int/2addr v0, v3
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    move v3, v2
    move v2, v0
    goto :goto_5f
    .line 2233
    :cond_86
    iput v11, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    if-eqz v7, :cond_8b
    neg-int v1, v1
    :cond_8b
    return v1
    :cond_8c
    const/16 p1, 0x6e
    if-ne v1, p1, :cond_109
    .line 2185
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr p1, v6
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    const/16 v1, 0x75
    if-ne p1, v1, :cond_109
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr p1, v6
    add-int/2addr p1, v3
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    const/16 v1, 0x6c
    if-ne p1, v1, :cond_109
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr p1, v6
    add-int/2addr p1, v5
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    if-ne p1, v1, :cond_109
    const/4 p1, 0x5
    .line 2186
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    add-int/2addr v6, v9
    .line 2189
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, v6, 0x1
    add-int/2addr v1, v6
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    if-eqz v4, :cond_cc
    if-ne v1, v2, :cond_cc
    .line 2192
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v2, v3, 0x1
    add-int/2addr v1, v3
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    :goto_cb
    move v3, v2
    :cond_cc
    const/16 v2, 0x2c
    if-ne v1, v2, :cond_e0
    .line 2197
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v3
    iput v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 2198
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    iput-char v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 2199
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 2200
    iput v8, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return v0
    :cond_e0
    const/16 v2, 0x5d
    if-ne v1, v2, :cond_f6
    .line 2203
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v3
    iput v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 2204
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    iput-char v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 2205
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    const/16 p1, 0xf
    .line 2206
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return v0
    .line 2208
    :cond_f6
    invoke-static {v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->isWhitespace(C)Z
    move-result v1
    if-eqz v1, :cond_106
    .line 2209
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v2, v3, 0x1
    add-int/2addr v1, v3
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    goto :goto_cb
    .line 2214
    :cond_106
    iput v11, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v0
    .line 2217
    :cond_109
    iput v11, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return v0
.end method
.method public scanLong(C)J
    .registers 22
    move-object/from16 v0, p0
    const/4 v1, 0x0
    .line 2414
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 2417
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v1
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    const/16 v3, 0x22
    const/4 v4, 0x1
    if-ne v2, v3, :cond_13
    move v5, v4
    goto :goto_14
    :cond_13
    move v5, v1
    :goto_14
    const/4 v6, 0x2
    if-eqz v5, :cond_20
    .line 2420
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v4
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    move v7, v6
    goto :goto_21
    :cond_20
    move v7, v4
    :goto_21
    const/16 v8, 0x2d
    if-ne v2, v8, :cond_27
    move v8, v4
    goto :goto_28
    :cond_27
    move v8, v1
    :goto_28
    if-eqz v8, :cond_34
    .line 2425
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v9, v7, 0x1
    add-int/2addr v2, v7
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    move v7, v9
    :cond_34
    const/16 v9, 0x10
    const/4 v10, 0x3
    const/16 v11, 0x30
    const/4 v12, -0x1
    const-wide/16 v13, 0x0
    if-lt v2, v11, :cond_c9
    const/16 v15, 0x39
    if-gt v2, v15, :cond_c9
    sub-int/2addr v2, v11
    int-to-long v1, v2
    .line 2432
    :goto_44
    iget v6, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v17, v7, 0x1
    add-int/2addr v6, v7
    invoke-virtual {v0, v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v6
    if-lt v6, v11, :cond_5c
    if-gt v6, v15, :cond_5c
    const-wide/16 v18, 0xa
    mul-long v1, v1, v18
    add-int/lit8 v6, v6, -0x30
    int-to-long v6, v6
    add-long/2addr v1, v6
    move/from16 v7, v17
    goto :goto_44
    :cond_5c
    const/16 v7, 0x2e
    if-ne v6, v7, :cond_63
    .line 2436
    iput v12, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v13
    :cond_63
    cmp-long v7, v1, v13
    if-gez v7, :cond_73
    const-wide/high16 v18, -0x8000000000000000L
    cmp-long v7, v1, v18
    if-nez v7, :cond_70
    if-eqz v8, :cond_70
    goto :goto_73
    :cond_70
    const/16 v16, 0x0
    goto :goto_75
    :cond_73
    :goto_73
    move/from16 v16, v4
    :goto_75
    if-eqz v16, :cond_bb
    if-eqz v5, :cond_8d
    if-eq v6, v3, :cond_7e
    .line 2485
    iput v12, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v13
    .line 2488
    :cond_7e
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v4, v17, 0x1
    add-int v3, v3, v17
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v6
    move/from16 v3, p1
    move/from16 v17, v4
    goto :goto_8f
    :cond_8d
    move/from16 v3, p1
    :goto_8f
    if-ne v6, v3, :cond_a5
    .line 2494
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int v3, v3, v17
    iput v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 2495
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    iput-char v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 2496
    iput v10, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 2497
    iput v9, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    if-eqz v8, :cond_a4
    neg-long v1, v1
    :cond_a4
    return-wide v1
    .line 2500
    :cond_a5
    invoke-static {v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->isWhitespace(C)Z
    move-result v4
    if-eqz v4, :cond_b8
    .line 2501
    iget v4, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v5, v17, 0x1
    add-int v4, v4, v17
    invoke-virtual {v0, v4}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v6
    move/from16 v17, v5
    goto :goto_8f
    .line 2505
    :cond_b8
    iput v12, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v1
    .line 2444
    :cond_bb
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v2, v17, -0x1
    invoke-virtual {v0, v1, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->subString(II)Ljava/lang/String;
    move-result-object v1
    .line 2445
    new-instance v2, Ljava/lang/NumberFormatException;
    invoke-direct {v2, v1}, Ljava/lang/NumberFormatException;-><init>(Ljava/lang/String;)V
    throw v2
    :cond_c9
    const/16 v1, 0x6e
    if-ne v2, v1, :cond_146
    .line 2447
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v7
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    const/16 v2, 0x75
    if-ne v1, v2, :cond_146
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v7
    add-int/2addr v1, v4
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    const/16 v2, 0x6c
    if-ne v1, v2, :cond_146
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v7
    add-int/2addr v1, v6
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    if-ne v1, v2, :cond_146
    const/4 v1, 0x5
    .line 2448
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    add-int/2addr v7, v10
    .line 2451
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v4, v7, 0x1
    add-int/2addr v2, v7
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    if-eqz v5, :cond_109
    if-ne v2, v3, :cond_109
    .line 2454
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, v4, 0x1
    add-int/2addr v2, v4
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    :goto_108
    move v4, v3
    :cond_109
    const/16 v3, 0x2c
    if-ne v2, v3, :cond_11d
    .line 2459
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v4
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 2460
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 2461
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 2462
    iput v9, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-wide v13
    :cond_11d
    const/16 v3, 0x5d
    if-ne v2, v3, :cond_133
    .line 2465
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v4
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 2466
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 2467
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    const/16 v1, 0xf
    .line 2468
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-wide v13
    .line 2470
    :cond_133
    invoke-static {v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->isWhitespace(C)Z
    move-result v2
    if-eqz v2, :cond_143
    .line 2471
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, v4, 0x1
    add-int/2addr v2, v4
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    goto :goto_108
    .line 2476
    :cond_143
    iput v12, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v13
    .line 2479
    :cond_146
    iput v12, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-wide v13
.end method
.method public final scanNullOrNew()V
    .registers 2
    const/4 v0, 0x1
    .line 4675
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanNullOrNew(Z)V
    return-void
.end method
.method public final scanNullOrNew(Z)V
    .registers 15
    .line 4679
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/16 v1, 0x6e
    if-ne v0, v1, :cond_ac
    .line 4682
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    .line 4684
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/16 v1, 0x75
    const/16 v2, 0xc
    const/16 v3, 0x1a
    const/16 v4, 0xd
    const/16 v5, 0xa
    const/16 v6, 0x5d
    const/16 v7, 0x7d
    const/16 v8, 0x2c
    const/16 v9, 0x20
    const/16 v10, 0x8
    const/16 v11, 0x9
    if-ne v0, v1, :cond_6c
    .line 4685
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    .line 4686
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const-string v1, "error parse null"
    const/16 v12, 0x6c
    if-ne v0, v12, :cond_66
    .line 4689
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    .line 4691
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    if-ne v0, v12, :cond_60
    .line 4694
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    .line 4697
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    if-eq v0, v9, :cond_5d
    if-eq v0, v8, :cond_5d
    if-eq v0, v7, :cond_5d
    if-eq v0, v6, :cond_5d
    if-eq v0, v5, :cond_5d
    if-eq v0, v4, :cond_5d
    if-eq v0, v11, :cond_5d
    if-eq v0, v3, :cond_5d
    const/16 v1, 0x3a
    if-ne v0, v1, :cond_50
    if-nez p1, :cond_5d
    :cond_50
    if-eq v0, v2, :cond_5d
    if-ne v0, v10, :cond_55
    goto :goto_5d
    .line 4711
    :cond_55
    new-instance p1, Lcom/alibaba/fastjson/JSONException;
    const-string v0, "scan null error"
    invoke-direct {p1, v0}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw p1
    .line 4709
    :cond_5d
    :goto_5d
    iput v10, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-void
    .line 4692
    :cond_60
    new-instance p1, Lcom/alibaba/fastjson/JSONException;
    invoke-direct {p1, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw p1
    .line 4687
    :cond_66
    new-instance p1, Lcom/alibaba/fastjson/JSONException;
    invoke-direct {p1, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw p1
    :cond_6c
    const/16 p1, 0x65
    const-string v1, "error parse new"
    if-ne v0, p1, :cond_a6
    .line 4719
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    .line 4721
    iget-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/16 v0, 0x77
    if-ne p1, v0, :cond_a0
    .line 4724
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    .line 4726
    iget-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    if-eq p1, v9, :cond_9d
    if-eq p1, v8, :cond_9d
    if-eq p1, v7, :cond_9d
    if-eq p1, v6, :cond_9d
    if-eq p1, v5, :cond_9d
    if-eq p1, v4, :cond_9d
    if-eq p1, v11, :cond_9d
    if-eq p1, v3, :cond_9d
    if-eq p1, v2, :cond_9d
    if-ne p1, v10, :cond_95
    goto :goto_9d
    .line 4738
    :cond_95
    new-instance p1, Lcom/alibaba/fastjson/JSONException;
    const-string v0, "scan new error"
    invoke-direct {p1, v0}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw p1
    .line 4736
    :cond_9d
    :goto_9d
    iput v11, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-void
    .line 4722
    :cond_a0
    new-instance p1, Lcom/alibaba/fastjson/JSONException;
    invoke-direct {p1, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw p1
    .line 4717
    :cond_a6
    new-instance p1, Lcom/alibaba/fastjson/JSONException;
    invoke-direct {p1, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw p1
    .line 4680
    :cond_ac
    new-instance p1, Lcom/alibaba/fastjson/JSONException;
    const-string v0, "error parse null or new"
    invoke-direct {p1, v0}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw p1
.end method
.method public final scanNumber()V
    .registers 11
    .line 5138
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    .line 5140
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/16 v1, 0x2d
    const/4 v2, 0x1
    if-ne v0, v1, :cond_13
    .line 5141
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    add-int/2addr v0, v2
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    .line 5142
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    .line 5146
    :cond_13
    :goto_13
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/16 v3, 0x39
    const/16 v4, 0x30
    if-lt v0, v4, :cond_26
    if-gt v0, v3, :cond_26
    .line 5147
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    add-int/2addr v0, v2
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    .line 5151
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    goto :goto_13
    :cond_26
    const/4 v5, 0x0
    const/16 v6, 0x2e
    if-ne v0, v6, :cond_43
    .line 5157
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    add-int/2addr v0, v2
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    .line 5158
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    .line 5162
    :goto_33
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    if-lt v0, v4, :cond_42
    if-gt v0, v3, :cond_42
    .line 5163
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    add-int/2addr v0, v2
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    .line 5167
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    goto :goto_33
    :cond_42
    move v5, v2
    .line 5171
    :cond_43
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    const v6, 0xffff
    if-gt v0, v6, :cond_c9
    .line 5175
    iget-char v6, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/16 v7, 0x4c
    if-ne v6, v7, :cond_57
    add-int/2addr v0, v2
    .line 5176
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    .line 5177
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    goto :goto_8c
    :cond_57
    const/16 v7, 0x53
    if-ne v6, v7, :cond_62
    add-int/2addr v0, v2
    .line 5179
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    .line 5180
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    goto :goto_8c
    :cond_62
    const/16 v7, 0x42
    if-ne v6, v7, :cond_6d
    add-int/2addr v0, v2
    .line 5182
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    .line 5183
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    goto :goto_8c
    :cond_6d
    const/16 v7, 0x46
    if-ne v6, v7, :cond_78
    add-int/2addr v0, v2
    .line 5185
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    .line 5186
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    goto :goto_bf
    :cond_78
    const/16 v8, 0x44
    if-ne v6, v8, :cond_83
    add-int/2addr v0, v2
    .line 5189
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    .line 5190
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    goto :goto_bf
    :cond_83
    const/16 v9, 0x65
    if-eq v6, v9, :cond_8e
    const/16 v9, 0x45
    if-ne v6, v9, :cond_8c
    goto :goto_8e
    :cond_8c
    :goto_8c
    move v2, v5
    goto :goto_bf
    :cond_8e
    :goto_8e
    add-int/2addr v0, v2
    .line 5193
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    .line 5194
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    .line 5196
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/16 v5, 0x2b
    if-eq v0, v5, :cond_9c
    if-ne v0, v1, :cond_a4
    .line 5197
    :cond_9c
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    add-int/2addr v0, v2
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    .line 5198
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    .line 5202
    :cond_a4
    :goto_a4
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    if-lt v0, v4, :cond_b3
    if-gt v0, v3, :cond_b3
    .line 5203
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    add-int/2addr v0, v2
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    .line 5207
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    goto :goto_a4
    :cond_b3
    if-eq v0, v8, :cond_b7
    if-ne v0, v7, :cond_bf
    .line 5211
    :cond_b7
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    add-int/2addr v0, v2
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    .line 5212
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    :cond_bf
    :goto_bf
    if-eqz v2, :cond_c5
    const/4 v0, 0x3
    .line 5219
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    goto :goto_c8
    :cond_c5
    const/4 v0, 0x2
    .line 5221
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    :goto_c8
    return-void
    .line 5172
    :cond_c9
    new-instance v0, Lcom/alibaba/fastjson/JSONException;
    const-string v1, "scanNumber overflow"
    invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v0
.end method
.method public scanString(C)Ljava/lang/String;
    .registers 14
    const/4 v0, 0x0
    .line 1338
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 1341
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v0
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    const/4 v2, 0x3
    const/4 v3, -0x1
    const/4 v4, 0x1
    const/16 v5, 0x6e
    if-ne v1, v5, :cond_53
    .line 1344
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v0, v4
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    const/16 v1, 0x75
    const/4 v5, 0x0
    if-ne v0, v1, :cond_50
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v0, v4
    add-int/2addr v0, v4
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    const/16 v1, 0x6c
    if-ne v0, v1, :cond_50
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v0, v4
    add-int/lit8 v0, v0, 0x2
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    if-ne v0, v1, :cond_50
    .line 1346
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v0, v0, 0x4
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    if-ne v0, p1, :cond_4d
    .line 1353
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 p1, p1, 0x5
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1354
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 1355
    iput v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v5
    .line 1358
    :cond_4d
    iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v5
    .line 1348
    :cond_50
    iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v5
    :cond_53
    move v5, v4
    :goto_54
    const/16 v6, 0x22
    if-ne v1, v6, :cond_e6
    .line 1366
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v5
    .line 1367
    invoke-virtual {p0, v6, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->indexOf(CI)I
    move-result v7
    if-eq v7, v3, :cond_de
    .line 1372
    iget v8, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v8, v5
    sub-int v9, v7, v1
    invoke-virtual {p0, v8, v9}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->subString(II)Ljava/lang/String;
    move-result-object v8
    const/16 v9, 0x5c
    .line 1373
    invoke-virtual {v8, v9}, Ljava/lang/String;->indexOf(I)I
    move-result v10
    if-eq v10, v3, :cond_9b
    :goto_72
    add-int/lit8 v8, v7, -0x1
    move v10, v0
    :goto_75
    if-ltz v8, :cond_82
    .line 1377
    invoke-virtual {p0, v8}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v11
    if-ne v11, v9, :cond_82
    add-int/lit8 v10, v10, 0x1
    add-int/lit8 v8, v8, -0x1
    goto :goto_75
    .line 1383
    :cond_82
    rem-int/lit8 v10, v10, 0x2
    if-nez v10, :cond_94
    sub-int v0, v7, v1
    .line 1390
    iget v6, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v6, v4
    invoke-virtual {p0, v6, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sub_chars(II)[C
    move-result-object v6
    .line 1392
    invoke-static {v6, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->readString([CI)Ljava/lang/String;
    move-result-object v8
    goto :goto_9b
    :cond_94
    add-int/lit8 v7, v7, 0x1
    .line 1386
    invoke-virtual {p0, v6, v7}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->indexOf(CI)I
    move-result v7
    goto :goto_72
    :cond_9b
    :goto_9b
    sub-int/2addr v7, v1
    add-int/2addr v7, v4
    add-int/2addr v5, v7
    .line 1396
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v1, v5, 0x1
    add-int/2addr v0, v5
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    :goto_a7
    if-ne v0, p1, :cond_bb
    .line 1411
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr p1, v1
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1412
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 1413
    iput v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    const/16 p1, 0x10
    .line 1414
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-object v8
    .line 1416
    :cond_bb
    invoke-static {v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->isWhitespace(C)Z
    move-result v4
    if-eqz v4, :cond_cc
    .line 1417
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v4, v1, 0x1
    add-int/2addr v0, v1
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    move v1, v4
    goto :goto_a7
    :cond_cc
    const/16 p1, 0x5d
    if-ne v0, p1, :cond_dd
    .line 1421
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr p1, v1
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1422
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 1423
    iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    :cond_dd
    return-object v8
    .line 1369
    :cond_de
    new-instance p1, Lcom/alibaba/fastjson/JSONException;
    const-string v0, "unclosed str"
    invoke-direct {p1, v0}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw p1
    .line 1399
    :cond_e6
    invoke-static {v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->isWhitespace(C)Z
    move-result v1
    if-eqz v1, :cond_f8
    .line 1400
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v6, v5, 0x1
    add-int/2addr v1, v5
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    move v5, v6
    goto/16 :goto_54
    .line 1403
    :cond_f8
    iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 1405
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->stringDefaultValue()Ljava/lang/String;
    move-result-object p1
    return-object p1
.end method
.method public final scanString()V
    .registers 13
    .line 881
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    const/4 v0, 0x0
    .line 882
    iput-boolean v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->hasSpecial:Z
    .line 885
    :goto_7
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    move-result v1
    const/4 v2, 0x4
    const/16 v3, 0x22
    if-ne v1, v3, :cond_19
    .line 1020
    iput v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 1021
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    move-result v0
    iput-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    return-void
    :cond_19
    const-string v4, "unclosed string : "
    const/16 v5, 0x1a
    if-ne v1, v5, :cond_3e
    .line 892
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->isEOF()Z
    move-result v2
    if-nez v2, :cond_29
    .line 893
    invoke-virtual {p0, v5}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto :goto_7
    .line 896
    :cond_29
    new-instance v0, Lcom/alibaba/fastjson/JSONException;
    new-instance v2, Ljava/lang/StringBuilder;
    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
    invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
    move-result-object v1
    invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v0
    :cond_3e
    const/16 v5, 0x5c
    const/4 v6, 0x1
    if-ne v1, v5, :cond_19a
    .line 900
    iget-boolean v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->hasSpecial:Z
    const/4 v7, 0x2
    if-nez v1, :cond_69
    .line 901
    iput-boolean v6, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->hasSpecial:Z
    .line 903
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    iget-object v8, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
    array-length v9, v8
    if-lt v1, v9, :cond_5f
    .line 904
    array-length v9, v8
    mul-int/2addr v9, v7
    if-le v1, v9, :cond_56
    goto :goto_57
    :cond_56
    move v1, v9
    .line 908
    :goto_57
    new-array v1, v1, [C
    .line 909
    array-length v9, v8
    invoke-static {v8, v0, v1, v0, v9}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
    .line 910
    iput-object v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
    .line 913
    :cond_5f
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    add-int/2addr v1, v6
    iget v8, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    iget-object v9, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
    invoke-virtual {p0, v1, v8, v9}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->copyTo(II[C)V
    .line 918
    :cond_69
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    move-result v1
    if-eq v1, v3, :cond_195
    const/16 v3, 0x27
    if-eq v1, v3, :cond_190
    const/16 v3, 0x46
    if-eq v1, v3, :cond_189
    if-eq v1, v5, :cond_184
    const/16 v5, 0x62
    if-eq v1, v5, :cond_17d
    const/16 v5, 0x66
    if-eq v1, v5, :cond_189
    const/16 v8, 0x6e
    if-eq v1, v8, :cond_176
    const/16 v8, 0x72
    if-eq v1, v8, :cond_16f
    const/16 v8, 0x78
    const/16 v9, 0x10
    if-eq v1, v8, :cond_116
    const/4 v3, 0x3
    packed-switch v1, :pswitch_data_1ba
    packed-switch v1, :pswitch_data_1d0
    .line 1002
    iput-char v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 1003
    new-instance v0, Lcom/alibaba/fastjson/JSONException;
    new-instance v2, Ljava/lang/StringBuilder;
    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
    invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
    move-result-object v1
    invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v0
    :pswitch_ad
    const/16 v1, 0xb
    .line 955
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    .line 994
    :pswitch_b4
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    move-result v1
    .line 995
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    move-result v4
    .line 996
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    move-result v5
    .line 997
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    move-result v8
    .line 998
    new-instance v10, Ljava/lang/String;
    new-array v2, v2, [C
    aput-char v1, v2, v0
    aput-char v4, v2, v6
    aput-char v5, v2, v7
    aput-char v8, v2, v3
    invoke-direct {v10, v2}, Ljava/lang/String;-><init>([C)V
    invoke-static {v10, v9}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
    move-result v1
    int-to-char v1, v1
    .line 999
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    :pswitch_dd
    const/16 v1, 0x9
    .line 949
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    :pswitch_e4
    const/4 v1, 0x7
    .line 943
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    :pswitch_ea
    const/4 v1, 0x6
    .line 940
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    :pswitch_f0
    const/4 v1, 0x5
    .line 937
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    .line 934
    :pswitch_f6
    invoke-virtual {p0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    .line 931
    :pswitch_fb
    invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    .line 928
    :pswitch_100
    invoke-virtual {p0, v7}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    .line 925
    :pswitch_105
    invoke-virtual {p0, v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    .line 922
    :pswitch_10a
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    :pswitch_10f
    const/16 v1, 0x2f
    .line 971
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    .line 977
    :cond_116
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    move-result v1
    .line 978
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    move-result v2
    const/16 v4, 0x41
    const/16 v7, 0x39
    const/16 v8, 0x61
    const/16 v10, 0x30
    if-lt v1, v10, :cond_12a
    if-le v1, v7, :cond_132
    :cond_12a
    if-lt v1, v8, :cond_12e
    if-le v1, v5, :cond_132
    :cond_12e
    if-lt v1, v4, :cond_134
    if-gt v1, v3, :cond_134
    :cond_132
    move v11, v6
    goto :goto_135
    :cond_134
    move v11, v0
    :goto_135
    if-lt v2, v10, :cond_139
    if-le v2, v7, :cond_143
    :cond_139
    if-lt v2, v8, :cond_13d
    if-le v2, v5, :cond_143
    :cond_13d
    if-lt v2, v4, :cond_142
    if-gt v2, v3, :cond_142
    goto :goto_143
    :cond_142
    move v6, v0
    :cond_143
    :goto_143
    if-eqz v11, :cond_155
    if-eqz v6, :cond_155
    .line 990
    sget-object v3, Lcom/alibaba/fastjson/parser/JSONLexerBase;->digits:[I
    aget v1, v3, v1
    mul-int/2addr v1, v9
    aget v2, v3, v2
    add-int/2addr v1, v2
    int-to-char v1, v1
    .line 991
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    .line 987
    :cond_155
    new-instance v0, Lcom/alibaba/fastjson/JSONException;
    new-instance v3, Ljava/lang/StringBuilder;
    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
    const-string v4, "invalid escape character \\x"
    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
    invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
    move-result-object v1
    invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v0
    :cond_16f
    const/16 v1, 0xd
    .line 962
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    :cond_176
    const/16 v1, 0xa
    .line 952
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    :cond_17d
    const/16 v1, 0x8
    .line 946
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    .line 974
    :cond_184
    invoke-virtual {p0, v5}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    :cond_189
    const/16 v1, 0xc
    .line 959
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    .line 968
    :cond_190
    invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    .line 965
    :cond_195
    invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    .line 1008
    :cond_19a
    iget-boolean v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->hasSpecial:Z
    if-nez v2, :cond_1a5
    .line 1009
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    add-int/2addr v1, v6
    iput v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    goto/16 :goto_7
    .line 1013
    :cond_1a5
    iget v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    iget-object v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
    array-length v4, v3
    if-ne v2, v4, :cond_1b1
    .line 1014
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_7
    :cond_1b1
    add-int/lit8 v4, v2, 0x1
    .line 1016
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    aput-char v1, v3, v2
    goto/16 :goto_7
    nop
    :pswitch_data_1ba
    .packed-switch 0x2f
        :pswitch_10f
        :pswitch_10a
        :pswitch_105
        :pswitch_100
        :pswitch_fb
        :pswitch_f6
        :pswitch_f0
        :pswitch_ea
        :pswitch_e4
    .end packed-switch
    :pswitch_data_1d0
    .packed-switch 0x74
        :pswitch_dd
        :pswitch_b4
        :pswitch_ad
    .end packed-switch
.end method
.method public scanStringArray(Ljava/util/Collection;C)V
    .registers 19
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/util/Collection<",
            "Ljava/lang/String;",
            ">;C)V"
        }
    .end annotation
    move-object/from16 v0, p0
    move-object/from16 v1, p1
    move/from16 v2, p2
    const/4 v3, 0x0
    .line 1808
    iput v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 1811
    iget v4, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v4, v3
    invoke-virtual {v0, v4}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v4
    const/16 v5, 0x75
    const/16 v6, 0x6e
    const/4 v7, 0x3
    const/16 v8, 0x6c
    const/4 v9, 0x2
    if-ne v4, v6, :cond_55
    .line 1813
    iget v10, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v10, v10, 0x1
    .line 1814
    invoke-virtual {v0, v10}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v10
    if-ne v10, v5, :cond_55
    iget v10, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v10, v10, 0x1
    add-int/lit8 v10, v10, 0x1
    .line 1815
    invoke-virtual {v0, v10}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v10
    if-ne v10, v8, :cond_55
    iget v10, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v10, v10, 0x1
    add-int/2addr v10, v9
    .line 1816
    invoke-virtual {v0, v10}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v10
    if-ne v10, v8, :cond_55
    iget v10, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v10, v10, 0x1
    add-int/2addr v10, v7
    .line 1817
    invoke-virtual {v0, v10}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v10
    if-ne v10, v2, :cond_55
    .line 1819
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    const/4 v2, 0x5
    add-int/2addr v1, v2
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1820
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    iput-char v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 1821
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-void
    :cond_55
    const/16 v10, 0x5b
    const/4 v11, -0x1
    if-eq v4, v10, :cond_5d
    .line 1826
    iput v11, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-void
    .line 1830
    :cond_5d
    iget v4, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v4, v4, 0x1
    invoke-virtual {v0, v4}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v4
    move v10, v9
    :goto_66
    const/16 v12, 0x5d
    if-ne v4, v6, :cond_99
    .line 1833
    iget v13, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v13, v10
    .line 1834
    invoke-virtual {v0, v13}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v13
    if-ne v13, v5, :cond_99
    iget v13, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v13, v10
    add-int/lit8 v13, v13, 0x1
    .line 1835
    invoke-virtual {v0, v13}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v13
    if-ne v13, v8, :cond_99
    iget v13, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v13, v10
    add-int/2addr v13, v9
    .line 1836
    invoke-virtual {v0, v13}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v13
    if-ne v13, v8, :cond_99
    add-int/lit8 v10, v10, 0x3
    .line 1838
    iget v4, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v13, v10, 0x1
    add-int/2addr v4, v10
    invoke-virtual {v0, v4}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v4
    const/4 v10, 0x0
    .line 1839
    invoke-interface {v1, v10}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
    goto/16 :goto_10c
    :cond_99
    if-ne v4, v12, :cond_ac
    .line 1840
    invoke-interface/range {p1 .. p1}, Ljava/util/Collection;->size()I
    move-result v13
    if-nez v13, :cond_ac
    .line 1841
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, v10, 0x1
    add-int/2addr v1, v10
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    goto/16 :goto_12b
    :cond_ac
    const/16 v13, 0x22
    if-eq v4, v13, :cond_b3
    .line 1844
    iput v11, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-void
    .line 1847
    :cond_b3
    iget v4, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v4, v10
    .line 1848
    invoke-virtual {v0, v13, v4}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->indexOf(CI)I
    move-result v14
    if-eq v14, v11, :cond_141
    .line 1853
    iget v15, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v15, v10
    sub-int v3, v14, v4
    invoke-virtual {v0, v15, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->subString(II)Ljava/lang/String;
    move-result-object v3
    const/16 v15, 0x5c
    .line 1854
    invoke-virtual {v3, v15}, Ljava/lang/String;->indexOf(I)I
    move-result v5
    if-eq v5, v11, :cond_fa
    :goto_cd
    add-int/lit8 v3, v14, -0x1
    const/4 v5, 0x0
    :goto_d0
    if-ltz v3, :cond_df
    .line 1858
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v6
    if-ne v6, v15, :cond_df
    add-int/lit8 v5, v5, 0x1
    add-int/lit8 v3, v3, -0x1
    const/16 v6, 0x6e
    goto :goto_d0
    .line 1864
    :cond_df
    rem-int/lit8 v5, v5, 0x2
    if-nez v5, :cond_f1
    sub-int v3, v14, v4
    .line 1871
    iget v4, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v4, v10
    invoke-virtual {v0, v4, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sub_chars(II)[C
    move-result-object v4
    .line 1873
    invoke-static {v4, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->readString([CI)Ljava/lang/String;
    move-result-object v3
    goto :goto_fa
    :cond_f1
    add-int/lit8 v14, v14, 0x1
    .line 1867
    invoke-virtual {v0, v13, v14}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->indexOf(CI)I
    move-result v14
    const/16 v6, 0x6e
    goto :goto_cd
    .line 1876
    :cond_fa
    :goto_fa
    iget v4, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int v5, v4, v10
    sub-int/2addr v14, v5
    add-int/lit8 v14, v14, 0x1
    add-int/2addr v10, v14
    add-int/lit8 v13, v10, 0x1
    add-int/2addr v4, v10
    .line 1877
    invoke-virtual {v0, v4}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v4
    .line 1878
    invoke-interface {v1, v3}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
    :goto_10c
    const/16 v3, 0x2c
    if-ne v4, v3, :cond_120
    .line 1882
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v10, v13, 0x1
    add-int/2addr v3, v13
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v4
    const/4 v3, 0x0
    const/16 v5, 0x75
    const/16 v6, 0x6e
    goto/16 :goto_66
    :cond_120
    if-ne v4, v12, :cond_13e
    .line 1887
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, v13, 0x1
    add-int/2addr v1, v13
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    :goto_12b
    if-ne v1, v2, :cond_13b
    .line 1896
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v3
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1897
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    iput-char v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 1898
    iput v7, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-void
    .line 1901
    :cond_13b
    iput v11, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-void
    .line 1891
    :cond_13e
    iput v11, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-void
    .line 1850
    :cond_141
    new-instance v1, Lcom/alibaba/fastjson/JSONException;
    const-string v2, "unclosed str"
    invoke-direct {v1, v2}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v1
.end method
.method public final scanSymbol(Lcom/alibaba/fastjson/parser/SymbolTable;)Ljava/lang/String;
    .registers 6
    .line 600
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->skipWhitespace()V
    .line 602
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/16 v1, 0x22
    if-ne v0, v1, :cond_e
    .line 603
    invoke-virtual {p0, p1, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanSymbol(Lcom/alibaba/fastjson/parser/SymbolTable;C)Ljava/lang/String;
    move-result-object p1
    return-object p1
    :cond_e
    const-string v1, "syntax error"
    const/16 v2, 0x27
    if-ne v0, v2, :cond_27
    .line 607
    sget-object v0, Lcom/alibaba/fastjson/parser/Feature;->AllowSingleQuotes:Lcom/alibaba/fastjson/parser/Feature;
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->isEnabled(Lcom/alibaba/fastjson/parser/Feature;)Z
    move-result v0
    if-eqz v0, :cond_21
    .line 611
    invoke-virtual {p0, p1, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanSymbol(Lcom/alibaba/fastjson/parser/SymbolTable;C)Ljava/lang/String;
    move-result-object p1
    return-object p1
    .line 608
    :cond_21
    new-instance p1, Lcom/alibaba/fastjson/JSONException;
    invoke-direct {p1, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw p1
    :cond_27
    const/16 v2, 0x7d
    const/4 v3, 0x0
    if-ne v0, v2, :cond_34
    .line 615
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    const/16 p1, 0xd
    .line 616
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-object v3
    :cond_34
    const/16 v2, 0x2c
    if-ne v0, v2, :cond_40
    .line 621
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    const/16 p1, 0x10
    .line 622
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-object v3
    :cond_40
    const/16 v2, 0x1a
    if-ne v0, v2, :cond_49
    const/16 p1, 0x14
    .line 627
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-object v3
    .line 631
    :cond_49
    sget-object v0, Lcom/alibaba/fastjson/parser/Feature;->AllowUnQuotedFieldNames:Lcom/alibaba/fastjson/parser/Feature;
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->isEnabled(Lcom/alibaba/fastjson/parser/Feature;)Z
    move-result v0
    if-eqz v0, :cond_56
    .line 635
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanSymbolUnQuoted(Lcom/alibaba/fastjson/parser/SymbolTable;)Ljava/lang/String;
    move-result-object p1
    return-object p1
    .line 632
    :cond_56
    new-instance p1, Lcom/alibaba/fastjson/JSONException;
    invoke-direct {p1, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw p1
.end method
.method public final scanSymbol(Lcom/alibaba/fastjson/parser/SymbolTable;C)Ljava/lang/String;
    .registers 16
    .line 645
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    const/4 v0, 0x0
    .line 646
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    move v1, v0
    move v2, v1
    .line 650
    :goto_9
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    move-result v3
    const/4 v4, 0x4
    const/4 v5, 0x1
    if-ne v3, p2, :cond_32
    .line 794
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    if-nez v1, :cond_24
    .line 800
    iget p2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    const/4 v1, -0x1
    if-ne p2, v1, :cond_1c
    move p2, v0
    goto :goto_1d
    :cond_1c
    add-int/2addr p2, v5
    .line 805
    :goto_1d
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    invoke-virtual {p0, p2, v1, v2, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->addSymbol(IIILcom/alibaba/fastjson/parser/SymbolTable;)Ljava/lang/String;
    move-result-object p1
    goto :goto_2c
    .line 807
    :cond_24
    iget-object p2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    invoke-virtual {p1, p2, v0, v1, v2}, Lcom/alibaba/fastjson/parser/SymbolTable;->addSymbol([CIII)Ljava/lang/String;
    move-result-object p1
    .line 810
    :goto_2c
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    .line 811
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    return-object p1
    :cond_32
    const/16 v6, 0x1a
    if-eq v3, v6, :cond_1a0
    const/16 v6, 0x5c
    if-ne v3, v6, :cond_180
    const/4 v3, 0x2
    if-nez v1, :cond_5d
    .line 664
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    iget-object v7, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
    array-length v8, v7
    if-lt v1, v8, :cond_52
    .line 665
    array-length v8, v7
    mul-int/2addr v8, v3
    if-le v1, v8, :cond_49
    goto :goto_4a
    :cond_49
    move v1, v8
    .line 669
    :goto_4a
    new-array v1, v1, [C
    .line 670
    array-length v8, v7
    invoke-static {v7, v0, v1, v0, v8}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
    .line 671
    iput-object v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
    .line 676
    :cond_52
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    add-int/2addr v1, v5
    iget-object v7, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
    iget v8, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    invoke-virtual {p0, v1, v7, v0, v8}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->arrayCopy(I[CII)V
    move v1, v5
    .line 679
    :cond_5d
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    move-result v7
    const/16 v8, 0x22
    if-eq v7, v8, :cond_178
    const/16 v8, 0x27
    if-eq v7, v8, :cond_170
    const/16 v8, 0x46
    if-eq v7, v8, :cond_166
    if-eq v7, v6, :cond_15e
    const/16 v6, 0x62
    if-eq v7, v6, :cond_154
    const/16 v6, 0x66
    if-eq v7, v6, :cond_166
    const/16 v6, 0x6e
    if-eq v7, v6, :cond_14a
    const/16 v6, 0x72
    if-eq v7, v6, :cond_140
    const/16 v6, 0x78
    const/16 v8, 0x10
    if-eq v7, v6, :cond_123
    const/4 v6, 0x3
    packed-switch v7, :pswitch_data_1a8
    packed-switch v7, :pswitch_data_1be
    .line 774
    iput-char v7, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 775
    new-instance p1, Lcom/alibaba/fastjson/JSONException;
    const-string p2, "unclosed.str.lit"
    invoke-direct {p1, p2}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw p1
    :pswitch_96
    mul-int/lit8 v2, v2, 0x1f
    const/16 v3, 0xb
    add-int/2addr v2, v3
    .line 728
    invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_9
    .line 765
    :pswitch_a0
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    move-result v7
    .line 766
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    move-result v9
    .line 767
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    move-result v10
    .line 768
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    move-result v11
    .line 769
    new-instance v12, Ljava/lang/String;
    new-array v4, v4, [C
    aput-char v7, v4, v0
    aput-char v9, v4, v5
    aput-char v10, v4, v3
    aput-char v11, v4, v6
    invoke-direct {v12, v4}, Ljava/lang/String;-><init>([C)V
    invoke-static {v12, v8}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
    move-result v3
    mul-int/lit8 v2, v2, 0x1f
    add-int/2addr v2, v3
    int-to-char v3, v3
    .line 771
    invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_9
    :pswitch_cc
    mul-int/lit8 v2, v2, 0x1f
    const/16 v3, 0x9
    add-int/2addr v2, v3
    .line 720
    invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_9
    :pswitch_d6
    mul-int/lit8 v2, v2, 0x1f
    add-int/2addr v2, v7
    const/4 v3, 0x7
    .line 712
    invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_9
    :pswitch_df
    mul-int/lit8 v2, v2, 0x1f
    add-int/2addr v2, v7
    const/4 v3, 0x6
    .line 708
    invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_9
    :pswitch_e8
    mul-int/lit8 v2, v2, 0x1f
    add-int/2addr v2, v7
    const/4 v3, 0x5
    .line 704
    invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_9
    :pswitch_f1
    mul-int/lit8 v2, v2, 0x1f
    add-int/2addr v2, v7
    .line 700
    invoke-virtual {p0, v4}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_9
    :pswitch_f9
    mul-int/lit8 v2, v2, 0x1f
    add-int/2addr v2, v7
    .line 696
    invoke-virtual {p0, v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_9
    :pswitch_101
    mul-int/lit8 v2, v2, 0x1f
    add-int/2addr v2, v7
    .line 692
    invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_9
    :pswitch_109
    mul-int/lit8 v2, v2, 0x1f
    add-int/2addr v2, v7
    .line 688
    invoke-virtual {p0, v5}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_9
    :pswitch_111
    mul-int/lit8 v2, v2, 0x1f
    add-int/2addr v2, v7
    .line 684
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_9
    :pswitch_119
    mul-int/lit8 v2, v2, 0x1f
    const/16 v3, 0x2f
    add-int/2addr v2, v3
    .line 749
    invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_9
    .line 756
    :cond_123
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    move-result v3
    iput-char v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 757
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    move-result v4
    iput-char v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 759
    sget-object v5, Lcom/alibaba/fastjson/parser/JSONLexerBase;->digits:[I
    aget v3, v5, v3
    mul-int/2addr v3, v8
    aget v4, v5, v4
    add-int/2addr v3, v4
    int-to-char v3, v3
    mul-int/lit8 v2, v2, 0x1f
    add-int/2addr v2, v3
    .line 762
    invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_9
    :cond_140
    mul-int/lit8 v2, v2, 0x1f
    const/16 v3, 0xd
    add-int/2addr v2, v3
    .line 737
    invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_9
    :cond_14a
    mul-int/lit8 v2, v2, 0x1f
    const/16 v3, 0xa
    add-int/2addr v2, v3
    .line 724
    invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_9
    :cond_154
    mul-int/lit8 v2, v2, 0x1f
    const/16 v3, 0x8
    add-int/2addr v2, v3
    .line 716
    invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_9
    :cond_15e
    mul-int/lit8 v2, v2, 0x1f
    add-int/2addr v2, v6
    .line 753
    invoke-virtual {p0, v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_9
    :cond_166
    mul-int/lit8 v2, v2, 0x1f
    const/16 v3, 0xc
    add-int/2addr v2, v3
    .line 733
    invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_9
    :cond_170
    mul-int/lit8 v2, v2, 0x1f
    add-int/2addr v2, v8
    .line 745
    invoke-virtual {p0, v8}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_9
    :cond_178
    mul-int/lit8 v2, v2, 0x1f
    add-int/2addr v2, v8
    .line 741
    invoke-virtual {p0, v8}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_9
    :cond_180
    mul-int/lit8 v2, v2, 0x1f
    add-int/2addr v2, v3
    if-nez v1, :cond_18c
    .line 783
    iget v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    add-int/2addr v3, v5
    iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    goto/16 :goto_9
    .line 787
    :cond_18c
    iget v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    iget-object v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
    array-length v6, v5
    if-ne v4, v6, :cond_198
    .line 788
    invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
    goto/16 :goto_9
    :cond_198
    add-int/lit8 v6, v4, 0x1
    .line 790
    iput v6, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    aput-char v3, v5, v4
    goto/16 :goto_9
    .line 657
    :cond_1a0
    new-instance p1, Lcom/alibaba/fastjson/JSONException;
    const-string p2, "unclosed.str"
    invoke-direct {p1, p2}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw p1
    :pswitch_data_1a8
    .packed-switch 0x2f
        :pswitch_119
        :pswitch_111
        :pswitch_109
        :pswitch_101
        :pswitch_f9
        :pswitch_f1
        :pswitch_e8
        :pswitch_df
        :pswitch_d6
    .end packed-switch
    :pswitch_data_1be
    .packed-switch 0x74
        :pswitch_cc
        :pswitch_a0
        :pswitch_96
    .end packed-switch
.end method
.method public final scanSymbolUnQuoted(Lcom/alibaba/fastjson/parser/SymbolTable;)Ljava/lang/String;
    .registers 7
    .line 825
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    const/4 v1, 0x0
    const/4 v2, 0x1
    if-ne v0, v2, :cond_10
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->pos:I
    if-nez v0, :cond_10
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    if-ne v0, v2, :cond_10
    .line 826
    iput v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 828
    :cond_10
    sget-object v0, Lcom/alibaba/fastjson/util/IOUtils;->firstIdentifierFlags:[Z
    .line 829
    iget-char v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 831
    array-length v4, v0
    if-ge v3, v4, :cond_1b
    aget-boolean v0, v0, v3
    if-eqz v0, :cond_1c
    :cond_1b
    move v1, v2
    :cond_1c
    if-eqz v1, :cond_91
    .line 837
    sget-object v0, Lcom/alibaba/fastjson/util/IOUtils;->identifierFlags:[Z
    .line 841
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    iput v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    .line 842
    iput v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    .line 845
    :goto_26
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    move-result v1
    .line 847
    array-length v4, v0
    if-ge v1, v4, :cond_88
    .line 848
    aget-boolean v4, v0, v1
    if-nez v4, :cond_88
    .line 859
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    iput-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/16 v0, 0x12
    .line 860
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 863
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    const/4 v1, 0x4
    if-ne v0, v1, :cond_74
    const v0, 0x33c587
    if-ne v3, v0, :cond_74
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    const/16 v1, 0x6e
    if-ne v0, v1, :cond_74
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    add-int/2addr v0, v2
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    const/16 v1, 0x75
    if-ne v0, v1, :cond_74
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    add-int/lit8 v0, v0, 0x2
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    const/16 v1, 0x6c
    if-ne v0, v1, :cond_74
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    add-int/lit8 v0, v0, 0x3
    .line 864
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    if-ne v0, v1, :cond_74
    const/4 p1, 0x0
    return-object p1
    :cond_74
    if-nez p1, :cond_7f
    .line 871
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    invoke-virtual {p0, p1, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->subString(II)Ljava/lang/String;
    move-result-object p1
    return-object p1
    .line 874
    :cond_7f
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    invoke-virtual {p0, v0, v1, v3, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->addSymbol(IIILcom/alibaba/fastjson/parser/SymbolTable;)Ljava/lang/String;
    move-result-object p1
    return-object p1
    :cond_88
    mul-int/lit8 v3, v3, 0x1f
    add-int/2addr v3, v1
    .line 855
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    add-int/2addr v1, v2
    iput v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
    goto :goto_26
    .line 833
    :cond_91
    new-instance p1, Lcom/alibaba/fastjson/JSONException;
    new-instance v0, Ljava/lang/StringBuilder;
    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
    const-string v1, "illegal identifier : "
    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    iget-char v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
    .line 834
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->info()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/JSONException;-><init>(Ljava/lang/String;)V
    throw p1
.end method
.method public scanSymbolWithSeperator(Lcom/alibaba/fastjson/parser/SymbolTable;C)Ljava/lang/String;
    .registers 12
    const/4 v0, 0x0
    .line 1582
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 1585
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v1, v0
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    const/4 v2, 0x3
    const/4 v3, 0x0
    const/4 v4, -0x1
    const/4 v5, 0x1
    const/16 v6, 0x6e
    if-ne v1, v6, :cond_53
    .line 1588
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr p1, v5
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    const/16 v0, 0x75
    if-ne p1, v0, :cond_50
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr p1, v5
    add-int/2addr p1, v5
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    const/16 v0, 0x6c
    if-ne p1, v0, :cond_50
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr p1, v5
    add-int/lit8 p1, p1, 0x2
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    if-ne p1, v0, :cond_50
    .line 1590
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 p1, p1, 0x4
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    if-ne p1, p2, :cond_4d
    .line 1597
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 p1, p1, 0x5
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1598
    invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 1599
    iput v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v3
    .line 1602
    :cond_4d
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v3
    .line 1592
    :cond_50
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v3
    :cond_53
    const/16 v6, 0x22
    if-eq v1, v6, :cond_5a
    .line 1608
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v3
    :cond_5a
    move v1, v5
    .line 1616
    :goto_5b
    iget v7, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v8, v1, 0x1
    add-int/2addr v7, v1
    invoke-virtual {p0, v7}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    if-ne v1, v6, :cond_9f
    .line 1620
    iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, v1, 0x0
    add-int/2addr v3, v5
    add-int/2addr v1, v8
    sub-int/2addr v1, v3
    sub-int/2addr v1, v5
    .line 1622
    invoke-virtual {p0, v3, v1, v0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->addSymbol(IIILcom/alibaba/fastjson/parser/SymbolTable;)Ljava/lang/String;
    move-result-object p1
    .line 1623
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v1, v8, 0x1
    add-int/2addr v0, v8
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    :goto_7b
    if-ne v0, p2, :cond_8b
    .line 1637
    iget p2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr p2, v1
    iput p2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1638
    invoke-virtual {p0, p2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p2
    iput-char p2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 1639
    iput v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object p1
    .line 1642
    :cond_8b
    invoke-static {v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->isWhitespace(C)Z
    move-result v0
    if-eqz v0, :cond_9c
    .line 1643
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v3, v1, 0x1
    add-int/2addr v0, v1
    invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v0
    move v1, v3
    goto :goto_7b
    .line 1647
    :cond_9c
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object p1
    :cond_9f
    mul-int/lit8 v0, v0, 0x1f
    add-int/2addr v0, v1
    const/16 v7, 0x5c
    if-ne v1, v7, :cond_a9
    .line 1630
    iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v3
    :cond_a9
    move v1, v8
    goto :goto_5b
.end method
.method public final scanTrue()V
    .registers 4
    .line 4636
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const-string v1, "error parse true"
    const/16 v2, 0x74
    if-ne v0, v2, :cond_77
    .line 4639
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    .line 4641
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/16 v2, 0x72
    if-ne v0, v2, :cond_71
    .line 4644
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    .line 4646
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/16 v2, 0x75
    if-ne v0, v2, :cond_6b
    .line 4649
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    .line 4651
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/16 v2, 0x65
    if-ne v0, v2, :cond_65
    .line 4654
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    .line 4656
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/16 v1, 0x20
    if-eq v0, v1, :cond_61
    const/16 v1, 0x2c
    if-eq v0, v1, :cond_61
    const/16 v1, 0x7d
    if-eq v0, v1, :cond_61
    const/16 v1, 0x5d
    if-eq v0, v1, :cond_61
    const/16 v1, 0xa
    if-eq v0, v1, :cond_61
    const/16 v1, 0xd
    if-eq v0, v1, :cond_61
    const/16 v1, 0x9
    if-eq v0, v1, :cond_61
    const/16 v1, 0x1a
    if-eq v0, v1, :cond_61
    const/16 v1, 0xc
    if-eq v0, v1, :cond_61
    const/16 v1, 0x8
    if-eq v0, v1, :cond_61
    const/16 v1, 0x3a
    if-eq v0, v1, :cond_61
    const/16 v1, 0x2f
    if-ne v0, v1, :cond_59
    goto :goto_61
    .line 4670
    :cond_59
    new-instance v0, Lcom/alibaba/fastjson/JSONException;
    const-string v1, "scan true error"
    invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v0
    :cond_61
    :goto_61
    const/4 v0, 0x6
    .line 4668
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-void
    .line 4652
    :cond_65
    new-instance v0, Lcom/alibaba/fastjson/JSONException;
    invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v0
    .line 4647
    :cond_6b
    new-instance v0, Lcom/alibaba/fastjson/JSONException;
    invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v0
    .line 4642
    :cond_71
    new-instance v0, Lcom/alibaba/fastjson/JSONException;
    invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v0
    .line 4637
    :cond_77
    new-instance v0, Lcom/alibaba/fastjson/JSONException;
    invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v0
.end method
.method public final scanType(Ljava/lang/String;)I
    .registers 8
    const/4 v0, 0x0
    .line 1125
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 1127
    sget-object v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->typeFieldName:[C
    invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charArrayCompare([C)Z
    move-result v2
    if-nez v2, :cond_d
    const/4 p1, -0x2
    return p1
    .line 1131
    :cond_d
    iget v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    array-length v1, v1
    add-int/2addr v2, v1
    .line 1133
    invoke-virtual {p1}, Ljava/lang/String;->length()I
    move-result v1
    :goto_15
    const/4 v3, -0x1
    if-ge v0, v1, :cond_28
    .line 1135
    invoke-virtual {p1, v0}, Ljava/lang/String;->charAt(I)C
    move-result v4
    add-int v5, v2, v0
    invoke-virtual {p0, v5}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v5
    if-eq v4, v5, :cond_25
    return v3
    :cond_25
    add-int/lit8 v0, v0, 0x1
    goto :goto_15
    :cond_28
    add-int/2addr v2, v1
    .line 1140
    invoke-virtual {p0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    const/16 v0, 0x22
    if-eq p1, v0, :cond_32
    return v3
    :cond_32
    add-int/lit8 v2, v2, 0x1
    .line 1144
    invoke-virtual {p0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/16 v0, 0x10
    const/16 v1, 0x2c
    if-ne p1, v1, :cond_4e
    add-int/lit8 v2, v2, 0x1
    .line 1147
    invoke-virtual {p0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    .line 1148
    iput v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1149
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    const/4 p1, 0x3
    return p1
    :cond_4e
    const/16 v4, 0x7d
    if-ne p1, v4, :cond_94
    add-int/lit8 v2, v2, 0x1
    .line 1152
    invoke-virtual {p0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    if-ne p1, v1, :cond_67
    .line 1154
    iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    add-int/lit8 v2, v2, 0x1
    .line 1155
    invoke-virtual {p0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_8f
    :cond_67
    const/16 v0, 0x5d
    if-ne p1, v0, :cond_78
    const/16 p1, 0xf
    .line 1157
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    add-int/lit8 v2, v2, 0x1
    .line 1158
    invoke-virtual {p0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_8f
    :cond_78
    if-ne p1, v4, :cond_87
    const/16 p1, 0xd
    .line 1160
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    add-int/lit8 v2, v2, 0x1
    .line 1161
    invoke-virtual {p0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result p1
    iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_8f
    :cond_87
    const/16 v0, 0x1a
    if-ne p1, v0, :cond_93
    const/16 p1, 0x14
    .line 1163
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    :goto_8f
    const/4 p1, 0x4
    .line 1167
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    goto :goto_94
    :cond_93
    return v3
    .line 1170
    :cond_94
    :goto_94
    iput v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 1171
    iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return p1
.end method
.method public scanTypeName(Lcom/alibaba/fastjson/parser/SymbolTable;)Ljava/lang/String;
    .registers 2
    const/4 p1, 0x0
    return-object p1
.end method
.method public scanUUID(C)Ljava/util/UUID;
    .registers 22
    move-object/from16 v0, p0
    const/4 v1, 0x0
    .line 4433
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    .line 4438
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v1
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    const/16 v3, 0xd
    const/16 v5, 0x22
    const/4 v7, -0x1
    const/4 v8, 0x4
    const/4 v9, 0x0
    const/4 v10, 0x1
    if-ne v2, v5, :cond_1e8
    .line 4442
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v10
    .line 4443
    invoke-virtual {v0, v5, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->indexOf(CI)I
    move-result v2
    if-eq v2, v7, :cond_1e0
    .line 4448
    iget v5, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v5, v10
    sub-int v11, v2, v5
    const/16 v12, 0x24
    const/16 v15, 0x46
    const/4 v1, -0x2
    const/16 v13, 0x66
    const/16 v14, 0x39
    const/16 v4, 0x41
    const/16 v7, 0x61
    const/16 v6, 0x30
    if-ne v11, v12, :cond_14f
    const/4 v11, 0x0
    const-wide/16 v18, 0x0
    :goto_38
    const/16 v10, 0x8
    if-ge v11, v10, :cond_68
    add-int v10, v5, v11
    .line 4453
    invoke-virtual {v0, v10}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v10
    if-lt v10, v6, :cond_49
    if-gt v10, v14, :cond_49
    add-int/lit8 v10, v10, -0x30
    goto :goto_59
    :cond_49
    if-lt v10, v7, :cond_52
    if-gt v10, v13, :cond_52
    add-int/lit8 v10, v10, -0x61
    :goto_4f
    add-int/lit8 v10, v10, 0xa
    goto :goto_59
    :cond_52
    if-lt v10, v4, :cond_65
    if-gt v10, v15, :cond_65
    add-int/lit8 v10, v10, -0x41
    goto :goto_4f
    :goto_59
    shl-long v18, v18, v8
    int-to-long v12, v10
    or-long v18, v18, v12
    add-int/lit8 v11, v11, 0x1
    const/16 v12, 0x24
    const/16 v13, 0x66
    goto :goto_38
    .line 4462
    :cond_65
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v9
    :cond_68
    const/16 v10, 0x9
    :goto_6a
    if-ge v10, v3, :cond_9a
    add-int v11, v5, v10
    .line 4470
    invoke-virtual {v0, v11}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v11
    if-lt v11, v6, :cond_79
    if-gt v11, v14, :cond_79
    add-int/lit8 v11, v11, -0x30
    goto :goto_8b
    :cond_79
    if-lt v11, v7, :cond_84
    const/16 v12, 0x66
    if-gt v11, v12, :cond_84
    add-int/lit8 v11, v11, -0x61
    :goto_81
    add-int/lit8 v11, v11, 0xa
    goto :goto_8b
    :cond_84
    if-lt v11, v4, :cond_97
    if-gt v11, v15, :cond_97
    add-int/lit8 v11, v11, -0x41
    goto :goto_81
    :goto_8b
    shl-long v12, v18, v8
    int-to-long v3, v11
    or-long v18, v12, v3
    add-int/lit8 v10, v10, 0x1
    const/16 v3, 0xd
    const/16 v4, 0x41
    goto :goto_6a
    .line 4479
    :cond_97
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v9
    :cond_9a
    const/16 v3, 0xe
    move-wide/from16 v10, v18
    :goto_9e
    const/16 v4, 0x12
    if-ge v3, v4, :cond_cc
    add-int v4, v5, v3
    .line 4487
    invoke-virtual {v0, v4}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v4
    if-lt v4, v6, :cond_af
    if-gt v4, v14, :cond_af
    add-int/lit8 v4, v4, -0x30
    goto :goto_c3
    :cond_af
    if-lt v4, v7, :cond_ba
    const/16 v12, 0x66
    if-gt v4, v12, :cond_ba
    add-int/lit8 v4, v4, -0x61
    :goto_b7
    add-int/lit8 v4, v4, 0xa
    goto :goto_c3
    :cond_ba
    const/16 v12, 0x41
    if-lt v4, v12, :cond_c9
    if-gt v4, v15, :cond_c9
    add-int/lit8 v4, v4, -0x41
    goto :goto_b7
    :goto_c3
    shl-long/2addr v10, v8
    int-to-long v12, v4
    or-long/2addr v10, v12
    add-int/lit8 v3, v3, 0x1
    goto :goto_9e
    .line 4496
    :cond_c9
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v9
    :cond_cc
    const/16 v3, 0x13
    const-wide/16 v16, 0x0
    :goto_d0
    const/16 v4, 0x17
    if-ge v3, v4, :cond_103
    add-int v4, v5, v3
    .line 4504
    invoke-virtual {v0, v4}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v4
    if-lt v4, v6, :cond_e1
    if-gt v4, v14, :cond_e1
    add-int/lit8 v4, v4, -0x30
    goto :goto_f5
    :cond_e1
    if-lt v4, v7, :cond_ec
    const/16 v12, 0x66
    if-gt v4, v12, :cond_ec
    add-int/lit8 v4, v4, -0x61
    :goto_e9
    add-int/lit8 v4, v4, 0xa
    goto :goto_f5
    :cond_ec
    const/16 v12, 0x41
    if-lt v4, v12, :cond_100
    if-gt v4, v15, :cond_100
    add-int/lit8 v4, v4, -0x41
    goto :goto_e9
    :goto_f5
    shl-long v12, v16, v8
    int-to-long v7, v4
    or-long v16, v12, v7
    add-int/lit8 v3, v3, 0x1
    const/16 v7, 0x61
    const/4 v8, 0x4
    goto :goto_d0
    .line 4513
    :cond_100
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v9
    :cond_103
    const/16 v3, 0x18
    move-wide/from16 v7, v16
    const/16 v4, 0x24
    :goto_109
    if-ge v3, v4, :cond_138
    add-int v12, v5, v3
    .line 4521
    invoke-virtual {v0, v12}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v12
    if-lt v12, v6, :cond_119
    if-gt v12, v14, :cond_119
    add-int/lit8 v12, v12, -0x30
    :goto_117
    const/4 v13, 0x4
    goto :goto_12f
    :cond_119
    const/16 v13, 0x61
    if-lt v12, v13, :cond_126
    const/16 v13, 0x66
    if-gt v12, v13, :cond_126
    add-int/lit8 v12, v12, -0x61
    :goto_123
    add-int/lit8 v12, v12, 0xa
    goto :goto_117
    :cond_126
    const/16 v13, 0x41
    if-lt v12, v13, :cond_135
    if-gt v12, v15, :cond_135
    add-int/lit8 v12, v12, -0x41
    goto :goto_123
    :goto_12f
    shl-long/2addr v7, v13
    int-to-long v12, v12
    or-long/2addr v7, v12
    add-int/lit8 v3, v3, 0x1
    goto :goto_109
    .line 4530
    :cond_135
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v9
    .line 4537
    :cond_138
    new-instance v1, Ljava/util/UUID;
    invoke-direct {v1, v10, v11, v7, v8}, Ljava/util/UUID;-><init>(JJ)V
    .line 4539
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v4, v3, 0x1
    sub-int/2addr v2, v4
    const/4 v4, 0x1
    add-int/2addr v2, v4
    add-int v10, v4, v2
    add-int/lit8 v2, v10, 0x1
    add-int/2addr v3, v10
    .line 4540
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    goto/16 :goto_218
    :cond_14f
    const/16 v3, 0x20
    if-ne v11, v3, :cond_1dc
    const/4 v4, 0x0
    const-wide/16 v7, 0x0
    :goto_156
    const/16 v10, 0x10
    if-ge v4, v10, :cond_187
    add-int v10, v5, v4
    .line 4544
    invoke-virtual {v0, v10}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v10
    if-lt v10, v6, :cond_168
    if-gt v10, v14, :cond_168
    add-int/lit8 v10, v10, -0x30
    :goto_166
    const/4 v11, 0x4
    goto :goto_17e
    :cond_168
    const/16 v11, 0x61
    if-lt v10, v11, :cond_175
    const/16 v11, 0x66
    if-gt v10, v11, :cond_175
    add-int/lit8 v10, v10, -0x61
    :goto_172
    add-int/lit8 v10, v10, 0xa
    goto :goto_166
    :cond_175
    const/16 v11, 0x41
    if-lt v10, v11, :cond_184
    if-gt v10, v15, :cond_184
    add-int/lit8 v10, v10, -0x41
    goto :goto_172
    :goto_17e
    shl-long/2addr v7, v11
    int-to-long v10, v10
    or-long/2addr v7, v10
    add-int/lit8 v4, v4, 0x1
    goto :goto_156
    .line 4553
    :cond_184
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v9
    :cond_187
    const/16 v10, 0x10
    const-wide/16 v11, 0x0
    :goto_18b
    if-ge v10, v3, :cond_1c6
    add-int v4, v5, v10
    .line 4561
    invoke-virtual {v0, v4}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v4
    if-lt v4, v6, :cond_1a0
    if-gt v4, v14, :cond_1a0
    add-int/lit8 v4, v4, -0x30
    const/16 v3, 0x41
    const/16 v13, 0x61
    :goto_19d
    const/16 v16, 0x4
    goto :goto_1ba
    :cond_1a0
    const/16 v13, 0x61
    if-lt v4, v13, :cond_1af
    const/16 v3, 0x66
    if-gt v4, v3, :cond_1af
    add-int/lit8 v4, v4, -0x61
    add-int/lit8 v4, v4, 0xa
    const/16 v3, 0x41
    goto :goto_19d
    :cond_1af
    const/16 v3, 0x41
    if-lt v4, v3, :cond_1c3
    if-gt v4, v15, :cond_1c3
    add-int/lit8 v4, v4, -0x41
    add-int/lit8 v4, v4, 0xa
    goto :goto_19d
    :goto_1ba
    shl-long v11, v11, v16
    int-to-long v3, v4
    or-long/2addr v11, v3
    add-int/lit8 v10, v10, 0x1
    const/16 v3, 0x20
    goto :goto_18b
    .line 4570
    :cond_1c3
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v9
    .line 4578
    :cond_1c6
    new-instance v1, Ljava/util/UUID;
    invoke-direct {v1, v7, v8, v11, v12}, Ljava/util/UUID;-><init>(JJ)V
    .line 4580
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v4, v3, 0x1
    sub-int/2addr v2, v4
    const/4 v4, 0x1
    add-int/2addr v2, v4
    add-int v10, v4, v2
    add-int/lit8 v2, v10, 0x1
    add-int/2addr v3, v10
    .line 4581
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    goto :goto_218
    :cond_1dc
    const/4 v1, -0x1
    .line 4583
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v9
    .line 4445
    :cond_1e0
    new-instance v1, Lcom/alibaba/fastjson/JSONException;
    const-string v2, "unclosed str"
    invoke-direct {v1, v2}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v1
    :cond_1e8
    const/16 v1, 0x6e
    if-ne v2, v1, :cond_292
    .line 4586
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    const/4 v2, 0x1
    add-int/2addr v1, v2
    .line 4587
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    const/16 v2, 0x75
    if-ne v1, v2, :cond_292
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v1, v1, 0x2
    .line 4588
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    const/16 v2, 0x6c
    if-ne v1, v2, :cond_292
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    const/4 v3, 0x3
    add-int/2addr v1, v3
    .line 4589
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v1
    if-ne v1, v2, :cond_292
    .line 4591
    iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    const/4 v2, 0x5
    const/4 v3, 0x4
    add-int/2addr v1, v3
    invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v3
    move-object v1, v9
    :goto_218
    const/16 v4, 0x2c
    if-ne v3, v4, :cond_22b
    .line 4598
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v3, v2
    iput v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 4599
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/4 v2, 0x3
    .line 4600
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v1
    :cond_22b
    const/16 v5, 0x5d
    if-ne v3, v5, :cond_28e
    .line 4605
    iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/lit8 v5, v2, 0x1
    add-int/2addr v3, v2
    invoke-virtual {v0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    if-ne v2, v4, :cond_24b
    const/16 v3, 0x10
    .line 4607
    iput v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 4608
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v5
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 4609
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    :goto_249
    const/4 v2, 0x4
    goto :goto_287
    :cond_24b
    const/16 v3, 0x5d
    if-ne v2, v3, :cond_25f
    const/16 v2, 0xf
    .line 4611
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 4612
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v5
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 4613
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_249
    :cond_25f
    const/16 v3, 0x7d
    if-ne v2, v3, :cond_273
    const/16 v3, 0xd
    .line 4615
    iput v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 4616
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    add-int/2addr v2, v5
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    .line 4617
    invoke-virtual {v0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
    move-result v2
    iput-char v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_249
    :cond_273
    const/16 v3, 0x1a
    if-ne v2, v3, :cond_28a
    const/16 v2, 0x14
    .line 4619
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    .line 4620
    iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    const/4 v3, 0x1
    sub-int/2addr v5, v3
    add-int/2addr v2, v5
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
    const/16 v2, 0x1a
    .line 4621
    iput-char v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    goto :goto_249
    .line 4626
    :goto_287
    iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v1
    :cond_28a
    const/4 v1, -0x1
    .line 4623
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v9
    :cond_28e
    const/4 v1, -0x1
    .line 4628
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v9
    :cond_292
    const/4 v1, -0x1
    .line 4593
    iput v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
    return-object v9
.end method
.method public seekArrayToItem(I)Z
    .registers 2
    .line 1212
    new-instance p1, Ljava/lang/UnsupportedOperationException;
    invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;-><init>()V
    throw p1
.end method
.method public seekObjectToField(JZ)I
    .registers 4
    .line 1216
    new-instance p1, Ljava/lang/UnsupportedOperationException;
    invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;-><init>()V
    throw p1
.end method
.method public seekObjectToField([J)I
    .registers 2
    .line 1220
    new-instance p1, Ljava/lang/UnsupportedOperationException;
    invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;-><init>()V
    throw p1
.end method
.method public seekObjectToFieldDeepScan(J)I
    .registers 3
    .line 1224
    new-instance p1, Ljava/lang/UnsupportedOperationException;
    invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;-><init>()V
    throw p1
.end method
.method public setFeatures(I)V
    .registers 2
    .line 5351
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->features:I
    return-void
.end method
.method public setLocale(Ljava/util/Locale;)V
    .registers 2
    .line 1041
    iput-object p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->locale:Ljava/util/Locale;
    return-void
.end method
.method public setTimeZone(Ljava/util/TimeZone;)V
    .registers 2
    .line 1033
    iput-object p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->timeZone:Ljava/util/TimeZone;
    return-void
.end method
.method public setToken(I)V
    .registers 2
    .line 97
    iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return-void
.end method
.method public skipArray()V
    .registers 2
    .line 1236
    new-instance v0, Ljava/lang/UnsupportedOperationException;
    invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;-><init>()V
    throw v0
.end method
.method protected skipComment()V
    .registers 5
    .line 568
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    .line 569
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/16 v1, 0x1a
    const/16 v2, 0x2f
    if-ne v0, v2, :cond_1b
    .line 571
    :cond_b
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    .line 572
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/16 v2, 0xa
    if-ne v0, v2, :cond_18
    .line 573
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    return-void
    :cond_18
    if-ne v0, v1, :cond_b
    return-void
    :cond_1b
    const/16 v3, 0x2a
    if-ne v0, v3, :cond_38
    .line 580
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    .line 582
    :cond_22
    :goto_22
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    if-eq v0, v1, :cond_37
    if-ne v0, v3, :cond_33
    .line 584
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    .line 585
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    if-ne v0, v2, :cond_22
    .line 586
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    return-void
    .line 592
    :cond_33
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    goto :goto_22
    :cond_37
    return-void
    .line 595
    :cond_38
    new-instance v0, Lcom/alibaba/fastjson/JSONException;
    const-string v1, "invalid comment"
    invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
    throw v0
.end method
.method public skipObject()V
    .registers 2
    .line 1228
    new-instance v0, Ljava/lang/UnsupportedOperationException;
    invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;-><init>()V
    throw v0
.end method
.method public skipObject(Z)V
    .registers 2
    .line 1232
    new-instance p1, Ljava/lang/UnsupportedOperationException;
    invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;-><init>()V
    throw p1
.end method
.method public final skipWhitespace()V
    .registers 4
    .line 4932
    :goto_0
    iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
    const/16 v1, 0x2f
    if-gt v0, v1, :cond_29
    const/16 v2, 0x20
    if-eq v0, v2, :cond_25
    const/16 v2, 0xd
    if-eq v0, v2, :cond_25
    const/16 v2, 0xa
    if-eq v0, v2, :cond_25
    const/16 v2, 0x9
    if-eq v0, v2, :cond_25
    const/16 v2, 0xc
    if-eq v0, v2, :cond_25
    const/16 v2, 0x8
    if-ne v0, v2, :cond_1f
    goto :goto_25
    :cond_1f
    if-ne v0, v1, :cond_29
    .line 4942
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->skipComment()V
    goto :goto_0
    .line 4939
    :cond_25
    :goto_25
    invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
    goto :goto_0
    :cond_29
    return-void
.end method
.method public final stringDefaultValue()Ljava/lang/String;
    .registers 2
    .line 415
    iget-object v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->stringDefaultValue:Ljava/lang/String;
    return-object v0
.end method
.method public abstract stringVal()Ljava/lang/String;
.end method
.method public abstract subString(II)Ljava/lang/String;
.end method
.method protected abstract sub_chars(II)[C
.end method
.method public final token()I
    .registers 2
    .line 403
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    return v0
.end method
.method public final tokenName()Ljava/lang/String;
    .registers 2
    .line 407
    iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
    invoke-static {v0}, Lcom/alibaba/fastjson/parser/JSONToken;->name(I)Ljava/lang/String;
    move-result-object v0
    return-object v0
.end method