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