Weather/smali/com/alibaba/fastjson/parser/JSONLexerBase.smali
2021-05-10 10:13:34 +02:00

10917 lines
221 KiB
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_REF_LOCAL:Ljava/lang/ThreadLocal;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/ThreadLocal<",
"Ljava/lang/ref/SoftReference<",
"[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 np:I
.field protected pos:I
.field protected sbuf:[C
.field private final sbufRef:Ljava/lang/ref/SoftReference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/ref/SoftReference<",
"[C>;"
}
.end annotation
.end field
.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
.locals 3
.line 84
new-instance v0, Ljava/lang/ThreadLocal;
invoke-direct {v0}, Ljava/lang/ThreadLocal;-><init>()V
sput-object v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->SBUF_REF_LOCAL:Ljava/lang/ThreadLocal;
.line 1087
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
.line 2989
new-array v0, v0, [I
sput-object v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->digits:[I
const/16 v0, 0x30
:goto_0
const/16 v1, 0x39
if-gt v0, v1, :cond_0
.line 2993
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_0
:cond_0
const/16 v0, 0x61
:goto_1
const/16 v1, 0x66
if-gt v0, v1, :cond_1
.line 2997
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_1
:cond_1
const/16 v0, 0x41
:goto_2
const/16 v1, 0x46
if-gt v0, v1, :cond_2
.line 3000
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_2
:cond_2
return-void
.end method
.method public constructor <init>(I)V
.locals 2
.line 88
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
.line 77
iput-object v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->calendar:Ljava/util/Calendar;
.line 78
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 79
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 81
iput v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
.line 86
iput-object v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->stringDefaultValue:Ljava/lang/String;
.line 89
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->features:I
.line 91
sget-object v1, Lcom/alibaba/fastjson/parser/Feature;->InitStringFieldAsEmpty:Lcom/alibaba/fastjson/parser/Feature;
iget v1, v1, Lcom/alibaba/fastjson/parser/Feature;->mask:I
and-int/2addr p1, v1
if-eqz p1, :cond_0
const-string p1, ""
.line 92
iput-object p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->stringDefaultValue:Ljava/lang/String;
.line 95
:cond_0
sget-object p1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->SBUF_REF_LOCAL:Ljava/lang/ThreadLocal;
invoke-virtual {p1}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/ref/SoftReference;
iput-object p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbufRef:Ljava/lang/ref/SoftReference;
.line 97
iget-object p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbufRef:Ljava/lang/ref/SoftReference;
if-eqz p1, :cond_1
.line 98
iget-object p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbufRef:Ljava/lang/ref/SoftReference;
invoke-virtual {p1}, Ljava/lang/ref/SoftReference;->get()Ljava/lang/Object;
move-result-object p1
check-cast p1, [C
iput-object p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
.line 99
sget-object p1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->SBUF_REF_LOCAL:Ljava/lang/ThreadLocal;
invoke-virtual {p1, v0}, Ljava/lang/ThreadLocal;->set(Ljava/lang/Object;)V
.line 102
:cond_1
iget-object p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
if-nez p1, :cond_2
const/16 p1, 0x100
.line 103
new-array p1, p1, [C
iput-object p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
:cond_2
return-void
.end method
.method public static isWhitespace(C)Z
.locals 1
const/16 v0, 0x20
if-gt p0, v0, :cond_1
if-eq p0, v0, :cond_0
const/16 v0, 0xa
if-eq p0, v0, :cond_0
const/16 v0, 0xd
if-eq p0, v0, :cond_0
const/16 v0, 0x9
if-eq p0, v0, :cond_0
const/16 v0, 0xc
if-eq p0, v0, :cond_0
const/16 v0, 0x8
if-ne p0, v0, :cond_1
:cond_0
const/4 p0, 0x1
goto :goto_0
:cond_1
const/4 p0, 0x0
:goto_0
return p0
.end method
.method private scanStringSingleQuote()V
.locals 9
.line 2667
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 2668
iput-boolean v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->hasSpecial:Z
.line 2671
:goto_0
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
move-result v1
const/16 v2, 0x27
const/4 v3, 0x4
if-ne v1, v2, :cond_0
.line 2783
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 2784
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
return-void
:cond_0
const/16 v4, 0x1a
if-ne v1, v4, :cond_2
.line 2678
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->isEOF()Z
move-result v1
if-nez v1, :cond_1
.line 2679
invoke-virtual {p0, v4}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto :goto_0
.line 2682
:cond_1
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "unclosed single-quote string"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
:cond_2
const/16 v4, 0x5c
const/4 v5, 0x1
if-ne v1, v4, :cond_5
.line 2686
iget-boolean v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->hasSpecial:Z
const/4 v6, 0x2
if-nez v1, :cond_4
.line 2687
iput-boolean v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->hasSpecial:Z
.line 2689
iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
iget-object v7, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
array-length v7, v7
if-le v1, v7, :cond_3
.line 2690
iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
mul-int/lit8 v1, v1, 0x2
new-array v1, v1, [C
.line 2691
iget-object v7, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
iget-object v8, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
array-length v8, v8
invoke-static {v7, v0, v1, v0, v8}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 2692
iput-object v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
.line 2696
:cond_3
iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
add-int/2addr v1, v5
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 2700
:cond_4
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
move-result v1
const/4 v7, 0x3
packed-switch v1, :pswitch_data_0
const/16 v8, 0x10
packed-switch v1, :pswitch_data_1
sparse-switch v1, :sswitch_data_0
.line 2765
iput-char v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
.line 2766
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "unclosed single-quote string"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2759
:sswitch_0
sget-object v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->digits:[I
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
move-result v2
aget v1, v1, v2
mul-int/lit8 v1, v1, 0x10
sget-object v2, Lcom/alibaba/fastjson/parser/JSONLexerBase;->digits:[I
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
move-result v3
aget v2, v2, v3
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_0
:sswitch_1
const/16 v1, 0xd
.line 2744
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:sswitch_2
const/16 v1, 0xa
.line 2734
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:sswitch_3
const/16 v1, 0x8
.line 2728
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
.line 2756
:sswitch_4
invoke-virtual {p0, v4}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:sswitch_5
const/16 v1, 0xc
.line 2741
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
.line 2750
:sswitch_6
invoke-virtual {p0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:sswitch_7
const/16 v1, 0x22
.line 2747
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:pswitch_0
const/16 v1, 0xb
.line 2737
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
.line 2762
:pswitch_1
new-instance v1, Ljava/lang/String;
new-array v2, v3, [C
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
move-result v3
aput-char v3, v2, v0
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
move-result v3
aput-char v3, v2, v5
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
move-result v3
aput-char v3, v2, v6
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
move-result v3
aput-char v3, v2, v7
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_0
:pswitch_2
const/16 v1, 0x9
.line 2731
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:pswitch_3
const/4 v1, 0x7
.line 2725
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:pswitch_4
const/4 v1, 0x6
.line 2722
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:pswitch_5
const/4 v1, 0x5
.line 2719
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
.line 2716
:pswitch_6
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
.line 2713
:pswitch_7
invoke-virtual {p0, v7}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
.line 2710
:pswitch_8
invoke-virtual {p0, v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
.line 2707
:pswitch_9
invoke-virtual {p0, v5}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
.line 2704
:pswitch_a
invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:pswitch_b
const/16 v1, 0x2f
.line 2753
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
.line 2771
:cond_5
iget-boolean v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->hasSpecial:Z
if-nez v2, :cond_6
.line 2772
iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
add-int/2addr v1, v5
iput v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
goto/16 :goto_0
.line 2776
:cond_6
iget v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
iget-object v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
array-length v3, v3
if-ne v2, v3, :cond_7
.line 2777
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
.line 2779
:cond_7
iget-object v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
iget v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
add-int/lit8 v4, v3, 0x1
iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
aput-char v1, v2, v3
goto/16 :goto_0
nop
:pswitch_data_0
.packed-switch 0x2f
:pswitch_b
:pswitch_a
:pswitch_9
:pswitch_8
:pswitch_7
:pswitch_6
:pswitch_5
:pswitch_4
:pswitch_3
.end packed-switch
:pswitch_data_1
.packed-switch 0x74
:pswitch_2
:pswitch_1
:pswitch_0
.end packed-switch
:sswitch_data_0
.sparse-switch
0x22 -> :sswitch_7
0x27 -> :sswitch_6
0x46 -> :sswitch_5
0x5c -> :sswitch_4
0x62 -> :sswitch_3
0x66 -> :sswitch_5
0x6e -> :sswitch_2
0x72 -> :sswitch_1
0x78 -> :sswitch_0
.end sparse-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
.locals 2
.line 1067
iget-object v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
array-length v0, v0
const/16 v1, 0x2000
if-gt v0, v1, :cond_2
.line 1069
iget-object v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbufRef:Ljava/lang/ref/SoftReference;
if-eqz v0, :cond_1
iget-object v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbufRef:Ljava/lang/ref/SoftReference;
invoke-virtual {v0}, Ljava/lang/ref/SoftReference;->get()Ljava/lang/Object;
move-result-object v0
iget-object v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
if-eq v0, v1, :cond_0
goto :goto_0
.line 1072
:cond_0
iget-object v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbufRef:Ljava/lang/ref/SoftReference;
goto :goto_1
.line 1070
:cond_1
:goto_0
new-instance v0, Ljava/lang/ref/SoftReference;
iget-object v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
invoke-direct {v0, v1}, Ljava/lang/ref/SoftReference;-><init>(Ljava/lang/Object;)V
.line 1074
:goto_1
sget-object v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->SBUF_REF_LOCAL:Ljava/lang/ThreadLocal;
invoke-virtual {v1, v0}, Ljava/lang/ThreadLocal;->set(Ljava/lang/Object;)V
:cond_2
const/4 v0, 0x0
.line 1076
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
.locals 1
.line 524
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 526
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->features:I
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_0
const-string p1, ""
.line 527
iput-object p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->stringDefaultValue:Ljava/lang/String;
:cond_0
return-void
.end method
.method protected abstract copyTo(II[C)V
.end method
.method public final decimalValue(Z)Ljava/lang/Number;
.locals 2
.line 2961
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_0
.line 2963
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
:cond_0
const/16 v1, 0x44
if-ne v0, v1, :cond_1
.line 2967
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_1
if-eqz p1, :cond_2
.line 2971
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->decimalValue()Ljava/math/BigDecimal;
move-result-object p1
return-object p1
.line 2973
:cond_2
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
return-object p1
.end method
.method public final decimalValue()Ljava/math/BigDecimal;
.locals 2
.line 2978
new-instance v0, Ljava/math/BigDecimal;
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->numberString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/math/BigDecimal;-><init>(Ljava/lang/String;)V
return-object v0
.end method
.method public doubleValue()D
.locals 2
.line 520
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
.locals 1
.line 516
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->numberString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/lang/Float;->parseFloat(Ljava/lang/String;)F
move-result v0
return v0
.end method
.method public final getBufferPosition()I
.locals 1
.line 411
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
return v0
.end method
.method public getCalendar()Ljava/util/Calendar;
.locals 1
.line 991
iget-object v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->calendar:Ljava/util/Calendar;
return-object v0
.end method
.method public final getCurrent()C
.locals 1
.line 540
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
return v0
.end method
.method public getLocale()Ljava/util/Locale;
.locals 1
.line 1003
iget-object v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->locale:Ljava/util/Locale;
return-object v0
.end method
.method public getTimeZone()Ljava/util/TimeZone;
.locals 1
.line 995
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;
.locals 1
const-string v0, ""
return-object v0
.end method
.method public final intValue()I
.locals 12
.line 1011
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
const/4 v1, 0x0
const/4 v2, -0x1
if-ne v0, v2, :cond_0
.line 1012
iput v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
.line 1017
:cond_0
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
iget v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
iget v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
add-int/2addr v2, v3
.line 1021
iget v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v3
const/16 v4, 0x2d
const/4 v5, 0x1
if-ne v3, v4, :cond_1
const/high16 v3, -0x80000000
add-int/lit8 v0, v0, 0x1
const/4 v3, 0x1
const/high16 v4, -0x80000000
goto :goto_0
:cond_1
const v3, -0x7fffffff
const/4 v3, 0x0
const v4, -0x7fffffff
:goto_0
const-wide/32 v6, -0xccccccc
if-ge v0, v2, :cond_2
.line 1030
sget-object v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->digits:[I
add-int/lit8 v8, v0, 0x1
invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v0
aget v0, v1, v0
neg-int v1, v0
:goto_1
move v0, v8
:cond_2
if-ge v0, v2, :cond_7
add-int/lit8 v8, v0, 0x1
.line 1035
invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v0
const/16 v9, 0x4c
if-eq v0, v9, :cond_6
const/16 v9, 0x53
if-eq v0, v9, :cond_6
const/16 v9, 0x42
if-ne v0, v9, :cond_3
goto :goto_2
.line 1041
:cond_3
sget-object v9, Lcom/alibaba/fastjson/parser/JSONLexerBase;->digits:[I
aget v0, v9, v0
int-to-long v9, v1
cmp-long v11, v9, v6
if-ltz v11, :cond_5
mul-int/lit8 v1, v1, 0xa
add-int v9, v4, v0
if-lt v1, v9, :cond_4
sub-int/2addr v1, v0
goto :goto_1
.line 1048
:cond_4
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 1044
:cond_5
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_6
:goto_2
move v0, v8
:cond_7
if-eqz v3, :cond_9
.line 1054
iget v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
add-int/2addr v2, v5
if-le v0, v2, :cond_8
return v1
.line 1057
:cond_8
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_9
neg-int v0, v1
return v0
.end method
.method public final integerValue()Ljava/lang/Number;
.locals 18
.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_0
.line 422
iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
.line 424
:cond_0
iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
iget v4, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
add-int/2addr v3, v4
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_3
if-eq v5, v7, :cond_2
if-eq v5, v6, :cond_1
goto :goto_0
:cond_1
add-int/lit8 v3, v3, -0x1
const/16 v4, 0x53
goto :goto_0
:cond_2
add-int/lit8 v3, v3, -0x1
const/16 v4, 0x4c
goto :goto_0
:cond_3
add-int/lit8 v3, v3, -0x1
const/16 v4, 0x42
.line 448
:goto_0
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_4
const-wide/high16 v11, -0x8000000000000000L
add-int/lit8 v1, v1, 0x1
const/4 v2, 0x1
goto :goto_1
:cond_4
const-wide v11, -0x7fffffffffffffffL # -4.9E-324
:goto_1
const-wide v13, -0xcccccccccccccccL
if-ge v1, v3, :cond_5
.line 457
sget-object v5, Lcom/alibaba/fastjson/parser/JSONLexerBase;->digits:[I
add-int/lit8 v9, v1, 0x1
invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v1
aget v1, v5, v1
neg-int v1, v1
move v15, v9
int-to-long v8, v1
move v1, v15
goto :goto_2
:cond_5
const-wide/16 v8, 0x0
:goto_2
if-ge v1, v3, :cond_8
.line 462
sget-object v5, Lcom/alibaba/fastjson/parser/JSONLexerBase;->digits:[I
add-int/lit8 v15, v1, 0x1
invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v1
aget v1, v5, v1
cmp-long v5, v8, v13
if-gez v5, :cond_6
.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}, Ljava/math/BigInteger;-><init>(Ljava/lang/String;)V
return-object v1
:cond_6
const-wide/16 v16, 0xa
mul-long v8, v8, v16
int-to-long v13, v1
add-long v16, v11, v13
cmp-long v1, v8, v16
if-gez v1, :cond_7
.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}, Ljava/math/BigInteger;-><init>(Ljava/lang/String;)V
return-object v1
:cond_7
const/4 v1, 0x0
sub-long/2addr v8, v13
move v1, v15
const-wide v13, -0xcccccccccccccccL
goto :goto_2
:cond_8
if-eqz v2, :cond_d
.line 474
iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
add-int/2addr v2, v10
if-le v1, v2, :cond_c
const-wide/32 v1, -0x80000000
cmp-long v3, v8, v1
if-ltz v3, :cond_b
if-eq v4, v7, :cond_b
if-ne v4, v6, :cond_9
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_9
const/16 v1, 0x42
if-ne v4, v1, :cond_a
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_a
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_b
invoke-static {v8, v9}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v1
return-object v1
.line 488
:cond_c
new-instance v1, Ljava/lang/NumberFormatException;
invoke-virtual/range {p0 .. p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->numberString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/lang/NumberFormatException;-><init>(Ljava/lang/String;)V
throw v1
:cond_d
neg-long v1, v8
const-wide/32 v8, 0x7fffffff
cmp-long v3, v1, v8
if-gtz v3, :cond_10
if-eq v4, v7, :cond_10
if-ne v4, v6, :cond_e
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_e
const/16 v3, 0x42
if-ne v4, v3, :cond_f
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_f
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_10
invoke-static {v1, v2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v1
return-object v1
.end method
.method public final isBlankInput()Z
.locals 4
const/4 v0, 0x0
const/4 v1, 0x0
.line 2635
:goto_0
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v2
const/16 v3, 0x1a
if-ne v2, v3, :cond_0
const/4 v0, 0x1
return v0
.line 2640
:cond_0
invoke-static {v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->isWhitespace(C)Z
move-result v2
if-nez v2, :cond_1
return v0
:cond_1
add-int/lit8 v1, v1, 0x1
goto :goto_0
.end method
.method public abstract isEOF()Z
.end method
.method public final isEnabled(Lcom/alibaba/fastjson/parser/Feature;)Z
.locals 1
.line 532
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->features:I
iget p1, p1, Lcom/alibaba/fastjson/parser/Feature;->mask:I
and-int/2addr p1, v0
if-eqz p1, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public final isRef()Z
.locals 5
.line 1080
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
const/4 v1, 0x0
const/4 v2, 0x4
if-eq v0, v2, :cond_0
return v1
.line 1084
:cond_0
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_1
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 v4, 0x72
if-ne v0, v4, :cond_1
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
add-int/lit8 v0, v0, 0x3
invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v0
const/16 v4, 0x65
if-ne v0, v4, :cond_1
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 v2, 0x66
if-ne v0, v2, :cond_1
const/4 v1, 0x1
:cond_1
return v1
.end method
.method protected varargs lexError(Ljava/lang/String;[Ljava/lang/Object;)V
.locals 0
const/4 p1, 0x1
.line 52
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
return-void
.end method
.method public final longValue()J
.locals 17
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/NumberFormatException;
}
.end annotation
move-object/from16 v0, p0
.line 2912
iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
const/4 v2, 0x0
const/4 v3, -0x1
if-ne v1, v3, :cond_0
.line 2913
iput v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
.line 2916
:cond_0
iget v1, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
iget v3, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
iget v4, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
add-int/2addr v3, v4
.line 2918
iget v4, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
invoke-virtual {v0, v4}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v4
const/16 v5, 0x2d
const/4 v6, 0x1
if-ne v4, v5, :cond_1
const-wide/high16 v4, -0x8000000000000000L
add-int/lit8 v1, v1, 0x1
const/4 v2, 0x1
goto :goto_0
:cond_1
const-wide v4, -0x7fffffffffffffffL # -4.9E-324
:goto_0
const-wide v7, -0xcccccccccccccccL
if-ge v1, v3, :cond_2
.line 2927
sget-object v9, Lcom/alibaba/fastjson/parser/JSONLexerBase;->digits:[I
add-int/lit8 v10, v1, 0x1
invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v1
aget v1, v9, v1
neg-int v1, v1
int-to-long v11, v1
move v1, v10
goto :goto_1
:cond_2
const-wide/16 v11, 0x0
:goto_1
if-ge v1, v3, :cond_7
add-int/lit8 v9, v1, 0x1
.line 2932
invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v1
const/16 v10, 0x4c
if-eq v1, v10, :cond_6
const/16 v10, 0x53
if-eq v1, v10, :cond_6
const/16 v10, 0x42
if-ne v1, v10, :cond_3
goto :goto_2
.line 2938
:cond_3
sget-object v10, Lcom/alibaba/fastjson/parser/JSONLexerBase;->digits:[I
aget v1, v10, v1
cmp-long v10, v11, v7
if-ltz v10, :cond_5
const-wide/16 v13, 0xa
mul-long v11, v11, v13
int-to-long v13, v1
add-long v15, v4, v13
cmp-long v1, v11, v15
if-ltz v1, :cond_4
sub-long/2addr v11, v13
move v1, v9
goto :goto_1
.line 2944
:cond_4
new-instance v1, Ljava/lang/NumberFormatException;
invoke-virtual/range {p0 .. p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->numberString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/lang/NumberFormatException;-><init>(Ljava/lang/String;)V
throw v1
.line 2940
:cond_5
new-instance v1, Ljava/lang/NumberFormatException;
invoke-virtual/range {p0 .. p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->numberString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/lang/NumberFormatException;-><init>(Ljava/lang/String;)V
throw v1
:cond_6
:goto_2
move v1, v9
:cond_7
if-eqz v2, :cond_9
.line 2950
iget v2, v0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
add-int/2addr v2, v6
if-le v1, v2, :cond_8
return-wide v11
.line 2953
:cond_8
new-instance v1, Ljava/lang/NumberFormatException;
invoke-virtual/range {p0 .. p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->numberString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/lang/NumberFormatException;-><init>(Ljava/lang/String;)V
throw v1
:cond_9
neg-long v1, v11
return-wide v1
.end method
.method public final matchField([C)Z
.locals 3
.line 1140
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charArrayCompare([C)Z
move-result v0
if-nez v0, :cond_0
const/4 p1, 0x0
return p1
.line 1144
:cond_0
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 1145
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
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 1147
iget-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v0, 0x7b
const/4 v1, 0x1
if-ne p1, v0, :cond_1
.line 1148
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
const/16 p1, 0xc
.line 1149
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
goto :goto_0
.line 1150
:cond_1
iget-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v0, 0x5b
if-ne p1, v0, :cond_2
.line 1151
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
const/16 p1, 0xe
.line 1152
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
goto :goto_0
.line 1153
:cond_2
iget-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v2, 0x53
if-ne p1, v2, :cond_3
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/2addr p1, v1
.line 1154
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result p1
const/16 v2, 0x65
if-ne p1, v2, :cond_3
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 p1, p1, 0x2
.line 1155
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result p1
const/16 v2, 0x74
if-ne p1, v2, :cond_3
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 p1, p1, 0x3
.line 1156
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result p1
if-ne p1, v0, :cond_3
.line 1158
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 1159
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
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 1160
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
goto :goto_0
.line 1162
:cond_3
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->nextToken()V
:goto_0
return v1
.end method
.method public final matchStat()I
.locals 1
.line 108
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v0
.end method
.method public abstract next()C
.end method
.method public final nextIdent()V
.locals 2
.line 365
: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_0
.line 366
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_0
.line 368
:cond_0
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x5f
if-eq v0, v1, :cond_2
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
invoke-static {v0}, Ljava/lang/Character;->isLetter(C)Z
move-result v0
if-eqz v0, :cond_1
goto :goto_1
.line 371
:cond_1
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->nextToken()V
goto :goto_2
.line 369
:cond_2
:goto_1
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanIdent()V
:goto_2
return-void
.end method
.method public final nextToken()V
.locals 4
const/4 v0, 0x0
.line 112
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
.line 115
:goto_0
iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
iput v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->pos:I
.line 117
iget-char v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v2, 0x2f
if-ne v1, v2, :cond_0
.line 118
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->skipComment()V
goto :goto_0
.line 122
:cond_0
iget-char v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v2, 0x22
if-ne v1, v2, :cond_1
.line 123
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanString()V
return-void
.line 127
:cond_1
iget-char v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v2, 0x2c
if-ne v1, v2, :cond_2
.line 128
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
const/16 v0, 0x10
.line 129
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
return-void
.line 133
:cond_2
iget-char v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v2, 0x30
if-lt v1, v2, :cond_3
iget-char v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v2, 0x39
if-gt v1, v2, :cond_3
.line 134
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanNumber()V
return-void
.line 138
:cond_3
iget-char v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v2, 0x2d
if-ne v1, v2, :cond_4
.line 139
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanNumber()V
return-void
.line 143
:cond_4
iget-char v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
sparse-switch v1, :sswitch_data_0
.line 208
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->isEOF()Z
move-result v1
if-eqz v1, :cond_7
.line 209
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
const/16 v1, 0x14
if-eq v0, v1, :cond_6
.line 213
iput v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 214
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->eofPos:I
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->pos:I
goto/16 :goto_1
.line 200
:sswitch_0
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
const/16 v0, 0xd
.line 201
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
return-void
.line 196
:sswitch_1
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
const/16 v0, 0xc
.line 197
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
return-void
.line 177
:sswitch_2
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanUndefined()V
return-void
.line 159
:sswitch_3
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanTrue()V
return-void
.line 171
:sswitch_4
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanNullOrNew()V
return-void
.line 168
:sswitch_5
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanFalse()V
return-void
.line 192
:sswitch_6
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
const/16 v0, 0xf
.line 193
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
return-void
.line 188
:sswitch_7
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
const/16 v0, 0xe
.line 189
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
return-void
.line 162
:sswitch_8
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanTreeSet()V
return-void
.line 165
:sswitch_9
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanSet()V
return-void
.line 174
:sswitch_a
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanNULL()V
return-void
.line 204
:sswitch_b
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
const/16 v0, 0x11
.line 205
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
return-void
.line 184
:sswitch_c
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
const/16 v0, 0xb
.line 185
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
return-void
.line 180
:sswitch_d
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
const/16 v0, 0xa
.line 181
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
return-void
.line 145
:sswitch_e
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_5
.line 148
invoke-direct {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanStringSingleQuote()V
return-void
.line 146
:cond_5
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 156
:sswitch_f
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto/16 :goto_0
.line 210
:cond_6
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 216
:cond_7
iget-char v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v2, 0x1f
if-le v1, v2, :cond_9
iget-char v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v2, 0x7f
if-ne v1, v2, :cond_8
goto :goto_2
:cond_8
const-string v1, "illegal.char"
const/4 v2, 0x1
.line 220
new-array v2, v2, [Ljava/lang/Object;
iget-char v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
invoke-static {v3}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v3
aput-object v3, v2, v0
invoke-virtual {p0, v1, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->lexError(Ljava/lang/String;[Ljava/lang/Object;)V
.line 221
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
:goto_1
return-void
.line 217
:cond_9
:goto_2
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto/16 :goto_0
nop
:sswitch_data_0
.sparse-switch
0x8 -> :sswitch_f
0x9 -> :sswitch_f
0xa -> :sswitch_f
0xc -> :sswitch_f
0xd -> :sswitch_f
0x20 -> :sswitch_f
0x27 -> :sswitch_e
0x28 -> :sswitch_d
0x29 -> :sswitch_c
0x3a -> :sswitch_b
0x4e -> :sswitch_a
0x53 -> :sswitch_9
0x54 -> :sswitch_8
0x5b -> :sswitch_7
0x5d -> :sswitch_6
0x66 -> :sswitch_5
0x6e -> :sswitch_4
0x74 -> :sswitch_3
0x75 -> :sswitch_2
0x7b -> :sswitch_1
0x7d -> :sswitch_0
.end sparse-switch
.end method
.method public final nextToken(I)V
.locals 9
const/4 v0, 0x0
.line 231
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
:goto_0
const/4 v0, 0x2
const/16 v1, 0xd
const/16 v2, 0x39
const/16 v3, 0x22
const/16 v4, 0x30
const/16 v5, 0xe
const/16 v6, 0x5b
const/16 v7, 0x7b
const/16 v8, 0xc
if-eq p1, v0, :cond_c
const/4 v0, 0x4
if-eq p1, v0, :cond_8
if-eq p1, v8, :cond_6
const/16 v0, 0x12
if-eq p1, v0, :cond_5
const/16 v0, 0x1a
const/16 v2, 0x14
if-eq p1, v2, :cond_4
const/16 v3, 0xf
const/16 v4, 0x5d
packed-switch p1, :pswitch_data_0
goto/16 :goto_1
.line 248
:pswitch_0
iget-char v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v6, 0x2c
if-ne v5, v6, :cond_0
const/16 p1, 0x10
.line 249
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 250
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
return-void
.line 254
:cond_0
iget-char v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v6, 0x7d
if-ne v5, v6, :cond_1
.line 255
iput v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 256
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
return-void
.line 260
:cond_1
iget-char v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-ne v5, v4, :cond_2
.line 261
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 262
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
return-void
.line 266
:cond_2
iget-char v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-ne v3, v0, :cond_10
.line 267
iput v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
return-void
.line 336
:pswitch_1
iget-char v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-ne v5, v4, :cond_4
.line 337
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 338
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
return-void
.line 323
:pswitch_2
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-ne v0, v6, :cond_3
.line 324
iput v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 325
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
return-void
.line 329
:cond_3
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-ne v0, v7, :cond_10
.line 330
iput v8, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 331
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
return-void
.line 342
:cond_4
iget-char v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-ne v3, v0, :cond_10
.line 343
iput v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
return-void
.line 348
:cond_5
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->nextIdent()V
return-void
.line 236
:cond_6
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-ne v0, v7, :cond_7
.line 237
iput v8, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 238
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
return-void
.line 241
:cond_7
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-ne v0, v6, :cond_10
.line 242
iput v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 243
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
return-void
.line 298
:cond_8
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-ne v0, v3, :cond_9
.line 299
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->pos:I
.line 300
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanString()V
return-void
.line 304
:cond_9
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-lt v0, v4, :cond_a
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-gt v0, v2, :cond_a
.line 305
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->pos:I
.line 306
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanNumber()V
return-void
.line 310
:cond_a
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-ne v0, v6, :cond_b
.line 311
iput v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 312
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
return-void
.line 316
:cond_b
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-ne v0, v7, :cond_10
.line 317
iput v8, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 318
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
return-void
.line 272
:cond_c
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-lt v0, v4, :cond_d
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-gt v0, v2, :cond_d
.line 273
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->pos:I
.line 274
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanNumber()V
return-void
.line 278
:cond_d
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-ne v0, v3, :cond_e
.line 279
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->pos:I
.line 280
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->scanString()V
return-void
.line 284
:cond_e
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-ne v0, v6, :cond_f
.line 285
iput v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 286
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
return-void
.line 290
:cond_f
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-ne v0, v7, :cond_10
.line 291
iput v8, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 292
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
return-void
.line 354
:cond_10
:goto_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v2, 0x20
if-eq v0, v2, :cond_12
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v2, 0xa
if-eq v0, v2, :cond_12
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-eq v0, v1, :cond_12
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x9
if-eq v0, v1, :cond_12
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-eq v0, v8, :cond_12
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x8
if-ne v0, v1, :cond_11
goto :goto_2
.line 359
:cond_11
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->nextToken()V
return-void
.line 355
:cond_12
:goto_2
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto/16 :goto_0
:pswitch_data_0
.packed-switch 0xe
:pswitch_2
:pswitch_1
:pswitch_0
.end packed-switch
.end method
.method public final nextTokenWithChar(C)V
.locals 3
const/4 v0, 0x0
.line 380
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
.line 383
:goto_0
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-ne v0, p1, :cond_0
.line 384
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 385
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->nextToken()V
return-void
.line 389
:cond_0
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x20
if-eq v0, v1, :cond_2
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0xa
if-eq v0, v1, :cond_2
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0xd
if-eq v0, v1, :cond_2
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x9
if-eq v0, v1, :cond_2
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0xc
if-eq v0, v1, :cond_2
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x8
if-ne v0, v1, :cond_1
goto :goto_1
.line 394
:cond_1
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;
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 390
:cond_2
:goto_1
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_0
.end method
.method public final nextTokenWithColon()V
.locals 1
const/16 v0, 0x3a
.line 376
invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->nextTokenWithChar(C)V
return-void
.end method
.method public final nextTokenWithColon(I)V
.locals 0
const/16 p1, 0x3a
.line 508
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->nextTokenWithChar(C)V
return-void
.end method
.method public final nextTokenWithComma(I)V
.locals 0
const/16 p1, 0x2c
.line 512
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
.locals 1
.line 407
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->pos:I
return v0
.end method
.method protected final putChar(C)V
.locals 4
.line 2814
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
iget-object v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
array-length v1, v1
if-ne v0, v1, :cond_0
.line 2815
iget-object v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
array-length v0, v0
mul-int/lit8 v0, v0, 0x2
new-array v0, v0, [C
.line 2816
iget-object v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
iget-object v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
array-length v2, v2
const/4 v3, 0x0
invoke-static {v1, v3, v0, v3, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 2817
iput-object v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
.line 2819
:cond_0
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
.locals 1
const/4 v0, 0x0
.line 799
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
return-void
.end method
.method public scanBoolean(C)Z
.locals 8
const/4 v0, 0x0
.line 1762
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
.line 1765
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, 0x5
const/4 v3, 0x3
const/16 v4, 0x65
const/4 v5, -0x1
const/4 v6, 0x1
const/16 v7, 0x74
if-ne v1, v7, :cond_1
.line 1769
iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/2addr v1, v6
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v1
const/16 v7, 0x72
if-ne v1, v7, :cond_0
iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/2addr v1, v6
add-int/2addr v1, v6
.line 1770
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v1
const/16 v7, 0x75
if-ne v1, v7, :cond_0
iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/2addr v1, v6
add-int/lit8 v1, v1, 0x2
.line 1771
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v1
if-ne v1, v4, :cond_0
.line 1773
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
const/4 v0, 0x1
goto :goto_0
.line 1776
:cond_0
iput v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v0
:cond_1
const/16 v7, 0x66
if-ne v1, v7, :cond_3
.line 1780
iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/2addr v1, v6
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v1
const/16 v7, 0x61
if-ne v1, v7, :cond_2
iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/2addr v1, v6
add-int/2addr v1, v6
.line 1781
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v1
const/16 v7, 0x6c
if-ne v1, v7, :cond_2
iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/2addr v1, v6
add-int/lit8 v1, v1, 0x2
.line 1782
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v1
const/16 v7, 0x73
if-ne v1, v7, :cond_2
iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/2addr v1, v6
add-int/2addr v1, v3
.line 1783
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v1
if-ne v1, v4, :cond_2
.line 1785
iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
const/4 v4, 0x6
add-int/2addr v1, v2
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v1
const/4 v2, 0x6
goto :goto_0
.line 1788
:cond_2
iput v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v0
:cond_3
const/4 v2, 0x1
:goto_0
if-ne v1, p1, :cond_4
.line 1794
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
sub-int/2addr v2, v6
add-int/2addr p1, v2
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 1795
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 1796
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v0
.line 1799
:cond_4
iput v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v0
.end method
.method public scanEnum(Ljava/lang/Class;Lcom/alibaba/fastjson/parser/SymbolTable;C)Ljava/lang/Enum;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;",
"Lcom/alibaba/fastjson/parser/SymbolTable;",
"C)",
"Ljava/lang/Enum<",
"*>;"
}
.end annotation
.line 1408
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_0
const/4 p1, 0x0
return-object p1
.line 1412
:cond_0
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 final scanFalse()V
.locals 2
.line 2563
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x66
if-ne v0, v1, :cond_6
.line 2566
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2568
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x61
if-ne v0, v1, :cond_5
.line 2571
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2573
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x6c
if-ne v0, v1, :cond_4
.line 2576
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2578
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x73
if-ne v0, v1, :cond_3
.line 2581
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2583
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x65
if-ne v0, v1, :cond_2
.line 2586
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2588
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x20
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x2c
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x7d
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x5d
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0xa
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0xd
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x9
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x1a
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0xc
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x8
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x3a
if-ne v0, v1, :cond_0
goto :goto_0
.line 2592
:cond_0
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_1
:goto_0
const/4 v0, 0x7
.line 2590
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
return-void
.line 2584
:cond_2
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse false"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2579
:cond_3
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse false"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2574
:cond_4
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse false"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2569
:cond_5
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse false"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2564
:cond_6
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse false"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public scanFieldBoolean([C)Z
.locals 9
const/4 v0, 0x0
.line 1846
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
.line 1848
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charArrayCompare([C)Z
move-result v1
if-nez v1, :cond_0
const/4 p1, -0x2
.line 1849
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v0
.line 1853
:cond_0
array-length p1, p1
.line 1854
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_4
.line 1858
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_1
.line 1859
iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v0
.line 1862
:cond_1
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_2
.line 1863
iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v0
.line 1866
:cond_2
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_3
.line 1867
iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v0
:cond_3
const/4 p1, 0x1
goto :goto_0
:cond_4
const/16 v1, 0x66
if-ne p1, v1, :cond_f
.line 1873
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_5
.line 1874
iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v0
.line 1877
:cond_5
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_6
.line 1878
iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v0
.line 1881
:cond_6
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_7
.line 1882
iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v0
.line 1885
:cond_7
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_8
.line 1886
iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v0
:cond_8
move v1, v2
const/4 p1, 0x0
.line 1896
:goto_0
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_9
.line 1898
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
sub-int/2addr v3, v5
add-int/2addr v0, v3
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 1899
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
const/4 v0, 0x3
.line 1900
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
.line 1901
iput v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
return p1
:cond_9
const/16 v7, 0x7d
if-ne v1, v7, :cond_e
.line 1907
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_a
.line 1909
iput v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 1910
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 1911
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_1
:cond_a
const/16 v2, 0x5d
if-ne v1, v2, :cond_b
const/16 v0, 0xf
.line 1913
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 1914
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 1915
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_1
:cond_b
if-ne v1, v7, :cond_c
const/16 v0, 0xd
.line 1917
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 1918
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 1919
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_1
:cond_c
const/16 v2, 0x1a
if-ne v1, v2, :cond_d
const/16 v0, 0x14
.line 1921
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 1922
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 1923
iput-char v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
:goto_1
const/4 v0, 0x4
.line 1928
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return p1
.line 1925
:cond_d
iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v0
.line 1930
:cond_e
iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v0
.line 1892
:cond_f
iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v0
.end method
.method public final scanFieldDouble(C)D
.locals 9
const/4 v0, 0x0
.line 2295
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
.line 2298
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 v0
const-wide/16 v1, 0x0
const/4 v3, -0x1
const/16 v4, 0x30
if-lt v0, v4, :cond_9
const/16 v5, 0x39
if-gt v0, v5, :cond_9
const/4 v0, 0x1
const/4 v6, 0x1
.line 2303
:goto_0
iget v7, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v8, v6, 0x1
add-int/2addr v7, v6
invoke-virtual {p0, v7}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v6
if-lt v6, v4, :cond_0
if-gt v6, v5, :cond_0
move v6, v8
goto :goto_0
:cond_0
const/16 v7, 0x2e
if-ne v6, v7, :cond_2
.line 2312
iget v6, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v7, v8, 0x1
add-int/2addr v6, v8
invoke-virtual {p0, v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v6
if-lt v6, v4, :cond_1
if-gt v6, v5, :cond_1
.line 2315
:goto_1
iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v2, v7, 0x1
add-int/2addr v1, v7
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v6
if-lt v6, v4, :cond_3
if-gt v6, v5, :cond_3
move v7, v2
goto :goto_1
.line 2323
:cond_1
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-wide v1
:cond_2
move v2, v8
:cond_3
const/16 v1, 0x65
if-eq v6, v1, :cond_4
const/16 v1, 0x45
if-ne v6, v1, :cond_7
.line 2329
:cond_4
iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v6, v2, 0x1
add-int/2addr v1, v2
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v1
const/16 v2, 0x2b
if-eq v1, v2, :cond_6
const/16 v2, 0x2d
if-ne v1, v2, :cond_5
goto :goto_4
:cond_5
:goto_2
move v2, v6
:goto_3
move v6, v1
goto :goto_5
.line 2331
:cond_6
:goto_4
iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v2, v6, 0x1
add-int/2addr v1, v6
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v1
goto :goto_3
:goto_5
if-lt v6, v4, :cond_7
if-gt v6, v5, :cond_7
.line 2335
iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v6, v2, 0x1
add-int/2addr v1, v2
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v1
goto :goto_2
.line 2342
:cond_7
iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 2343
iget v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/2addr v4, v2
sub-int/2addr v4, v1
sub-int/2addr v4, v0
.line 2344
invoke-virtual {p0, v1, v4}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->subString(II)Ljava/lang/String;
move-result-object v1
.line 2345
invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v4
if-ne v6, p1, :cond_8
.line 2352
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
sub-int/2addr v2, v0
add-int/2addr p1, v2
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 2353
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
const/4 p1, 0x3
.line 2354
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
const/16 p1, 0x10
.line 2355
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
return-wide v4
.line 2358
:cond_8
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-wide v4
.line 2347
:cond_9
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-wide v1
.end method
.method public final scanFieldDouble([C)D
.locals 10
const/4 v0, 0x0
.line 2194
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
.line 2196
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charArrayCompare([C)Z
move-result v0
const-wide/16 v1, 0x0
if-nez v0, :cond_0
const/4 p1, -0x2
.line 2197
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-wide v1
.line 2201
:cond_0
array-length v0, p1
.line 2202
iget v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v4, v0, 0x1
add-int/2addr v3, v0
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v0
const/4 v3, -0x1
const/16 v5, 0x30
if-lt v0, v5, :cond_e
const/16 v6, 0x39
if-gt v0, v6, :cond_e
.line 2207
:goto_0
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v7, v4, 0x1
add-int/2addr v0, v4
invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v0
if-lt v0, v5, :cond_1
if-gt v0, v6, :cond_1
move v4, v7
goto :goto_0
:cond_1
const/16 v4, 0x2e
if-ne v0, v4, :cond_3
.line 2216
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v4, v7, 0x1
add-int/2addr v0, v7
invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v0
if-lt v0, v5, :cond_2
if-gt v0, v6, :cond_2
.line 2219
:goto_1
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v7, v4, 0x1
add-int/2addr v0, v4
invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v0
if-lt v0, v5, :cond_3
if-gt v0, v6, :cond_3
move v4, v7
goto :goto_1
.line 2227
:cond_2
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-wide v1
:cond_3
const/16 v4, 0x65
if-eq v0, v4, :cond_4
const/16 v4, 0x45
if-ne v0, v4, :cond_7
.line 2233
:cond_4
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v4, v7, 0x1
add-int/2addr v0, v7
invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v0
const/16 v7, 0x2b
if-eq v0, v7, :cond_6
const/16 v7, 0x2d
if-ne v0, v7, :cond_5
goto :goto_3
:cond_5
:goto_2
move v7, v4
goto :goto_4
.line 2235
:cond_6
:goto_3
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v7, v4, 0x1
add-int/2addr v0, v4
invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v0
:goto_4
if-lt v0, v5, :cond_7
if-gt v0, v6, :cond_7
.line 2239
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v4, v7, 0x1
add-int/2addr v0, v7
invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v0
goto :goto_2
.line 2246
:cond_7
iget v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
array-length p1, p1
add-int/2addr v4, p1
.line 2247
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/2addr p1, v7
sub-int/2addr p1, v4
add-int/lit8 p1, p1, -0x1
.line 2248
invoke-virtual {p0, v4, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->subString(II)Ljava/lang/String;
move-result-object p1
.line 2249
invoke-static {p1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v4
const/16 p1, 0x10
const/16 v6, 0x2c
if-ne v0, v6, :cond_8
.line 2256
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v7, v7, -0x1
add-int/2addr v0, v7
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 2257
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
const/4 v0, 0x3
.line 2258
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
.line 2259
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
return-wide v4
:cond_8
const/16 v8, 0x7d
if-ne v0, v8, :cond_d
.line 2264
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v9, v7, 0x1
add-int/2addr v0, v7
invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v0
if-ne v0, v6, :cond_9
.line 2266
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 2267
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v9, v9, -0x1
add-int/2addr p1, v9
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 2268
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_5
:cond_9
const/16 p1, 0x5d
if-ne v0, p1, :cond_a
const/16 p1, 0xf
.line 2270
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 2271
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v9, v9, -0x1
add-int/2addr p1, v9
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 2272
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_5
:cond_a
if-ne v0, v8, :cond_b
const/16 p1, 0xd
.line 2274
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 2275
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v9, v9, -0x1
add-int/2addr p1, v9
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 2276
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_5
:cond_b
const/16 p1, 0x1a
if-ne v0, p1, :cond_c
const/16 v0, 0x14
.line 2278
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 2279
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v9, v9, -0x1
add-int/2addr v0, v9
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 2280
iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
:goto_5
const/4 p1, 0x4
.line 2285
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-wide v4
.line 2282
:cond_c
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-wide v1
.line 2287
:cond_d
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-wide v1
.line 2251
:cond_e
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-wide v1
.end method
.method public final scanFieldFloat([C)F
.locals 8
const/4 v0, 0x0
.line 2052
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
.line 2054
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charArrayCompare([C)Z
move-result v0
const/4 v1, 0x0
if-nez v0, :cond_0
const/4 p1, -0x2
.line 2055
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v1
.line 2059
:cond_0
array-length v0, p1
.line 2060
iget v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v3, v0, 0x1
add-int/2addr v2, v0
invoke-virtual {p0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v0
const/4 v2, -0x1
const/16 v4, 0x30
if-lt v0, v4, :cond_a
const/16 v5, 0x39
if-gt v0, v5, :cond_a
.line 2065
:goto_0
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v6, v3, 0x1
add-int/2addr v0, v3
invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v0
if-lt v0, v4, :cond_1
if-gt v0, v5, :cond_1
move v3, v6
goto :goto_0
:cond_1
const/16 v3, 0x2e
if-ne v0, v3, :cond_3
.line 2074
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v3, v6, 0x1
add-int/2addr v0, v6
invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v0
if-lt v0, v4, :cond_2
if-gt v0, v5, :cond_2
.line 2077
:goto_1
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v6, v3, 0x1
add-int/2addr v0, v3
invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v0
if-lt v0, v4, :cond_3
if-gt v0, v5, :cond_3
move v3, v6
goto :goto_1
.line 2085
:cond_2
iput v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v1
.line 2090
:cond_3
iget v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
array-length p1, p1
add-int/2addr v3, p1
.line 2091
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/2addr p1, v6
sub-int/2addr p1, v3
add-int/lit8 p1, p1, -0x1
.line 2092
invoke-virtual {p0, v3, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->subString(II)Ljava/lang/String;
move-result-object p1
.line 2093
invoke-static {p1}, Ljava/lang/Float;->parseFloat(Ljava/lang/String;)F
move-result p1
const/16 v3, 0x10
const/16 v4, 0x2c
if-ne v0, v4, :cond_4
.line 2100
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v6, v6, -0x1
add-int/2addr v0, v6
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 2101
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
const/4 v0, 0x3
.line 2102
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
.line 2103
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
return p1
:cond_4
const/16 v5, 0x7d
if-ne v0, v5, :cond_9
.line 2108
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v7, v6, 0x1
add-int/2addr v0, v6
invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v0
if-ne v0, v4, :cond_5
.line 2110
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 2111
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v7, v7, -0x1
add-int/2addr v0, v7
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 2112
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_2
:cond_5
const/16 v3, 0x5d
if-ne v0, v3, :cond_6
const/16 v0, 0xf
.line 2114
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 2115
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v7, v7, -0x1
add-int/2addr v0, v7
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 2116
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_2
:cond_6
if-ne v0, v5, :cond_7
const/16 v0, 0xd
.line 2118
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 2119
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v7, v7, -0x1
add-int/2addr v0, v7
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 2120
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_2
:cond_7
const/16 v3, 0x1a
if-ne v0, v3, :cond_8
.line 2122
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v7, v7, -0x1
add-int/2addr v0, v7
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
const/16 v0, 0x14
.line 2123
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 2124
iput-char v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
:goto_2
const/4 v0, 0x4
.line 2129
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return p1
.line 2126
:cond_8
iput v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v1
.line 2131
:cond_9
iput v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v1
.line 2095
:cond_a
iput v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v1
.end method
.method public scanFieldInt([C)I
.locals 8
const/4 v0, 0x0
.line 1689
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
.line 1691
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charArrayCompare([C)Z
move-result v1
if-nez v1, :cond_0
const/4 p1, -0x2
.line 1692
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v0
.line 1696
:cond_0
array-length p1, p1
.line 1697
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, 0x30
const/4 v3, -0x1
if-lt p1, v1, :cond_a
const/16 v4, 0x39
if-gt p1, v4, :cond_a
.line 1701
sget-object v5, Lcom/alibaba/fastjson/parser/JSONLexerBase;->digits:[I
aget p1, v5, p1
.line 1703
:goto_0
iget v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v6, v2, 0x1
add-int/2addr v5, v2
invoke-virtual {p0, v5}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v2
if-lt v2, v1, :cond_1
if-gt v2, v4, :cond_1
mul-int/lit8 p1, p1, 0xa
.line 1705
sget-object v5, Lcom/alibaba/fastjson/parser/JSONLexerBase;->digits:[I
aget v2, v5, v2
add-int/2addr p1, v2
move v2, v6
goto :goto_0
:cond_1
const/16 v1, 0x2e
if-ne v2, v1, :cond_2
.line 1707
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v0
:cond_2
if-gez p1, :cond_3
.line 1714
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v0
:cond_3
const/16 v1, 0x10
const/16 v4, 0x2c
if-ne v2, v4, :cond_4
.line 1723
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v6, v6, -0x1
add-int/2addr v0, v6
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 1724
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
const/4 v0, 0x3
.line 1725
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
.line 1726
iput v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
return p1
:cond_4
const/16 v5, 0x7d
if-ne v2, v5, :cond_9
.line 1731
iget v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v7, v6, 0x1
add-int/2addr v2, v6
invoke-virtual {p0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v2
if-ne v2, v4, :cond_5
.line 1733
iput v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 1734
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v7, v7, -0x1
add-int/2addr v0, v7
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 1735
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_1
:cond_5
const/16 v1, 0x5d
if-ne v2, v1, :cond_6
const/16 v0, 0xf
.line 1737
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 1738
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v7, v7, -0x1
add-int/2addr v0, v7
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 1739
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_1
:cond_6
if-ne v2, v5, :cond_7
const/16 v0, 0xd
.line 1741
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 1742
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v7, v7, -0x1
add-int/2addr v0, v7
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 1743
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_1
:cond_7
const/16 v1, 0x1a
if-ne v2, v1, :cond_8
const/16 v0, 0x14
.line 1745
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 1746
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v7, v7, -0x1
add-int/2addr v0, v7
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 1747
iput-char v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
:goto_1
const/4 v0, 0x4
.line 1752
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return p1
.line 1749
:cond_8
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v0
.line 1754
:cond_9
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v0
.line 1718
:cond_a
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v0
.end method
.method public scanFieldLong([C)J
.locals 11
const/4 v0, 0x0
.line 1938
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
.line 1940
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charArrayCompare([C)Z
move-result v0
const-wide/16 v1, 0x0
if-nez v0, :cond_0
const/4 p1, -0x2
.line 1941
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-wide v1
.line 1945
:cond_0
array-length p1, p1
.line 1946
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, 0x30
const/4 v4, -0x1
if-lt p1, v0, :cond_a
const/16 v5, 0x39
if-gt p1, v5, :cond_a
.line 1950
sget-object v6, Lcom/alibaba/fastjson/parser/JSONLexerBase;->digits:[I
aget p1, v6, p1
int-to-long v6, p1
.line 1952
:goto_0
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v8, v3, 0x1
add-int/2addr p1, v3
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result p1
if-lt p1, v0, :cond_1
if-gt p1, v5, :cond_1
const-wide/16 v9, 0xa
mul-long v6, v6, v9
.line 1954
sget-object v3, Lcom/alibaba/fastjson/parser/JSONLexerBase;->digits:[I
aget p1, v3, p1
int-to-long v9, p1
add-long/2addr v6, v9
move v3, v8
goto :goto_0
:cond_1
const/16 v0, 0x2e
if-ne p1, v0, :cond_2
.line 1956
iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-wide v1
:cond_2
cmp-long v0, v6, v1
if-gez v0, :cond_3
.line 1963
iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-wide v1
:cond_3
const/16 v0, 0x10
const/16 v3, 0x2c
if-ne p1, v3, :cond_4
.line 1972
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 1973
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
const/4 p1, 0x3
.line 1974
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
.line 1975
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
return-wide v6
:cond_4
const/16 v5, 0x7d
if-ne p1, v5, :cond_9
.line 1980
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v9, v8, 0x1
add-int/2addr p1, v8
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result p1
if-ne p1, v3, :cond_5
.line 1982
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 1983
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v9, v9, -0x1
add-int/2addr p1, v9
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 1984
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_1
:cond_5
const/16 v0, 0x5d
if-ne p1, v0, :cond_6
const/16 p1, 0xf
.line 1986
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 1987
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v9, v9, -0x1
add-int/2addr p1, v9
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 1988
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_1
:cond_6
if-ne p1, v5, :cond_7
const/16 p1, 0xd
.line 1990
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 1991
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v9, v9, -0x1
add-int/2addr p1, v9
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 1992
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_1
:cond_7
const/16 v0, 0x1a
if-ne p1, v0, :cond_8
const/16 p1, 0x14
.line 1994
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 1995
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v9, v9, -0x1
add-int/2addr p1, v9
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 1996
iput-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
:goto_1
const/4 p1, 0x4
.line 2001
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-wide v6
.line 1998
:cond_8
iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-wide v1
.line 2003
:cond_9
iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-wide v1
.line 1967
:cond_a
iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-wide v1
.end method
.method public scanFieldString([C)Ljava/lang/String;
.locals 9
const/4 v0, 0x0
.line 1173
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
.line 1175
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charArrayCompare([C)Z
move-result v1
if-nez v1, :cond_0
const/4 p1, -0x2
.line 1176
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
.line 1177
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->stringDefaultValue()Ljava/lang/String;
move-result-object p1
return-object p1
.line 1182
:cond_0
array-length v1, p1
.line 1183
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_1
.line 1186
iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
.line 1188
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->stringDefaultValue()Ljava/lang/String;
move-result-object p1
return-object p1
.line 1194
:cond_1
iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
array-length v5, p1
add-int/2addr v1, v5
const/4 v5, 0x1
add-int/2addr v1, v5
.line 1195
invoke-virtual {p0, v2, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->indexOf(CI)I
move-result v1
if-eq v1, v4, :cond_b
.line 1200
iget v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
array-length v6, p1
add-int/2addr v2, v6
add-int/2addr v2, v5
sub-int v6, v1, v2
.line 1201
invoke-virtual {p0, v2, v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->subString(II)Ljava/lang/String;
move-result-object v2
.line 1202
iget v6, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
array-length v7, p1
add-int/2addr v6, v7
add-int/2addr v6, v5
:goto_0
if-ge v6, v1, :cond_3
.line 1203
invoke-virtual {p0, v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v7
const/16 v8, 0x5c
if-ne v7, v8, :cond_2
const/4 v0, 0x1
goto :goto_1
:cond_2
add-int/lit8 v6, v6, 0x1
goto :goto_0
:cond_3
:goto_1
if-eqz v0, :cond_4
.line 1210
iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
.line 1212
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->stringDefaultValue()Ljava/lang/String;
move-result-object p1
return-object p1
.line 1215
:cond_4
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
array-length p1, p1
add-int/2addr v0, p1
add-int/2addr v0, v5
sub-int/2addr v1, v0
add-int/2addr v1, v5
add-int/2addr v3, v1
.line 1216
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v0, v3, 0x1
add-int/2addr p1, v3
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result p1
const/16 v1, 0x2c
if-ne p1, v1, :cond_5
.line 1221
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
sub-int/2addr v0, v5
add-int/2addr p1, v0
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 1222
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
const/4 p1, 0x3
.line 1223
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object v2
:cond_5
const/16 v3, 0x7d
if-ne p1, v3, :cond_a
.line 1228
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v6, 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, v1, :cond_6
const/16 p1, 0x10
.line 1230
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 1231
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
sub-int/2addr v6, v5
add-int/2addr p1, v6
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 1232
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_2
:cond_6
const/16 v0, 0x5d
if-ne p1, v0, :cond_7
const/16 p1, 0xf
.line 1234
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 1235
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
sub-int/2addr v6, v5
add-int/2addr p1, v6
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 1236
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_2
:cond_7
if-ne p1, v3, :cond_8
const/16 p1, 0xd
.line 1238
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 1239
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
sub-int/2addr v6, v5
add-int/2addr p1, v6
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 1240
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_2
:cond_8
const/16 v0, 0x1a
if-ne p1, v0, :cond_9
const/16 p1, 0x14
.line 1242
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 1243
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
sub-int/2addr v6, v5
add-int/2addr p1, v6
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 1244
iput-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
:goto_2
const/4 p1, 0x4
.line 1249
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object v2
.line 1246
:cond_9
iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
.line 1247
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->stringDefaultValue()Ljava/lang/String;
move-result-object p1
return-object p1
.line 1251
:cond_a
iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
.line 1252
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->stringDefaultValue()Ljava/lang/String;
move-result-object p1
return-object p1
.line 1197
:cond_b
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;
.locals 7
.annotation system Ldalvik/annotation/Signature;
value = {
"([C",
"Ljava/lang/Class<",
"*>;)",
"Ljava/util/Collection<",
"Ljava/lang/String;",
">;"
}
.end annotation
const/4 v0, 0x0
.line 1482
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
.line 1484
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charArrayCompare([C)Z
move-result v0
const/4 v1, 0x0
if-nez v0, :cond_0
const/4 p1, -0x2
.line 1485
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object v1
.line 1491
:cond_0
const-class v0, Ljava/util/HashSet;
invoke-virtual {p2, v0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v0
if-eqz v0, :cond_1
.line 1492
new-instance p2, Ljava/util/HashSet;
invoke-direct {p2}, Ljava/util/HashSet;-><init>()V
goto :goto_0
.line 1493
:cond_1
const-class v0, Ljava/util/ArrayList;
invoke-virtual {p2, v0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v0
if-eqz v0, :cond_2
.line 1494
new-instance p2, Ljava/util/ArrayList;
invoke-direct {p2}, Ljava/util/ArrayList;-><init>()V
goto :goto_0
.line 1497
:cond_2
:try_start_0
invoke-virtual {p2}, Ljava/lang/Class;->newInstance()Ljava/lang/Object;
move-result-object p2
check-cast p2, Ljava/util/Collection;
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
.line 1505
:goto_0
array-length p1, p1
.line 1506
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v2, 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, 0x5b
const/4 v3, -0x1
if-eq p1, v0, :cond_3
.line 1509
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object v1
.line 1513
:cond_3
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v0, v2, 0x1
add-int/2addr p1, v2
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result p1
:goto_1
const/16 v2, 0x22
if-eq p1, v2, :cond_4
.line 1517
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object v1
:cond_4
move p1, v0
.line 1525
:goto_2
iget v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v5, p1, 0x1
add-int/2addr v4, p1
invoke-virtual {p0, v4}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result p1
if-ne p1, v2, :cond_d
.line 1527
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/2addr p1, v0
.line 1528
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/2addr v0, v5
sub-int/2addr v0, p1
add-int/lit8 v0, v0, -0x1
.line 1529
invoke-virtual {p0, p1, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->subString(II)Ljava/lang/String;
move-result-object p1
.line 1530
invoke-interface {p2, p1}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
.line 1532
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v0, v5, 0x1
add-int/2addr p1, v5
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result p1
const/16 v2, 0x2c
if-ne p1, v2, :cond_5
.line 1543
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v2, v0, 0x1
add-int/2addr p1, v0
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result p1
move v0, v2
goto :goto_1
:cond_5
const/16 v4, 0x5d
if-ne p1, v4, :cond_c
.line 1548
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v5, 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, v2, :cond_6
.line 1557
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v5, v5, -0x1
add-int/2addr p1, v5
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 1558
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
const/4 p1, 0x3
.line 1559
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object p2
:cond_6
const/16 v0, 0x7d
if-ne p1, v0, :cond_b
.line 1564
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v6, v5, 0x1
add-int/2addr p1, v5
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result p1
if-ne p1, v2, :cond_7
const/16 p1, 0x10
.line 1566
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 1567
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
.line 1568
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_3
:cond_7
if-ne p1, v4, :cond_8
const/16 p1, 0xf
.line 1570
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 1571
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
.line 1572
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_3
:cond_8
if-ne p1, v0, :cond_9
const/16 p1, 0xd
.line 1574
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 1575
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
.line 1576
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_3
:cond_9
const/16 v0, 0x1a
if-ne p1, v0, :cond_a
.line 1578
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 1579
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 1580
iput-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
:goto_3
const/4 p1, 0x4
.line 1585
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object p2
.line 1582
:cond_a
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object v1
.line 1587
:cond_b
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object v1
.line 1552
:cond_c
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object v1
:cond_d
const/16 v4, 0x5c
if-ne p1, v4, :cond_e
.line 1537
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object v1
:cond_e
move p1, v5
goto/16 :goto_2
:catch_0
move-exception p1
.line 1499
new-instance p2, Lcom/alibaba/fastjson/JSONException;
invoke-virtual {p1}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v0
invoke-direct {p2, v0, p1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p2
.end method
.method public scanFieldSymbol([CLcom/alibaba/fastjson/parser/SymbolTable;)Ljava/lang/String;
.locals 7
const/4 v0, 0x0
.line 1330
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
.line 1332
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charArrayCompare([C)Z
move-result v1
const/4 v2, 0x0
if-nez v1, :cond_0
const/4 p1, -0x2
.line 1333
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object v2
.line 1337
:cond_0
array-length v1, p1
.line 1338
iget v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v4, v1, 0x1
add-int/2addr v3, v1
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v1
const/16 v3, 0x22
const/4 v5, -0x1
if-eq v1, v3, :cond_1
.line 1341
iput v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object v2
.line 1349
:cond_1
:goto_0
iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v6, v4, 0x1
add-int/2addr v1, v4
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v1
if-ne v1, v3, :cond_8
.line 1353
iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
array-length p1, p1
add-int/2addr v1, p1
add-int/lit8 v1, v1, 0x1
.line 1354
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/2addr p1, v6
sub-int/2addr p1, v1
add-int/lit8 p1, p1, -0x1
.line 1355
invoke-virtual {p0, v1, p1, v0, p2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->addSymbol(IIILcom/alibaba/fastjson/parser/SymbolTable;)Ljava/lang/String;
move-result-object p1
.line 1356
iget p2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v0, v6, 0x1
add-int/2addr p2, v6
invoke-virtual {p0, p2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result p2
const/16 v1, 0x2c
if-ne p2, v1, :cond_2
.line 1369
iget p2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v0, v0, -0x1
add-int/2addr p2, v0
iput p2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 1370
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
const/4 p2, 0x3
.line 1371
iput p2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object p1
:cond_2
const/16 v3, 0x7d
if-ne p2, v3, :cond_7
.line 1376
iget p2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v4, v0, 0x1
add-int/2addr p2, v0
invoke-virtual {p0, p2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result p2
if-ne p2, v1, :cond_3
const/16 p2, 0x10
.line 1378
iput p2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 1379
iget p2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v4, v4, -0x1
add-int/2addr p2, v4
iput p2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 1380
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_1
:cond_3
const/16 v0, 0x5d
if-ne p2, v0, :cond_4
const/16 p2, 0xf
.line 1382
iput p2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 1383
iget p2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v4, v4, -0x1
add-int/2addr p2, v4
iput p2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 1384
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_1
:cond_4
if-ne p2, v3, :cond_5
const/16 p2, 0xd
.line 1386
iput p2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 1387
iget p2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v4, v4, -0x1
add-int/2addr p2, v4
iput p2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 1388
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_1
:cond_5
const/16 v0, 0x1a
if-ne p2, v0, :cond_6
const/16 p2, 0x14
.line 1390
iput p2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 1391
iget p2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v4, v4, -0x1
add-int/2addr p2, v4
iput p2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 1392
iput-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
:goto_1
const/4 p2, 0x4
.line 1397
iput p2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object p1
.line 1394
:cond_6
iput v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object v2
.line 1399
:cond_7
iput v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object v2
:cond_8
mul-int/lit8 v0, v0, 0x1f
add-int/2addr v0, v1
const/16 v4, 0x5c
if-ne v1, v4, :cond_9
.line 1363
iput v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object v2
:cond_9
move v4, v6
goto/16 :goto_0
.end method
.method public final scanFloat(C)F
.locals 8
const/4 v0, 0x0
.line 2139
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
.line 2142
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 v0
const/4 v1, 0x0
const/4 v2, -0x1
const/16 v3, 0x30
if-lt v0, v3, :cond_5
const/16 v4, 0x39
if-gt v0, v4, :cond_5
const/4 v0, 0x1
const/4 v5, 0x1
.line 2147
:goto_0
iget v6, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v7, v5, 0x1
add-int/2addr v6, v5
invoke-virtual {p0, v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v5
if-lt v5, v3, :cond_0
if-gt v5, v4, :cond_0
move v5, v7
goto :goto_0
:cond_0
const/16 v6, 0x2e
if-ne v5, v6, :cond_2
.line 2156
iget v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v6, v7, 0x1
add-int/2addr v5, v7
invoke-virtual {p0, v5}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v5
if-lt v5, v3, :cond_1
if-gt v5, v4, :cond_1
.line 2159
:goto_1
iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v5, v6, 0x1
add-int/2addr v1, v6
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v1
if-lt v1, v3, :cond_3
if-gt v1, v4, :cond_3
move v6, v5
goto :goto_1
.line 2167
:cond_1
iput v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v1
:cond_2
move v1, v5
move v5, v7
.line 2172
:cond_3
iget v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 2173
iget v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/2addr v4, v5
sub-int/2addr v4, v3
sub-int/2addr v4, v0
.line 2174
invoke-virtual {p0, v3, v4}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->subString(II)Ljava/lang/String;
move-result-object v3
.line 2175
invoke-static {v3}, Ljava/lang/Float;->parseFloat(Ljava/lang/String;)F
move-result v3
if-ne v1, p1, :cond_4
.line 2182
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
sub-int/2addr v5, v0
add-int/2addr p1, v5
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 2183
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
const/4 p1, 0x3
.line 2184
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
const/16 p1, 0x10
.line 2185
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
return v3
.line 2188
:cond_4
iput v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v3
.line 2177
:cond_5
iput v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v1
.end method
.method public final scanIdent()V
.locals 2
.line 2597
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 2598
iput-boolean v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->hasSpecial:Z
.line 2601
:goto_0
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 2603
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2604
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_0
goto :goto_0
.line 2608
:cond_0
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->stringVal()Ljava/lang/String;
move-result-object v0
const-string v1, "null"
.line 2610
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_1
const/16 v0, 0x8
.line 2611
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
goto :goto_1
:cond_1
const-string v1, "new"
.line 2612
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_2
const/16 v0, 0x9
.line 2613
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
goto :goto_1
:cond_2
const-string v1, "true"
.line 2614
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_3
const/4 v0, 0x6
.line 2615
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
goto :goto_1
:cond_3
const-string v1, "false"
.line 2616
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_4
const/4 v0, 0x7
.line 2617
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
goto :goto_1
:cond_4
const-string v1, "undefined"
.line 2618
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_5
const/16 v0, 0x17
.line 2619
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
goto :goto_1
:cond_5
const/16 v0, 0x12
.line 2621
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
:goto_1
return-void
.end method
.method public scanInt(C)I
.locals 9
const/4 v0, 0x0
.line 1805
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
.line 1808
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, 0x30
const/4 v3, -0x1
if-lt v1, v2, :cond_4
const/16 v4, 0x39
if-gt v1, v4, :cond_4
.line 1812
sget-object v5, Lcom/alibaba/fastjson/parser/JSONLexerBase;->digits:[I
aget v1, v5, v1
const/4 v5, 0x1
move v6, v1
const/4 v1, 0x1
.line 1814
:goto_0
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-lt v1, v2, :cond_0
if-gt v1, v4, :cond_0
mul-int/lit8 v6, v6, 0xa
.line 1816
sget-object v7, Lcom/alibaba/fastjson/parser/JSONLexerBase;->digits:[I
aget v1, v7, v1
add-int/2addr v6, v1
move v1, v8
goto :goto_0
:cond_0
const/16 v2, 0x2e
if-ne v1, v2, :cond_1
.line 1818
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v0
:cond_1
if-gez v6, :cond_2
.line 1825
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v0
:cond_2
if-ne v1, p1, :cond_3
.line 1834
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
sub-int/2addr v8, v5
add-int/2addr p1, v8
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 1835
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
const/4 p1, 0x3
.line 1836
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
const/16 p1, 0x10
.line 1837
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
return v6
.line 1840
:cond_3
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v6
.line 1829
:cond_4
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return v0
.end method
.method public scanLong(C)J
.locals 13
const/4 v0, 0x0
.line 2011
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
.line 2014
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 v0
const/16 v1, 0x30
const-wide/16 v2, 0x0
const/4 v4, -0x1
if-lt v0, v1, :cond_4
const/16 v5, 0x39
if-gt v0, v5, :cond_4
.line 2018
sget-object v6, Lcom/alibaba/fastjson/parser/JSONLexerBase;->digits:[I
aget v0, v6, v0
int-to-long v6, v0
const/4 v0, 0x1
move-wide v7, v6
const/4 v6, 0x1
.line 2020
:goto_0
iget v9, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v10, v6, 0x1
add-int/2addr v9, v6
invoke-virtual {p0, v9}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v6
if-lt v6, v1, :cond_0
if-gt v6, v5, :cond_0
const-wide/16 v11, 0xa
mul-long v7, v7, v11
.line 2022
sget-object v9, Lcom/alibaba/fastjson/parser/JSONLexerBase;->digits:[I
aget v6, v9, v6
int-to-long v11, v6
add-long/2addr v7, v11
move v6, v10
goto :goto_0
:cond_0
const/16 v1, 0x2e
if-ne v6, v1, :cond_1
.line 2024
iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-wide v2
:cond_1
cmp-long v1, v7, v2
if-gez v1, :cond_2
.line 2031
iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-wide v2
:cond_2
if-ne v6, p1, :cond_3
.line 2040
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
sub-int/2addr v10, v0
add-int/2addr p1, v10
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 2041
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
const/4 p1, 0x3
.line 2042
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
const/16 p1, 0x10
.line 2043
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
return-wide v7
.line 2046
:cond_3
iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-wide v7
.line 2035
:cond_4
iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-wide v2
.end method
.method public final scanNULL()V
.locals 3
.line 2481
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x4e
if-ne v0, v1, :cond_5
.line 2484
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2486
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x55
if-ne v0, v1, :cond_4
.line 2489
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2491
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x4c
if-ne v0, v1, :cond_3
.line 2494
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2496
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-ne v0, v1, :cond_2
.line 2499
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2501
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x20
const/16 v2, 0x8
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x2c
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x7d
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x5d
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0xa
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0xd
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x9
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x1a
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0xc
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-ne v0, v2, :cond_0
goto :goto_0
.line 2505
:cond_0
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "scan NULL error"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2503
:cond_1
:goto_0
iput v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
return-void
.line 2497
:cond_2
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse NULL"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2492
:cond_3
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse NULL"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2487
:cond_4
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse NULL"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2482
:cond_5
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse NULL"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public final scanNullOrNew()V
.locals 12
.line 2436
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x6e
if-ne v0, v1, :cond_9
.line 2439
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2441
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, 0x9
const/16 v11, 0x8
if-ne v0, v1, :cond_4
.line 2442
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2443
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x6c
if-ne v0, v1, :cond_3
.line 2446
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2448
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-ne v0, v1, :cond_2
.line 2451
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2453
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-eq v0, v9, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-eq v0, v8, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-eq v0, v7, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-eq v0, v6, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-eq v0, v5, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-eq v0, v4, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-eq v0, v10, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-eq v0, v3, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-eq v0, v2, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-ne v0, v11, :cond_0
goto :goto_0
.line 2457
:cond_0
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "scan null error"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2455
:cond_1
:goto_0
iput v11, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
return-void
.line 2449
:cond_2
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse null"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2444
:cond_3
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse null"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2462
:cond_4
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x65
if-ne v0, v1, :cond_8
.line 2465
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2467
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x77
if-ne v0, v1, :cond_7
.line 2470
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2472
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-eq v0, v9, :cond_6
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-eq v0, v8, :cond_6
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-eq v0, v7, :cond_6
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-eq v0, v6, :cond_6
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-eq v0, v5, :cond_6
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-eq v0, v4, :cond_6
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-eq v0, v10, :cond_6
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-eq v0, v3, :cond_6
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-eq v0, v2, :cond_6
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-ne v0, v11, :cond_5
goto :goto_1
.line 2476
:cond_5
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "scan new error"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2474
:cond_6
:goto_1
iput v10, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
return-void
.line 2468
:cond_7
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse new"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2463
:cond_8
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse new"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2437
:cond_9
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse null or new"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public final scanNumber()V
.locals 9
.line 2823
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
.line 2825
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x2d
const/4 v2, 0x1
if-ne v0, v1, :cond_0
.line 2826
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 2827
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2831
:cond_0
:goto_0
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v3, 0x39
const/16 v4, 0x30
if-lt v0, v4, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-gt v0, v3, :cond_1
.line 2832
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 2836
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_0
:cond_1
const/4 v0, 0x0
.line 2841
iget-char v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v6, 0x2e
if-ne v5, v6, :cond_3
.line 2842
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 2843
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2847
:goto_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-lt v0, v4, :cond_2
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-gt v0, v3, :cond_2
.line 2848
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 2852
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_1
:cond_2
const/4 v0, 0x1
.line 2856
:cond_3
iget-char v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v6, 0x4c
if-ne v5, v6, :cond_4
.line 2857
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
.line 2858
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_2
.line 2859
:cond_4
iget-char v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v6, 0x53
if-ne v5, v6, :cond_5
.line 2860
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
.line 2861
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_2
.line 2862
:cond_5
iget-char v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v6, 0x42
if-ne v5, v6, :cond_6
.line 2863
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
.line 2864
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_2
.line 2865
:cond_6
iget-char v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v6, 0x46
if-ne v5, v6, :cond_7
.line 2866
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 2867
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_5
.line 2869
:cond_7
iget-char v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v7, 0x44
if-ne v5, v7, :cond_8
.line 2870
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 2871
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_5
.line 2873
:cond_8
iget-char v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v8, 0x65
if-eq v5, v8, :cond_a
iget-char v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v8, 0x45
if-ne v5, v8, :cond_9
goto :goto_3
:cond_9
:goto_2
move v2, v0
goto :goto_5
.line 2874
:cond_a
:goto_3
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 2875
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2877
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v5, 0x2b
if-eq v0, v5, :cond_b
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-ne v0, v1, :cond_c
.line 2878
:cond_b
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 2879
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2883
:cond_c
:goto_4
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-lt v0, v4, :cond_d
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-gt v0, v3, :cond_d
.line 2884
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 2888
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_4
.line 2891
:cond_d
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-eq v0, v7, :cond_e
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-ne v0, v6, :cond_f
.line 2892
:cond_e
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 2893
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
:cond_f
:goto_5
if-eqz v2, :cond_10
const/4 v0, 0x3
.line 2900
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
goto :goto_6
:cond_10
const/4 v0, 0x2
.line 2902
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
:goto_6
return-void
.end method
.method public final scanSet()V
.locals 2
.line 2788
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x53
if-ne v0, v1, :cond_4
.line 2791
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2793
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x65
if-ne v0, v1, :cond_3
.line 2796
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2798
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x74
if-ne v0, v1, :cond_2
.line 2801
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2803
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x20
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0xa
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0xd
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x9
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0xc
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x8
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x5b
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x28
if-ne v0, v1, :cond_0
goto :goto_0
.line 2806
:cond_0
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "scan set error"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
:cond_1
:goto_0
const/16 v0, 0x15
.line 2804
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
return-void
.line 2799
:cond_2
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse set"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2794
:cond_3
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse set"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2789
:cond_4
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse set"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public scanString(C)Ljava/lang/String;
.locals 9
const/4 v0, 0x0
.line 1259
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
.line 1262
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_2
.line 1265
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_1
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_1
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_1
.line 1267
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_0
.line 1274
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 p1, p1, 0x4
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 1275
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 1276
iput v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object v5
.line 1279
:cond_0
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object v5
.line 1269
:cond_1
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object v5
:cond_2
const/16 v5, 0x22
if-eq v1, v5, :cond_3
.line 1285
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
.line 1287
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->stringDefaultValue()Ljava/lang/String;
move-result-object p1
return-object p1
.line 1293
:cond_3
iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/2addr v1, v4
.line 1294
invoke-virtual {p0, v5, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->indexOf(CI)I
move-result v5
if-eq v5, v3, :cond_8
.line 1299
iget v6, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/2addr v6, v4
sub-int v1, v5, v1
invoke-virtual {p0, v6, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->subString(II)Ljava/lang/String;
move-result-object v1
.line 1300
iget v6, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/2addr v6, v4
:goto_0
if-ge v6, v5, :cond_5
.line 1301
invoke-virtual {p0, v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v7
const/16 v8, 0x5c
if-ne v7, v8, :cond_4
const/4 v0, 0x1
goto :goto_1
:cond_4
add-int/lit8 v6, v6, 0x1
goto :goto_0
:cond_5
:goto_1
if-eqz v0, :cond_6
.line 1308
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
.line 1310
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->stringDefaultValue()Ljava/lang/String;
move-result-object p1
return-object p1
.line 1313
:cond_6
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/2addr v0, v4
sub-int/2addr v5, v0
add-int/2addr v5, v4
add-int/2addr v5, v4
.line 1314
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v6, v5, 0x1
add-int/2addr v0, v5
invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v0
if-ne v0, p1, :cond_7
.line 1319
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
sub-int/2addr v6, v4
add-int/2addr p1, v6
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 1320
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 1321
iput v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object v1
.line 1324
:cond_7
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object v1
.line 1296
:cond_8
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 final scanString()V
.locals 11
.line 856
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 857
iput-boolean v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->hasSpecial:Z
.line 860
:goto_0
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
move-result v1
const/16 v2, 0x22
const/4 v3, 0x4
if-ne v1, v2, :cond_0
.line 986
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 987
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_0
const/16 v4, 0x1a
if-ne v1, v4, :cond_2
.line 867
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->isEOF()Z
move-result v2
if-nez v2, :cond_1
.line 868
invoke-virtual {p0, v4}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto :goto_0
.line 871
:cond_1
new-instance v0, Lcom/alibaba/fastjson/JSONException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "unclosed string : "
invoke-virtual {v2, v3}, 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_2
const/16 v4, 0x5c
const/4 v5, 0x1
if-ne v1, v4, :cond_6
.line 875
iget-boolean v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->hasSpecial:Z
const/4 v6, 0x2
if-nez v1, :cond_5
.line 876
iput-boolean v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->hasSpecial:Z
.line 878
iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
iget-object v7, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
array-length v7, v7
if-lt v1, v7, :cond_4
.line 879
iget-object v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
array-length v1, v1
mul-int/lit8 v1, v1, 0x2
.line 880
iget v7, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
if-le v7, v1, :cond_3
.line 881
iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
.line 883
:cond_3
new-array v1, v1, [C
.line 884
iget-object v7, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
iget-object v8, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
array-length v8, v8
invoke-static {v7, v0, v1, v0, v8}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 885
iput-object v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
.line 888
:cond_4
iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
add-int/2addr v1, v5
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 893
:cond_5
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
move-result v1
const/4 v7, 0x3
packed-switch v1, :pswitch_data_0
const/16 v8, 0x10
packed-switch v1, :pswitch_data_1
sparse-switch v1, :sswitch_data_0
.line 968
iput-char v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
.line 969
new-instance v0, Lcom/alibaba/fastjson/JSONException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "unclosed string : "
invoke-virtual {v2, v3}, 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
.line 952
:sswitch_0
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
move-result v1
.line 953
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
move-result v2
.line 955
sget-object v3, Lcom/alibaba/fastjson/parser/JSONLexerBase;->digits:[I
aget v1, v3, v1
mul-int/lit8 v1, v1, 0x10
sget-object v3, Lcom/alibaba/fastjson/parser/JSONLexerBase;->digits:[I
aget v2, v3, v2
add-int/2addr v1, v2
int-to-char v1, v1
.line 957
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:sswitch_1
const/16 v1, 0xd
.line 937
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:sswitch_2
const/16 v1, 0xa
.line 927
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:sswitch_3
const/16 v1, 0x8
.line 921
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
.line 949
:sswitch_4
invoke-virtual {p0, v4}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:sswitch_5
const/16 v1, 0xc
.line 934
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:sswitch_6
const/16 v1, 0x27
.line 943
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
.line 940
:sswitch_7
invoke-virtual {p0, v2}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:pswitch_0
const/16 v1, 0xb
.line 930
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
.line 960
:pswitch_1
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
move-result v1
.line 961
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
move-result v2
.line 962
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
move-result v4
.line 963
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
move-result v9
.line 964
new-instance v10, Ljava/lang/String;
new-array v3, v3, [C
aput-char v1, v3, v0
aput-char v2, v3, v5
aput-char v4, v3, v6
aput-char v9, v3, v7
invoke-direct {v10, v3}, Ljava/lang/String;-><init>([C)V
invoke-static {v10, v8}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
move-result v1
int-to-char v1, v1
.line 965
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:pswitch_2
const/16 v1, 0x9
.line 924
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:pswitch_3
const/4 v1, 0x7
.line 918
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:pswitch_4
const/4 v1, 0x6
.line 915
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:pswitch_5
const/4 v1, 0x5
.line 912
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
.line 909
:pswitch_6
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
.line 906
:pswitch_7
invoke-virtual {p0, v7}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
.line 903
:pswitch_8
invoke-virtual {p0, v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
.line 900
:pswitch_9
invoke-virtual {p0, v5}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
.line 897
:pswitch_a
invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:pswitch_b
const/16 v1, 0x2f
.line 946
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
.line 974
:cond_6
iget-boolean v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->hasSpecial:Z
if-nez v2, :cond_7
.line 975
iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
add-int/2addr v1, v5
iput v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
goto/16 :goto_0
.line 979
:cond_7
iget v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
iget-object v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
array-length v3, v3
if-ne v2, v3, :cond_8
.line 980
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
.line 982
:cond_8
iget-object v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
iget v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
add-int/lit8 v4, v3, 0x1
iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
aput-char v1, v2, v3
goto/16 :goto_0
nop
:pswitch_data_0
.packed-switch 0x2f
:pswitch_b
:pswitch_a
:pswitch_9
:pswitch_8
:pswitch_7
:pswitch_6
:pswitch_5
:pswitch_4
:pswitch_3
.end packed-switch
:pswitch_data_1
.packed-switch 0x74
:pswitch_2
:pswitch_1
:pswitch_0
.end packed-switch
:sswitch_data_0
.sparse-switch
0x22 -> :sswitch_7
0x27 -> :sswitch_6
0x46 -> :sswitch_5
0x5c -> :sswitch_4
0x62 -> :sswitch_3
0x66 -> :sswitch_5
0x6e -> :sswitch_2
0x72 -> :sswitch_1
0x78 -> :sswitch_0
.end sparse-switch
.end method
.method public scanStringArray(Ljava/lang/Class;C)Ljava/util/Collection;
.locals 12
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;C)",
"Ljava/util/Collection<",
"Ljava/lang/String;",
">;"
}
.end annotation
.line 1596
invoke-static {p1}, Lcom/alibaba/fastjson/util/TypeUtils;->createCollection(Ljava/lang/reflect/Type;)Ljava/util/Collection;
move-result-object p1
const/4 v0, 0x0
.line 1597
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
.line 1600
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 v0
const/16 v1, 0x75
const/16 v2, 0x6e
const/4 v3, 0x3
const/4 v4, 0x2
const/16 v5, 0x6c
const/4 v6, 0x0
const/4 v7, -0x1
if-ne v0, v2, :cond_2
.line 1603
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 p1, p1, 0x1
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result p1
if-ne p1, v1, :cond_1
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 p1, p1, 0x1
add-int/lit8 p1, p1, 0x1
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result p1
if-ne p1, v5, :cond_1
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 p1, p1, 0x1
add-int/2addr p1, v4
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result p1
if-ne p1, v5, :cond_1
.line 1605
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_0
.line 1612
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 p1, p1, 0x4
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 1613
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 1614
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object v6
.line 1617
:cond_0
iput v7, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object v6
.line 1607
:cond_1
iput v7, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object v6
:cond_2
const/16 v8, 0x5b
if-eq v0, v8, :cond_3
.line 1623
iput v7, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object v6
.line 1627
:cond_3
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v0, v0, 0x1
invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v0
const/4 v8, 0x2
:goto_0
if-ne v0, v2, :cond_4
.line 1630
iget v9, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/2addr v9, v8
.line 1631
invoke-virtual {p0, v9}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v9
if-ne v9, v1, :cond_4
iget v9, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/2addr v9, v8
add-int/lit8 v9, v9, 0x1
.line 1632
invoke-virtual {p0, v9}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v9
if-ne v9, v5, :cond_4
iget v9, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/2addr v9, v8
add-int/2addr v9, v4
.line 1633
invoke-virtual {p0, v9}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v9
if-ne v9, v5, :cond_4
add-int/lit8 v8, v8, 0x3
.line 1635
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v9, v8, 0x1
add-int/2addr v0, v8
invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v0
goto :goto_2
:cond_4
const/16 v9, 0x22
if-eq v0, v9, :cond_5
.line 1637
iput v7, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object v6
:cond_5
move v0, v8
.line 1645
:goto_1
iget v10, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v11, v0, 0x1
add-int/2addr v10, v0
invoke-virtual {p0, v10}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v0
if-ne v0, v9, :cond_9
.line 1647
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/2addr v0, v8
.line 1648
iget v8, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/2addr v8, v11
sub-int/2addr v8, v0
add-int/lit8 v8, v8, -0x1
.line 1649
invoke-virtual {p0, v0, v8}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->subString(II)Ljava/lang/String;
move-result-object v0
.line 1650
invoke-interface {p1, v0}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
.line 1652
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v9, v11, 0x1
add-int/2addr v0, v11
invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v0
:goto_2
const/16 v8, 0x2c
if-ne v0, v8, :cond_6
.line 1664
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v8, v9, 0x1
add-int/2addr v0, v9
invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v0
goto :goto_0
:cond_6
const/16 v1, 0x5d
if-ne v0, v1, :cond_8
.line 1669
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v1, v9, 0x1
add-int/2addr v0, v9
invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v0
if-ne v0, p2, :cond_7
.line 1678
iget p2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v1, v1, -0x1
add-int/2addr p2, v1
iput p2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 1679
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 1680
iput v3, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object p1
.line 1683
:cond_7
iput v7, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object p1
.line 1673
:cond_8
iput v7, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object v6
:cond_9
const/16 v10, 0x5c
if-ne v0, v10, :cond_a
.line 1657
iput v7, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object v6
:cond_a
move v0, v11
goto :goto_1
.end method
.method public final scanSymbol(Lcom/alibaba/fastjson/parser/SymbolTable;)Ljava/lang/String;
.locals 3
.line 582
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->skipWhitespace()V
.line 584
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x22
if-ne v0, v1, :cond_0
.line 585
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
.line 588
:cond_0
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x27
if-ne v0, v1, :cond_2
.line 589
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_1
.line 593
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
.line 590
:cond_1
new-instance p1, Lcom/alibaba/fastjson/JSONException;
const-string v0, "syntax error"
invoke-direct {p1, v0}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw p1
.line 596
:cond_2
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x7d
const/4 v2, 0x0
if-ne v0, v1, :cond_3
.line 597
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
const/16 p1, 0xd
.line 598
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
return-object v2
.line 602
:cond_3
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x2c
if-ne v0, v1, :cond_4
.line 603
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
const/16 p1, 0x10
.line 604
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
return-object v2
.line 608
:cond_4
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x1a
if-ne v0, v1, :cond_5
const/16 p1, 0x14
.line 609
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
return-object v2
.line 613
:cond_5
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_6
.line 617
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 614
:cond_6
new-instance p1, Lcom/alibaba/fastjson/JSONException;
const-string v0, "syntax error"
invoke-direct {p1, v0}, 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;
.locals 12
.line 627
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 628
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
const/4 v1, 0x0
const/4 v2, 0x0
.line 632
:goto_0
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_2
.line 776
iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
if-nez v1, :cond_1
.line 782
iget p2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
const/4 v1, -0x1
if-ne p2, v1, :cond_0
const/4 p2, 0x0
goto :goto_1
.line 785
:cond_0
iget p2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
add-int/2addr p2, v5
.line 787
:goto_1
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_2
.line 789
:cond_1
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 792
:goto_2
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
.line 793
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
return-object p1
:cond_2
const/16 v6, 0x1a
if-eq v3, v6, :cond_9
const/16 v6, 0x5c
if-ne v3, v6, :cond_6
const/4 v3, 0x2
if-nez v1, :cond_5
.line 646
iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
iget-object v7, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
array-length v7, v7
if-lt v1, v7, :cond_4
.line 647
iget-object v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
array-length v1, v1
mul-int/lit8 v1, v1, 0x2
.line 648
iget v7, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
if-le v7, v1, :cond_3
.line 649
iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
.line 651
:cond_3
new-array v1, v1, [C
.line 652
iget-object v7, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
iget-object v8, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
array-length v8, v8
invoke-static {v7, v0, v1, v0, v8}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 653
iput-object v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
.line 658
:cond_4
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
const/4 v1, 0x1
.line 661
:cond_5
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
move-result v7
const/4 v8, 0x3
packed-switch v7, :pswitch_data_0
packed-switch v7, :pswitch_data_1
sparse-switch v7, :sswitch_data_0
.line 756
iput-char v7, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
.line 757
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
.line 738
:sswitch_0
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 739
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 741
sget-object v5, Lcom/alibaba/fastjson/parser/JSONLexerBase;->digits:[I
aget v3, v5, v3
mul-int/lit8 v3, v3, 0x10
sget-object v5, Lcom/alibaba/fastjson/parser/JSONLexerBase;->digits:[I
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 744
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:sswitch_1
mul-int/lit8 v2, v2, 0x1f
const/16 v3, 0xd
add-int/2addr v2, v3
.line 719
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:sswitch_2
mul-int/lit8 v2, v2, 0x1f
const/16 v3, 0xa
add-int/2addr v2, v3
.line 706
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:sswitch_3
mul-int/lit8 v2, v2, 0x1f
const/16 v3, 0x8
add-int/2addr v2, v3
.line 698
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:sswitch_4
mul-int/lit8 v2, v2, 0x1f
add-int/2addr v2, v6
.line 735
invoke-virtual {p0, v6}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:sswitch_5
mul-int/lit8 v2, v2, 0x1f
const/16 v3, 0xc
add-int/2addr v2, v3
.line 715
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:sswitch_6
mul-int/lit8 v2, v2, 0x1f
const/16 v3, 0x27
add-int/2addr v2, v3
.line 727
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:sswitch_7
mul-int/lit8 v2, v2, 0x1f
const/16 v3, 0x22
add-int/2addr v2, v3
.line 723
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:pswitch_0
mul-int/lit8 v2, v2, 0x1f
add-int/lit8 v2, v2, 0xb
const/16 v3, 0xb
.line 710
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
.line 747
:pswitch_1
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
move-result v6
.line 748
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
move-result v7
.line 749
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
move-result v9
.line 750
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
move-result v10
.line 751
new-instance v11, Ljava/lang/String;
new-array v4, v4, [C
aput-char v6, v4, v0
aput-char v7, v4, v5
aput-char v9, v4, v3
aput-char v10, v4, v8
invoke-direct {v11, v4}, Ljava/lang/String;-><init>([C)V
const/16 v3, 0x10
invoke-static {v11, v3}, 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 753
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:pswitch_2
mul-int/lit8 v2, v2, 0x1f
const/16 v3, 0x9
add-int/2addr v2, v3
.line 702
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:pswitch_3
mul-int/lit8 v2, v2, 0x1f
add-int/2addr v2, v7
const/4 v3, 0x7
.line 694
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:pswitch_4
mul-int/lit8 v2, v2, 0x1f
add-int/2addr v2, v7
const/4 v3, 0x6
.line 690
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:pswitch_5
mul-int/lit8 v2, v2, 0x1f
add-int/2addr v2, v7
const/4 v3, 0x5
.line 686
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:pswitch_6
mul-int/lit8 v2, v2, 0x1f
add-int/2addr v2, v7
.line 682
invoke-virtual {p0, v4}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:pswitch_7
mul-int/lit8 v2, v2, 0x1f
add-int/2addr v2, v7
.line 678
invoke-virtual {p0, v8}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:pswitch_8
mul-int/lit8 v2, v2, 0x1f
add-int/2addr v2, v7
.line 674
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:pswitch_9
mul-int/lit8 v2, v2, 0x1f
add-int/2addr v2, v7
.line 670
invoke-virtual {p0, v5}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:pswitch_a
mul-int/lit8 v2, v2, 0x1f
add-int/2addr v2, v7
.line 666
invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:pswitch_b
mul-int/lit8 v2, v2, 0x1f
const/16 v3, 0x2f
add-int/2addr v2, v3
.line 731
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
:cond_6
mul-int/lit8 v2, v2, 0x1f
add-int/2addr v2, v3
if-nez v1, :cond_7
.line 765
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_0
.line 769
:cond_7
iget v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
iget-object v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
array-length v5, v5
if-ne v4, v5, :cond_8
.line 770
invoke-virtual {p0, v3}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->putChar(C)V
goto/16 :goto_0
.line 772
:cond_8
iget-object v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sbuf:[C
iget v5, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
add-int/lit8 v6, v5, 0x1
iput v6, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
aput-char v3, v4, v5
goto/16 :goto_0
.line 639
:cond_9
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_0
.packed-switch 0x2f
:pswitch_b
:pswitch_a
:pswitch_9
:pswitch_8
:pswitch_7
:pswitch_6
:pswitch_5
:pswitch_4
:pswitch_3
.end packed-switch
:pswitch_data_1
.packed-switch 0x74
:pswitch_2
:pswitch_1
:pswitch_0
.end packed-switch
:sswitch_data_0
.sparse-switch
0x22 -> :sswitch_7
0x27 -> :sswitch_6
0x46 -> :sswitch_5
0x5c -> :sswitch_4
0x62 -> :sswitch_3
0x66 -> :sswitch_5
0x6e -> :sswitch_2
0x72 -> :sswitch_1
0x78 -> :sswitch_0
.end sparse-switch
.end method
.method public final scanSymbolUnQuoted(Lcom/alibaba/fastjson/parser/SymbolTable;)Ljava/lang/String;
.locals 5
.line 807
sget-object v0, Lcom/alibaba/fastjson/util/IOUtils;->firstIdentifierFlags:[Z
.line 808
iget-char v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
.line 810
iget-char v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
array-length v3, v0
const/4 v4, 0x1
if-ge v2, v3, :cond_1
aget-boolean v0, v0, v1
if-eqz v0, :cond_0
goto :goto_0
:cond_0
const/4 v0, 0x0
goto :goto_1
:cond_1
:goto_0
const/4 v0, 0x1
:goto_1
if-eqz v0, :cond_4
.line 816
sget-object v0, Lcom/alibaba/fastjson/util/IOUtils;->identifierFlags:[Z
.line 820
iget v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
iput v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
.line 821
iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
.line 824
:goto_2
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
move-result v2
.line 826
array-length v3, v0
if-ge v2, v3, :cond_3
.line 827
aget-boolean v3, v0, v2
if-nez v3, :cond_3
.line 838
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 839
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
.line 842
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
const/4 v2, 0x4
if-ne v0, v2, :cond_2
const v0, 0x33c587
if-ne v1, v0, :cond_2
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 v2, 0x6e
if-ne v0, v2, :cond_2
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
add-int/2addr v0, v4
invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v0
const/16 v2, 0x75
if-ne v0, v2, :cond_2
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 v2, 0x6c
if-ne v0, v2, :cond_2
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
add-int/lit8 v0, v0, 0x3
.line 843
invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v0
if-ne v0, v2, :cond_2
const/4 p1, 0x0
return-object p1
.line 849
:cond_2
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->np:I
iget v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
invoke-virtual {p0, v0, v2, v1, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->addSymbol(IIILcom/alibaba/fastjson/parser/SymbolTable;)Ljava/lang/String;
move-result-object p1
return-object p1
:cond_3
mul-int/lit8 v1, v1, 0x1f
add-int/2addr v1, v2
.line 834
iget v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
add-int/2addr v2, v4
iput v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->sp:I
goto :goto_2
.line 812
:cond_4
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 813
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;
.locals 10
const/4 v0, 0x0
.line 1416
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
.line 1419
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_2
.line 1422
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_1
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_1
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_1
.line 1424
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_0
.line 1431
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 p1, p1, 0x4
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 1432
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 1433
iput v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object v3
.line 1436
:cond_0
iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object v3
.line 1426
:cond_1
iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object v3
:cond_2
const/16 v6, 0x22
if-eq v1, v6, :cond_3
.line 1442
iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object v3
:cond_3
const/4 v1, 0x1
const/4 v7, 0x0
.line 1450
:goto_0
iget v8, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v9, v1, 0x1
add-int/2addr v8, v1
invoke-virtual {p0, v8}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v1
if-ne v1, v6, :cond_5
.line 1454
iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/2addr v1, v0
add-int/2addr v1, v5
.line 1455
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/2addr v0, v9
sub-int/2addr v0, v1
sub-int/2addr v0, v5
.line 1456
invoke-virtual {p0, v1, v0, v7, p1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->addSymbol(IIILcom/alibaba/fastjson/parser/SymbolTable;)Ljava/lang/String;
move-result-object p1
.line 1457
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
add-int/lit8 v1, v9, 0x1
add-int/2addr v0, v9
invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v0
if-ne v0, p2, :cond_4
.line 1470
iget p2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
sub-int/2addr v1, v5
add-int/2addr p2, v1
iput p2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 1471
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 1472
iput v2, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object p1
.line 1475
:cond_4
iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object p1
:cond_5
mul-int/lit8 v7, v7, 0x1f
add-int/2addr v7, v1
const/16 v8, 0x5c
if-ne v1, v8, :cond_6
.line 1464
iput v4, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return-object v3
:cond_6
move v1, v9
goto :goto_0
.end method
.method public final scanTreeSet()V
.locals 3
.line 2393
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x54
if-ne v0, v1, :cond_8
.line 2396
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2398
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x72
if-ne v0, v1, :cond_7
.line 2401
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2403
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x65
if-ne v0, v1, :cond_6
.line 2406
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2408
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-ne v0, v1, :cond_5
.line 2411
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2413
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v2, 0x53
if-ne v0, v2, :cond_4
.line 2416
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2418
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-ne v0, v1, :cond_3
.line 2421
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2423
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x74
if-ne v0, v1, :cond_2
.line 2426
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2428
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x20
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0xa
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0xd
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x9
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0xc
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x8
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x5b
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x28
if-ne v0, v1, :cond_0
goto :goto_0
.line 2431
:cond_0
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "scan treeSet error"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
:cond_1
:goto_0
const/16 v0, 0x16
.line 2429
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
return-void
.line 2424
:cond_2
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse treeSet"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2419
:cond_3
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse treeSet"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2414
:cond_4
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse treeSet"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2409
:cond_5
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse treeSet"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2404
:cond_6
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse treeSet"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2399
:cond_7
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse treeSet"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2394
:cond_8
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse treeSet"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public final scanTrue()V
.locals 2
.line 2364
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x74
if-ne v0, v1, :cond_5
.line 2367
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2369
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x72
if-ne v0, v1, :cond_4
.line 2372
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2374
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x75
if-ne v0, v1, :cond_3
.line 2377
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2379
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x65
if-ne v0, v1, :cond_2
.line 2382
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2384
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x20
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x2c
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x7d
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x5d
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0xa
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0xd
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x9
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x1a
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0xc
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x8
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x3a
if-ne v0, v1, :cond_0
goto :goto_0
.line 2388
:cond_0
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_1
:goto_0
const/4 v0, 0x6
.line 2386
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
return-void
.line 2380
:cond_2
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse true"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2375
:cond_3
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse true"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2370
:cond_4
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse true"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2365
:cond_5
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse true"
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
.locals 6
const/4 v0, 0x0
.line 1090
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
.line 1092
sget-object v1, Lcom/alibaba/fastjson/parser/JSONLexerBase;->typeFieldName:[C
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charArrayCompare([C)Z
move-result v1
if-nez v1, :cond_0
const/4 p1, -0x2
return p1
.line 1096
:cond_0
iget v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
sget-object v2, Lcom/alibaba/fastjson/parser/JSONLexerBase;->typeFieldName:[C
array-length v2, v2
add-int/2addr v1, v2
.line 1098
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v2
:goto_0
const/4 v3, -0x1
if-ge v0, v2, :cond_2
.line 1100
invoke-virtual {p1, v0}, Ljava/lang/String;->charAt(I)C
move-result v4
add-int v5, v1, v0
invoke-virtual {p0, v5}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result v5
if-eq v4, v5, :cond_1
return v3
:cond_1
add-int/lit8 v0, v0, 0x1
goto :goto_0
:cond_2
add-int/2addr v1, v2
.line 1105
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result p1
const/16 v0, 0x22
if-eq p1, v0, :cond_3
return v3
:cond_3
add-int/lit8 v1, v1, 0x1
.line 1109
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result p1
iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
.line 1111
iget-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v0, 0x10
const/16 v2, 0x2c
if-ne p1, v2, :cond_4
add-int/lit8 v1, v1, 0x1
.line 1112
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result p1
iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
.line 1113
iput v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 1114
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
const/4 p1, 0x3
return p1
.line 1116
:cond_4
iget-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v4, 0x7d
if-ne p1, v4, :cond_9
add-int/lit8 v1, v1, 0x1
.line 1117
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result p1
iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
.line 1118
iget-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-ne p1, v2, :cond_5
.line 1119
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
add-int/lit8 v1, v1, 0x1
.line 1120
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result p1
iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
goto :goto_1
.line 1121
:cond_5
iget-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v0, 0x5d
if-ne p1, v0, :cond_6
const/16 p1, 0xf
.line 1122
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
add-int/lit8 v1, v1, 0x1
.line 1123
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result p1
iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
goto :goto_1
.line 1124
:cond_6
iget-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-ne p1, v4, :cond_7
const/16 p1, 0xd
.line 1125
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
add-int/lit8 v1, v1, 0x1
.line 1126
invoke-virtual {p0, v1}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->charAt(I)C
move-result p1
iput-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
goto :goto_1
.line 1127
:cond_7
iget-char p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v0, 0x1a
if-ne p1, v0, :cond_8
const/16 p1, 0x14
.line 1128
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
:goto_1
const/4 p1, 0x4
.line 1132
iput p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
goto :goto_2
:cond_8
return v3
.line 1135
:cond_9
:goto_2
iput v1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->bp:I
.line 1136
iget p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->matchStat:I
return p1
.end method
.method public final scanUndefined()V
.locals 5
.line 2510
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x75
if-ne v0, v1, :cond_a
.line 2513
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2515
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x6e
if-ne v0, v1, :cond_9
.line 2518
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2520
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v2, 0x64
if-ne v0, v2, :cond_8
.line 2523
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2525
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v3, 0x65
if-ne v0, v3, :cond_7
.line 2528
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2530
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v4, 0x66
if-ne v0, v4, :cond_6
.line 2533
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2535
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v4, 0x69
if-ne v0, v4, :cond_5
.line 2538
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2540
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-ne v0, v1, :cond_4
.line 2543
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2545
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-ne v0, v3, :cond_3
.line 2548
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2549
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-ne v0, v2, :cond_2
.line 2552
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 2554
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x20
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x2c
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x7d
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x5d
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0xa
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0xd
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x9
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x1a
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0xc
if-eq v0, v1, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x8
if-ne v0, v1, :cond_0
goto :goto_0
.line 2558
:cond_0
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "scan undefined error"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
:cond_1
:goto_0
const/16 v0, 0x17
.line 2556
iput v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
return-void
.line 2550
:cond_2
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse undefined"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2546
:cond_3
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse undefined"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2541
:cond_4
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse undefined"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2536
:cond_5
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse undefined"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2531
:cond_6
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse undefined"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2526
:cond_7
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse undefined"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2521
:cond_8
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse undefined"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2516
:cond_9
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse undefined"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.line 2511
:cond_a
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "error parse undefined"
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public setLocale(Ljava/util/Locale;)V
.locals 0
.line 1007
iput-object p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->locale:Ljava/util/Locale;
return-void
.end method
.method public setTimeZone(Ljava/util/TimeZone;)V
.locals 0
.line 999
iput-object p1, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->timeZone:Ljava/util/TimeZone;
return-void
.end method
.method protected skipComment()V
.locals 3
.line 556
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 557
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x2f
if-ne v0, v1, :cond_1
.line 559
:cond_0
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 560
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0xa
if-ne v0, v1, :cond_0
.line 561
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
return-void
.line 565
:cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v2, 0x2a
if-ne v0, v2, :cond_3
.line 567
:cond_2
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 568
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-ne v0, v2, :cond_2
.line 569
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
.line 570
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-ne v0, v1, :cond_2
.line 571
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
return-void
.line 577
:cond_3
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 final skipWhitespace()V
.locals 3
.line 2650
:goto_0
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v1, 0x2f
if-gt v0, v1, :cond_2
.line 2651
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v2, 0x20
if-eq v0, v2, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v2, 0xd
if-eq v0, v2, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v2, 0xa
if-eq v0, v2, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v2, 0x9
if-eq v0, v2, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v2, 0xc
if-eq v0, v2, :cond_1
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
const/16 v2, 0x8
if-ne v0, v2, :cond_0
goto :goto_1
.line 2654
:cond_0
iget-char v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->ch:C
if-ne v0, v1, :cond_2
.line 2655
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->skipComment()V
goto :goto_0
.line 2652
:cond_1
:goto_1
invoke-virtual {p0}, Lcom/alibaba/fastjson/parser/JSONLexerBase;->next()C
goto :goto_0
:cond_2
return-void
.end method
.method public final stringDefaultValue()Ljava/lang/String;
.locals 1
.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 public final token()I
.locals 1
.line 399
iget v0, p0, Lcom/alibaba/fastjson/parser/JSONLexerBase;->token:I
return v0
.end method
.method public final tokenName()Ljava/lang/String;
.locals 1
.line 403
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