JsonReader.smali
.class public Lcom/google/gson/stream/JsonReader;
.super Ljava/lang/Object;
.source "JsonReader.java"
# interfaces
.implements Ljava/io/Closeable;
# static fields
.field private static final MIN_INCOMPLETE_INTEGER:J = -0xcccccccccccccccL
.field private static final NON_EXECUTE_PREFIX:[C
.field private static final NUMBER_CHAR_DECIMAL:I = 0x3
.field private static final NUMBER_CHAR_DIGIT:I = 0x2
.field private static final NUMBER_CHAR_EXP_DIGIT:I = 0x7
.field private static final NUMBER_CHAR_EXP_E:I = 0x5
.field private static final NUMBER_CHAR_EXP_SIGN:I = 0x6
.field private static final NUMBER_CHAR_FRACTION_DIGIT:I = 0x4
.field private static final NUMBER_CHAR_NONE:I = 0x0
.field private static final NUMBER_CHAR_SIGN:I = 0x1
.field private static final PEEKED_BEGIN_ARRAY:I = 0x3
.field private static final PEEKED_BEGIN_OBJECT:I = 0x1
.field private static final PEEKED_BUFFERED:I = 0xb
.field private static final PEEKED_DOUBLE_QUOTED:I = 0x9
.field private static final PEEKED_DOUBLE_QUOTED_NAME:I = 0xd
.field private static final PEEKED_END_ARRAY:I = 0x4
.field private static final PEEKED_END_OBJECT:I = 0x2
.field private static final PEEKED_EOF:I = 0x11
.field private static final PEEKED_FALSE:I = 0x6
.field private static final PEEKED_LONG:I = 0xf
.field private static final PEEKED_NONE:I = 0x0
.field private static final PEEKED_NULL:I = 0x7
.field private static final PEEKED_NUMBER:I = 0x10
.field private static final PEEKED_SINGLE_QUOTED:I = 0x8
.field private static final PEEKED_SINGLE_QUOTED_NAME:I = 0xc
.field private static final PEEKED_TRUE:I = 0x5
.field private static final PEEKED_UNQUOTED:I = 0xa
.field private static final PEEKED_UNQUOTED_NAME:I = 0xe
# instance fields
.field private final buffer:[C
.field private final in:Ljava/io/Reader;
.field private lenient:Z
.field private limit:I
.field private lineNumber:I
.field private lineStart:I
.field private pathIndices:[I
.field private pathNames:[Ljava/lang/String;
.field peeked:I
.field private peekedLong:J
.field private peekedNumberLength:I
.field private peekedString:Ljava/lang/String;
.field private pos:I
.field private stack:[I
.field private stackSize:I
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 193
const-string v0, ")]}\'\n"
invoke-virtual {v0}, Ljava/lang/String;->toCharArray()[C
move-result-object v0
sput-object v0, Lcom/google/gson/stream/JsonReader;->NON_EXECUTE_PREFIX:[C
.line 1590
new-instance v0, Lcom/google/gson/stream/JsonReader$1;
invoke-direct {v0}, Lcom/google/gson/stream/JsonReader$1;-><init>()V
sput-object v0, Lcom/google/gson/internal/JsonReaderInternalAccess;->INSTANCE:Lcom/google/gson/internal/JsonReaderInternalAccess;
.line 1612
return-void
.end method
.method public constructor <init>(Ljava/io/Reader;)V
.registers 6
.param p1, "in" # Ljava/io/Reader;
.line 290
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 231
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/google/gson/stream/JsonReader;->lenient:Z
.line 239
const/16 v1, 0x400
new-array v1, v1, [C
iput-object v1, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C
.line 240
iput v0, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 241
iput v0, p0, Lcom/google/gson/stream/JsonReader;->limit:I
.line 243
iput v0, p0, Lcom/google/gson/stream/JsonReader;->lineNumber:I
.line 244
iput v0, p0, Lcom/google/gson/stream/JsonReader;->lineStart:I
.line 246
iput v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 270
const/16 v1, 0x20
new-array v2, v1, [I
iput-object v2, p0, Lcom/google/gson/stream/JsonReader;->stack:[I
.line 271
iput v0, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I
.line 273
const/4 v3, 0x0
add-int/lit8 v3, v3, 0x1
iput v3, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I
const/4 v3, 0x6
aput v3, v2, v0
.line 284
new-array v0, v1, [Ljava/lang/String;
iput-object v0, p0, Lcom/google/gson/stream/JsonReader;->pathNames:[Ljava/lang/String;
.line 285
new-array v0, v1, [I
iput-object v0, p0, Lcom/google/gson/stream/JsonReader;->pathIndices:[I
.line 291
if-eqz p1, :cond_33
.line 294
iput-object p1, p0, Lcom/google/gson/stream/JsonReader;->in:Ljava/io/Reader;
.line 295
return-void
.line 292
:cond_33
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "in == null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method private checkLenient()V
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1404
iget-boolean v0, p0, Lcom/google/gson/stream/JsonReader;->lenient:Z
if-eqz v0, :cond_5
.line 1407
return-void
.line 1405
:cond_5
const-string v0, "Use JsonReader.setLenient(true) to accept malformed JSON"
invoke-direct {p0, v0}, Lcom/google/gson/stream/JsonReader;->syntaxError(Ljava/lang/String;)Ljava/io/IOException;
move-result-object v0
throw v0
.end method
.method private consumeNonExecutePrefix()V
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1572
const/4 v0, 0x1
invoke-direct {p0, v0}, Lcom/google/gson/stream/JsonReader;->nextNonWhitespace(Z)I
.line 1573
iget v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I
sub-int/2addr v1, v0
iput v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 1575
sget-object v0, Lcom/google/gson/stream/JsonReader;->NON_EXECUTE_PREFIX:[C
array-length v2, v0
add-int/2addr v1, v2
iget v2, p0, Lcom/google/gson/stream/JsonReader;->limit:I
if-le v1, v2, :cond_19
array-length v0, v0
invoke-direct {p0, v0}, Lcom/google/gson/stream/JsonReader;->fillBuffer(I)Z
move-result v0
if-nez v0, :cond_19
.line 1576
return-void
.line 1579
:cond_19
const/4 v0, 0x0
.local v0, "i":I
:goto_1a
sget-object v1, Lcom/google/gson/stream/JsonReader;->NON_EXECUTE_PREFIX:[C
array-length v2, v1
if-ge v0, v2, :cond_2e
.line 1580
iget-object v2, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C
iget v3, p0, Lcom/google/gson/stream/JsonReader;->pos:I
add-int/2addr v3, v0
aget-char v2, v2, v3
aget-char v1, v1, v0
if-eq v2, v1, :cond_2b
.line 1581
return-void
.line 1579
:cond_2b
add-int/lit8 v0, v0, 0x1
goto :goto_1a
.line 1586
.end local v0 # "i":I
:cond_2e
iget v0, p0, Lcom/google/gson/stream/JsonReader;->pos:I
array-length v1, v1
add-int/2addr v0, v1
iput v0, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 1587
return-void
.end method
.method private fillBuffer(I)Z
.registers 9
.param p1, "minimum" # I
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1280
iget-object v0, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C
.line 1281
.local v0, "buffer":[C
iget v1, p0, Lcom/google/gson/stream/JsonReader;->lineStart:I
iget v2, p0, Lcom/google/gson/stream/JsonReader;->pos:I
sub-int/2addr v1, v2
iput v1, p0, Lcom/google/gson/stream/JsonReader;->lineStart:I
.line 1282
iget v1, p0, Lcom/google/gson/stream/JsonReader;->limit:I
const/4 v3, 0x0
if-eq v1, v2, :cond_15
.line 1283
sub-int/2addr v1, v2
iput v1, p0, Lcom/google/gson/stream/JsonReader;->limit:I
.line 1284
invoke-static {v0, v2, v0, v3, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
goto :goto_17
.line 1286
:cond_15
iput v3, p0, Lcom/google/gson/stream/JsonReader;->limit:I
.line 1289
:goto_17
iput v3, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 1291
:cond_19
iget-object v1, p0, Lcom/google/gson/stream/JsonReader;->in:Ljava/io/Reader;
iget v2, p0, Lcom/google/gson/stream/JsonReader;->limit:I
array-length v4, v0
sub-int/2addr v4, v2
invoke-virtual {v1, v0, v2, v4}, Ljava/io/Reader;->read([CII)I
move-result v1
move v2, v1
.local v2, "total":I
const/4 v4, -0x1
if-eq v1, v4, :cond_4e
.line 1292
iget v1, p0, Lcom/google/gson/stream/JsonReader;->limit:I
add-int/2addr v1, v2
iput v1, p0, Lcom/google/gson/stream/JsonReader;->limit:I
.line 1295
iget v4, p0, Lcom/google/gson/stream/JsonReader;->lineNumber:I
const/4 v5, 0x1
if-nez v4, :cond_49
iget v4, p0, Lcom/google/gson/stream/JsonReader;->lineStart:I
if-nez v4, :cond_49
if-lez v1, :cond_49
aget-char v1, v0, v3
const v6, 0xfeff
if-ne v1, v6, :cond_49
.line 1296
iget v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I
add-int/2addr v1, v5
iput v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 1297
add-int/lit8 v4, v4, 0x1
iput v4, p0, Lcom/google/gson/stream/JsonReader;->lineStart:I
.line 1298
add-int/lit8 p1, p1, 0x1
.line 1301
:cond_49
iget v1, p0, Lcom/google/gson/stream/JsonReader;->limit:I
if-lt v1, p1, :cond_19
.line 1302
return v5
.line 1305
:cond_4e
return v3
.end method
.method private isLiteral(C)Z
.registers 3
.param p1, "c" # C
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 746
const/16 v0, 0x9
if-eq p1, v0, :cond_3c
const/16 v0, 0xa
if-eq p1, v0, :cond_3c
const/16 v0, 0xc
if-eq p1, v0, :cond_3c
const/16 v0, 0xd
if-eq p1, v0, :cond_3c
const/16 v0, 0x20
if-eq p1, v0, :cond_3c
const/16 v0, 0x23
if-eq p1, v0, :cond_39
const/16 v0, 0x2c
if-eq p1, v0, :cond_3c
const/16 v0, 0x2f
if-eq p1, v0, :cond_39
const/16 v0, 0x3d
if-eq p1, v0, :cond_39
const/16 v0, 0x7b
if-eq p1, v0, :cond_3c
const/16 v0, 0x7d
if-eq p1, v0, :cond_3c
const/16 v0, 0x3a
if-eq p1, v0, :cond_3c
const/16 v0, 0x3b
if-eq p1, v0, :cond_39
packed-switch p1, :pswitch_data_3e
.line 766
const/4 v0, 0x1
return v0
.line 752
:cond_39
:pswitch_39
invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->checkLenient()V
.line 764
:cond_3c
:pswitch_3c
const/4 v0, 0x0
return v0
:pswitch_data_3e
.packed-switch 0x5b
:pswitch_3c
:pswitch_39
:pswitch_3c
.end packed-switch
.end method
.method private nextNonWhitespace(Z)I
.registers 11
.param p1, "throwOnEof" # Z
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1323
iget-object v0, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C
.line 1324
.local v0, "buffer":[C
iget v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 1325
.local v1, "p":I
iget v2, p0, Lcom/google/gson/stream/JsonReader;->limit:I
.line 1327
.local v2, "l":I
:goto_6
const/4 v3, 0x1
if-ne v1, v2, :cond_35
.line 1328
iput v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 1329
invoke-direct {p0, v3}, Lcom/google/gson/stream/JsonReader;->fillBuffer(I)Z
move-result v4
if-nez v4, :cond_31
.line 1330
nop
.line 1396
if-nez p1, :cond_16
.line 1399
const/4 v3, -0x1
return v3
.line 1397
:cond_16
new-instance v3, Ljava/io/EOFException;
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "End of input"
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->locationString()Ljava/lang/String;
move-result-object v5
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-direct {v3, v4}, Ljava/io/EOFException;-><init>(Ljava/lang/String;)V
throw v3
.line 1332
:cond_31
iget v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 1333
iget v2, p0, Lcom/google/gson/stream/JsonReader;->limit:I
.line 1336
:cond_35
add-int/lit8 v4, v1, 0x1
.end local v1 # "p":I
.local v4, "p":I
aget-char v1, v0, v1
.line 1337
.local v1, "c":I
const/16 v5, 0xa
if-ne v1, v5, :cond_46
.line 1338
iget v5, p0, Lcom/google/gson/stream/JsonReader;->lineNumber:I
add-int/2addr v5, v3
iput v5, p0, Lcom/google/gson/stream/JsonReader;->lineNumber:I
.line 1339
iput v4, p0, Lcom/google/gson/stream/JsonReader;->lineStart:I
.line 1340
goto/16 :goto_b9
.line 1341
:cond_46
const/16 v5, 0x20
if-eq v1, v5, :cond_b9
const/16 v5, 0xd
if-eq v1, v5, :cond_b9
const/16 v5, 0x9
if-ne v1, v5, :cond_53
.line 1342
goto :goto_b9
.line 1345
:cond_53
const/16 v5, 0x2f
if-ne v1, v5, :cond_a3
.line 1346
iput v4, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 1347
const/4 v6, 0x2
if-ne v4, v2, :cond_6c
.line 1348
add-int/lit8 v7, v4, -0x1
iput v7, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 1349
invoke-direct {p0, v6}, Lcom/google/gson/stream/JsonReader;->fillBuffer(I)Z
move-result v7
.line 1350
.local v7, "charsLoaded":Z
iget v8, p0, Lcom/google/gson/stream/JsonReader;->pos:I
add-int/2addr v8, v3
iput v8, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 1351
if-nez v7, :cond_6c
.line 1352
return v1
.line 1356
.end local v7 # "charsLoaded":Z
:cond_6c
invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->checkLenient()V
.line 1357
iget v3, p0, Lcom/google/gson/stream/JsonReader;->pos:I
aget-char v7, v0, v3
.line 1358
.local v7, "peek":C
const/16 v8, 0x2a
if-eq v7, v8, :cond_88
if-eq v7, v5, :cond_7a
.line 1378
return v1
.line 1371
:cond_7a
add-int/lit8 v3, v3, 0x1
iput v3, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 1372
invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->skipToEndOfLine()V
.line 1373
iget v3, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 1374
.end local v4 # "p":I
.local v3, "p":I
iget v2, p0, Lcom/google/gson/stream/JsonReader;->limit:I
.line 1375
move v1, v3
goto/16 :goto_6
.line 1361
.end local v3 # "p":I
.restart local v4 # "p":I
:cond_88
add-int/lit8 v3, v3, 0x1
iput v3, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 1362
const-string v3, "*/"
invoke-direct {p0, v3}, Lcom/google/gson/stream/JsonReader;->skipTo(Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_9c
.line 1365
iget v3, p0, Lcom/google/gson/stream/JsonReader;->pos:I
add-int/2addr v3, v6
.line 1366
.end local v4 # "p":I
.restart local v3 # "p":I
iget v2, p0, Lcom/google/gson/stream/JsonReader;->limit:I
.line 1367
move v1, v3
goto/16 :goto_6
.line 1363
.end local v3 # "p":I
.restart local v4 # "p":I
:cond_9c
const-string v3, "Unterminated comment"
invoke-direct {p0, v3}, Lcom/google/gson/stream/JsonReader;->syntaxError(Ljava/lang/String;)Ljava/io/IOException;
move-result-object v3
throw v3
.line 1380
.end local v7 # "peek":C
:cond_a3
const/16 v3, 0x23
if-ne v1, v3, :cond_b6
.line 1381
iput v4, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 1387
invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->checkLenient()V
.line 1388
invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->skipToEndOfLine()V
.line 1389
iget v3, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 1390
.end local v4 # "p":I
.restart local v3 # "p":I
iget v2, p0, Lcom/google/gson/stream/JsonReader;->limit:I
.line 1395
.end local v1 # "c":I
move v1, v3
goto/16 :goto_6
.line 1392
.end local v3 # "p":I
.restart local v1 # "c":I
.restart local v4 # "p":I
:cond_b6
iput v4, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 1393
return v1
.line 1327
.end local v1 # "c":I
:cond_b9
:goto_b9
move v1, v4
goto/16 :goto_6
.end method
.method private nextQuotedValue(C)Ljava/lang/String;
.registers 12
.param p1, "quote" # C
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 988
iget-object v0, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C
.line 989
.local v0, "buffer":[C
const/4 v1, 0x0
.line 991
.local v1, "builder":Ljava/lang/StringBuilder;
:goto_3
iget v2, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 992
.local v2, "p":I
iget v3, p0, Lcom/google/gson/stream/JsonReader;->limit:I
.line 994
.local v3, "l":I
move v4, v2
.line 995
.local v4, "start":I
:goto_8
const/16 v5, 0x10
const/4 v6, 0x1
if-ge v2, v3, :cond_5f
.line 996
add-int/lit8 v7, v2, 0x1
.end local v2 # "p":I
.local v7, "p":I
aget-char v2, v0, v2
.line 998
.local v2, "c":I
if-ne v2, p1, :cond_28
.line 999
iput v7, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 1000
sub-int v5, v7, v4
sub-int/2addr v5, v6
.line 1001
.local v5, "len":I
if-nez v1, :cond_20
.line 1002
new-instance v6, Ljava/lang/String;
invoke-direct {v6, v0, v4, v5}, Ljava/lang/String;-><init>([CII)V
return-object v6
.line 1004
:cond_20
invoke-virtual {v1, v0, v4, v5}, Ljava/lang/StringBuilder;->append([CII)Ljava/lang/StringBuilder;
.line 1005
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
return-object v6
.line 1007
.end local v5 # "len":I
:cond_28
const/16 v8, 0x5c
if-ne v2, v8, :cond_52
.line 1008
iput v7, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 1009
sub-int v8, v7, v4
sub-int/2addr v8, v6
.line 1010
.local v8, "len":I
if-nez v1, :cond_41
.line 1011
add-int/lit8 v6, v8, 0x1
mul-int/lit8 v6, v6, 0x2
.line 1012
.local v6, "estimatedLength":I
new-instance v9, Ljava/lang/StringBuilder;
invoke-static {v6, v5}, Ljava/lang/Math;->max(II)I
move-result v5
invoke-direct {v9, v5}, Ljava/lang/StringBuilder;-><init>(I)V
move-object v1, v9
.line 1014
.end local v6 # "estimatedLength":I
:cond_41
invoke-virtual {v1, v0, v4, v8}, Ljava/lang/StringBuilder;->append([CII)Ljava/lang/StringBuilder;
.line 1015
invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->readEscapeCharacter()C
move-result v5
invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 1016
iget v5, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 1017
.end local v7 # "p":I
.local v5, "p":I
iget v3, p0, Lcom/google/gson/stream/JsonReader;->limit:I
.line 1018
move v4, v5
.line 1019
.end local v8 # "len":I
move v2, v5
goto :goto_5e
.end local v5 # "p":I
.restart local v7 # "p":I
:cond_52
const/16 v5, 0xa
if-ne v2, v5, :cond_5d
.line 1020
iget v5, p0, Lcom/google/gson/stream/JsonReader;->lineNumber:I
add-int/2addr v5, v6
iput v5, p0, Lcom/google/gson/stream/JsonReader;->lineNumber:I
.line 1021
iput v7, p0, Lcom/google/gson/stream/JsonReader;->lineStart:I
.line 1023
.end local v2 # "c":I
:cond_5d
move v2, v7
.end local v7 # "p":I
.local v2, "p":I
:goto_5e
goto :goto_8
.line 1025
:cond_5f
if-nez v1, :cond_6f
.line 1026
sub-int v7, v2, v4
mul-int/lit8 v7, v7, 0x2
.line 1027
.local v7, "estimatedLength":I
new-instance v8, Ljava/lang/StringBuilder;
invoke-static {v7, v5}, Ljava/lang/Math;->max(II)I
move-result v5
invoke-direct {v8, v5}, Ljava/lang/StringBuilder;-><init>(I)V
move-object v1, v8
.line 1029
.end local v7 # "estimatedLength":I
:cond_6f
sub-int v5, v2, v4
invoke-virtual {v1, v0, v4, v5}, Ljava/lang/StringBuilder;->append([CII)Ljava/lang/StringBuilder;
.line 1030
iput v2, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 1031
invoke-direct {p0, v6}, Lcom/google/gson/stream/JsonReader;->fillBuffer(I)Z
move-result v5
if-eqz v5, :cond_7d
.line 1034
.end local v2 # "p":I
.end local v3 # "l":I
.end local v4 # "start":I
goto :goto_3
.line 1032
.restart local v2 # "p":I
.restart local v3 # "l":I
.restart local v4 # "start":I
:cond_7d
const-string v5, "Unterminated string"
invoke-direct {p0, v5}, Lcom/google/gson/stream/JsonReader;->syntaxError(Ljava/lang/String;)Ljava/io/IOException;
move-result-object v5
goto :goto_85
:goto_84
throw v5
:goto_85
goto :goto_84
.end method
.method private nextUnquotedValue()Ljava/lang/String;
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1042
const/4 v0, 0x0
.line 1043
.local v0, "builder":Ljava/lang/StringBuilder;
const/4 v1, 0x0
.line 1047
.local v1, "i":I
:goto_2
iget v2, p0, Lcom/google/gson/stream/JsonReader;->pos:I
add-int v3, v2, v1
iget v4, p0, Lcom/google/gson/stream/JsonReader;->limit:I
if-ge v3, v4, :cond_4d
.line 1048
iget-object v3, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C
add-int/2addr v2, v1
aget-char v2, v3, v2
const/16 v3, 0x9
if-eq v2, v3, :cond_4c
const/16 v3, 0xa
if-eq v2, v3, :cond_4c
const/16 v3, 0xc
if-eq v2, v3, :cond_4c
const/16 v3, 0xd
if-eq v2, v3, :cond_4c
const/16 v3, 0x20
if-eq v2, v3, :cond_4c
const/16 v3, 0x23
if-eq v2, v3, :cond_49
const/16 v3, 0x2c
if-eq v2, v3, :cond_4c
const/16 v3, 0x2f
if-eq v2, v3, :cond_49
const/16 v3, 0x3d
if-eq v2, v3, :cond_49
const/16 v3, 0x7b
if-eq v2, v3, :cond_4c
const/16 v3, 0x7d
if-eq v2, v3, :cond_4c
const/16 v3, 0x3a
if-eq v2, v3, :cond_4c
const/16 v3, 0x3b
if-eq v2, v3, :cond_49
packed-switch v2, :pswitch_data_9e
.line 1047
add-int/lit8 v1, v1, 0x1
goto :goto_2
.line 1054
:cond_49
:pswitch_49
invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->checkLenient()V
.line 1066
:cond_4c
:pswitch_4c
goto :goto_7e
.line 1071
:cond_4d
iget-object v2, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C
array-length v2, v2
if-ge v1, v2, :cond_5b
.line 1072
add-int/lit8 v2, v1, 0x1
invoke-direct {p0, v2}, Lcom/google/gson/stream/JsonReader;->fillBuffer(I)Z
move-result v2
if-eqz v2, :cond_7e
.line 1073
goto :goto_2
.line 1080
:cond_5b
if-nez v0, :cond_69
.line 1081
new-instance v2, Ljava/lang/StringBuilder;
const/16 v3, 0x10
invoke-static {v1, v3}, Ljava/lang/Math;->max(II)I
move-result v3
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(I)V
move-object v0, v2
.line 1083
:cond_69
iget-object v2, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C
iget v3, p0, Lcom/google/gson/stream/JsonReader;->pos:I
invoke-virtual {v0, v2, v3, v1}, Ljava/lang/StringBuilder;->append([CII)Ljava/lang/StringBuilder;
.line 1084
iget v2, p0, Lcom/google/gson/stream/JsonReader;->pos:I
add-int/2addr v2, v1
iput v2, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 1085
const/4 v1, 0x0
.line 1086
const/4 v2, 0x1
invoke-direct {p0, v2}, Lcom/google/gson/stream/JsonReader;->fillBuffer(I)Z
move-result v2
if-nez v2, :cond_9b
.line 1087
nop
.line 1091
:cond_7e
:goto_7e
if-nez v0, :cond_8a
new-instance v2, Ljava/lang/String;
iget-object v3, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C
iget v4, p0, Lcom/google/gson/stream/JsonReader;->pos:I
invoke-direct {v2, v3, v4, v1}, Ljava/lang/String;-><init>([CII)V
goto :goto_95
:cond_8a
iget-object v2, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C
iget v3, p0, Lcom/google/gson/stream/JsonReader;->pos:I
invoke-virtual {v0, v2, v3, v1}, Ljava/lang/StringBuilder;->append([CII)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
.line 1092
.local v2, "result":Ljava/lang/String;
:goto_95
iget v3, p0, Lcom/google/gson/stream/JsonReader;->pos:I
add-int/2addr v3, v1
iput v3, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 1093
return-object v2
.line 1086
.end local v2 # "result":Ljava/lang/String;
:cond_9b
goto/16 :goto_2
nop
:pswitch_data_9e
.packed-switch 0x5b
:pswitch_4c
:pswitch_49
:pswitch_4c
.end packed-switch
.end method
.method private peekKeyword()I
.registers 10
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 600
iget-object v0, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C
iget v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I
aget-char v0, v0, v1
.line 604
.local v0, "c":C
const/4 v1, 0x0
const/16 v2, 0x74
if-eq v0, v2, :cond_2f
const/16 v2, 0x54
if-ne v0, v2, :cond_10
goto :goto_2f
.line 608
:cond_10
const/16 v2, 0x66
if-eq v0, v2, :cond_29
const/16 v2, 0x46
if-ne v0, v2, :cond_19
goto :goto_29
.line 612
:cond_19
const/16 v2, 0x6e
if-eq v0, v2, :cond_23
const/16 v2, 0x4e
if-ne v0, v2, :cond_22
goto :goto_23
.line 617
:cond_22
return v1
.line 613
:cond_23
:goto_23
const-string v2, "null"
.line 614
.local v2, "keyword":Ljava/lang/String;
const-string v3, "NULL"
.line 615
.local v3, "keywordUpper":Ljava/lang/String;
const/4 v4, 0x7
.local v4, "peeking":I
goto :goto_35
.line 609
.end local v2 # "keyword":Ljava/lang/String;
.end local v3 # "keywordUpper":Ljava/lang/String;
.end local v4 # "peeking":I
:cond_29
:goto_29
const-string v2, "false"
.line 610
.restart local v2 # "keyword":Ljava/lang/String;
const-string v3, "FALSE"
.line 611
.restart local v3 # "keywordUpper":Ljava/lang/String;
const/4 v4, 0x6
.restart local v4 # "peeking":I
goto :goto_35
.line 605
.end local v2 # "keyword":Ljava/lang/String;
.end local v3 # "keywordUpper":Ljava/lang/String;
.end local v4 # "peeking":I
:cond_2f
:goto_2f
const-string/jumbo v2, "true"
.line 606
.restart local v2 # "keyword":Ljava/lang/String;
const-string v3, "TRUE"
.line 607
.restart local v3 # "keywordUpper":Ljava/lang/String;
const/4 v4, 0x5
.line 621
.restart local v4 # "peeking":I
:goto_35
invoke-virtual {v2}, Ljava/lang/String;->length()I
move-result v5
.line 622
.local v5, "length":I
const/4 v6, 0x1
.local v6, "i":I
:goto_3a
if-ge v6, v5, :cond_63
.line 623
iget v7, p0, Lcom/google/gson/stream/JsonReader;->pos:I
add-int/2addr v7, v6
iget v8, p0, Lcom/google/gson/stream/JsonReader;->limit:I
if-lt v7, v8, :cond_4c
add-int/lit8 v7, v6, 0x1
invoke-direct {p0, v7}, Lcom/google/gson/stream/JsonReader;->fillBuffer(I)Z
move-result v7
if-nez v7, :cond_4c
.line 624
return v1
.line 626
:cond_4c
iget-object v7, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C
iget v8, p0, Lcom/google/gson/stream/JsonReader;->pos:I
add-int/2addr v8, v6
aget-char v0, v7, v8
.line 627
invoke-virtual {v2, v6}, Ljava/lang/String;->charAt(I)C
move-result v7
if-eq v0, v7, :cond_60
invoke-virtual {v3, v6}, Ljava/lang/String;->charAt(I)C
move-result v7
if-eq v0, v7, :cond_60
.line 628
return v1
.line 622
:cond_60
add-int/lit8 v6, v6, 0x1
goto :goto_3a
.line 632
.end local v6 # "i":I
:cond_63
iget v6, p0, Lcom/google/gson/stream/JsonReader;->pos:I
add-int/2addr v6, v5
iget v7, p0, Lcom/google/gson/stream/JsonReader;->limit:I
if-lt v6, v7, :cond_72
add-int/lit8 v6, v5, 0x1
invoke-direct {p0, v6}, Lcom/google/gson/stream/JsonReader;->fillBuffer(I)Z
move-result v6
if-eqz v6, :cond_80
:cond_72
iget-object v6, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C
iget v7, p0, Lcom/google/gson/stream/JsonReader;->pos:I
add-int/2addr v7, v5
aget-char v6, v6, v7
.line 633
invoke-direct {p0, v6}, Lcom/google/gson/stream/JsonReader;->isLiteral(C)Z
move-result v6
if-eqz v6, :cond_80
.line 634
return v1
.line 638
:cond_80
iget v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I
add-int/2addr v1, v5
iput v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 639
iput v4, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
return v4
.end method
.method private peekNumber()I
.registers 20
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 644
move-object/from16 v0, p0
iget-object v1, v0, Lcom/google/gson/stream/JsonReader;->buffer:[C
.line 645
.local v1, "buffer":[C
iget v2, v0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 646
.local v2, "p":I
iget v3, v0, Lcom/google/gson/stream/JsonReader;->limit:I
.line 648
.local v3, "l":I
const-wide/16 v4, 0x0
.line 649
.local v4, "value":J
const/4 v6, 0x0
.line 650
.local v6, "negative":Z
const/4 v7, 0x1
.line 651
.local v7, "fitsInLong":Z
const/4 v8, 0x0
.line 653
.local v8, "last":I
const/4 v9, 0x0
.line 657
.local v9, "i":I
:goto_e
add-int v10, v2, v9
const-wide/16 v11, 0x0
const/4 v14, 0x2
const/4 v15, 0x0
if-ne v10, v3, :cond_28
.line 658
array-length v10, v1
if-ne v9, v10, :cond_1a
.line 661
return v15
.line 663
:cond_1a
add-int/lit8 v10, v9, 0x1
invoke-direct {v0, v10}, Lcom/google/gson/stream/JsonReader;->fillBuffer(I)Z
move-result v10
if-nez v10, :cond_24
.line 664
goto/16 :goto_95
.line 666
:cond_24
iget v2, v0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 667
iget v3, v0, Lcom/google/gson/stream/JsonReader;->limit:I
.line 670
:cond_28
add-int v10, v2, v9
aget-char v10, v1, v10
.line 671
.local v10, "c":C
const/16 v13, 0x2b
const/4 v15, 0x5
if-eq v10, v13, :cond_e7
const/16 v13, 0x45
if-eq v10, v13, :cond_dd
const/16 v13, 0x65
if-eq v10, v13, :cond_dd
const/16 v13, 0x2d
if-eq v10, v13, :cond_d2
const/16 v13, 0x2e
if-eq v10, v13, :cond_cc
.line 706
const/16 v13, 0x30
if-lt v10, v13, :cond_8e
const/16 v13, 0x39
if-le v10, v13, :cond_4a
goto :goto_8e
.line 712
:cond_4a
const/4 v13, 0x1
if-eq v8, v13, :cond_87
if-nez v8, :cond_50
goto :goto_87
.line 715
:cond_50
if-ne v8, v14, :cond_79
.line 716
cmp-long v14, v4, v11
if-nez v14, :cond_58
.line 717
const/4 v11, 0x0
return v11
.line 719
:cond_58
const-wide/16 v11, 0xa
mul-long v11, v11, v4
add-int/lit8 v14, v10, -0x30
int-to-long v14, v14
sub-long/2addr v11, v14
.line 720
.local v11, "newValue":J
const-wide v14, -0xcccccccccccccccL
cmp-long v16, v4, v14
if-gtz v16, :cond_74
cmp-long v16, v4, v14
if-nez v16, :cond_72
cmp-long v14, v11, v4
if-gez v14, :cond_72
goto :goto_74
:cond_72
const/4 v15, 0x0
goto :goto_75
:cond_74
:goto_74
const/4 v15, 0x1
:goto_75
and-int/2addr v7, v15
.line 722
move-wide v4, v11
.line 723
.end local v11 # "newValue":J
goto/16 :goto_eb
:cond_79
const/4 v11, 0x3
if-ne v8, v11, :cond_7f
.line 724
const/4 v8, 0x4
goto/16 :goto_eb
.line 725
:cond_7f
if-eq v8, v15, :cond_84
const/4 v11, 0x6
if-ne v8, v11, :cond_eb
.line 726
:cond_84
const/4 v8, 0x7
goto/16 :goto_eb
.line 713
:cond_87
:goto_87
add-int/lit8 v11, v10, -0x30
neg-int v11, v11
int-to-long v4, v11
.line 714
const/4 v8, 0x2
goto/16 :goto_eb
.line 707
:cond_8e
:goto_8e
invoke-direct {v0, v10}, Lcom/google/gson/stream/JsonReader;->isLiteral(C)Z
move-result v13
if-nez v13, :cond_ca
.line 708
nop
.line 732
.end local v10 # "c":C
:goto_95
if-ne v8, v14, :cond_b8
if-eqz v7, :cond_b8
const-wide/high16 v17, -0x8000000000000000L
cmp-long v10, v4, v17
if-nez v10, :cond_a1
if-eqz v6, :cond_b8
:cond_a1
cmp-long v10, v4, v11
if-nez v10, :cond_a7
if-nez v6, :cond_b8
.line 733
:cond_a7
if-eqz v6, :cond_ab
move-wide v10, v4
goto :goto_ac
:cond_ab
neg-long v10, v4
:goto_ac
iput-wide v10, v0, Lcom/google/gson/stream/JsonReader;->peekedLong:J
.line 734
iget v10, v0, Lcom/google/gson/stream/JsonReader;->pos:I
add-int/2addr v10, v9
iput v10, v0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 735
const/16 v10, 0xf
iput v10, v0, Lcom/google/gson/stream/JsonReader;->peeked:I
return v10
.line 736
:cond_b8
if-eq v8, v14, :cond_c3
const/4 v10, 0x4
if-eq v8, v10, :cond_c3
const/4 v10, 0x7
if-ne v8, v10, :cond_c1
goto :goto_c3
.line 741
:cond_c1
const/4 v10, 0x0
return v10
.line 738
:cond_c3
:goto_c3
iput v9, v0, Lcom/google/gson/stream/JsonReader;->peekedNumberLength:I
.line 739
const/16 v10, 0x10
iput v10, v0, Lcom/google/gson/stream/JsonReader;->peeked:I
return v10
.line 710
.restart local v10 # "c":C
:cond_ca
const/4 v11, 0x0
return v11
.line 699
:cond_cc
const/4 v11, 0x0
if-ne v8, v14, :cond_d1
.line 700
const/4 v8, 0x3
.line 701
goto :goto_eb
.line 703
:cond_d1
return v11
.line 673
:cond_d2
if-nez v8, :cond_d7
.line 674
const/4 v6, 0x1
.line 675
const/4 v8, 0x1
.line 676
goto :goto_eb
.line 677
:cond_d7
if-ne v8, v15, :cond_db
.line 678
const/4 v8, 0x6
.line 679
goto :goto_eb
.line 681
:cond_db
const/4 v11, 0x0
return v11
.line 671
:cond_dd
const/4 v11, 0x0
.line 692
if-eq v8, v14, :cond_e5
const/4 v12, 0x4
if-ne v8, v12, :cond_e4
goto :goto_e5
.line 696
:cond_e4
return v11
.line 693
:cond_e5
:goto_e5
const/4 v8, 0x5
.line 694
goto :goto_eb
.line 684
:cond_e7
if-ne v8, v15, :cond_ef
.line 685
const/4 v8, 0x6
.line 686
nop
.line 656
.end local v10 # "c":C
:cond_eb
:goto_eb
add-int/lit8 v9, v9, 0x1
goto/16 :goto_e
.line 688
.restart local v10 # "c":C
:cond_ef
const/4 v11, 0x0
return v11
.end method
.method private push(I)V
.registers 5
.param p1, "newTop" # I
.line 1265
iget v0, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I
iget-object v1, p0, Lcom/google/gson/stream/JsonReader;->stack:[I
array-length v2, v1
if-ne v0, v2, :cond_21
.line 1266
mul-int/lit8 v0, v0, 0x2
.line 1267
.local v0, "newLength":I
invoke-static {v1, v0}, Ljava/util/Arrays;->copyOf([II)[I
move-result-object v1
iput-object v1, p0, Lcom/google/gson/stream/JsonReader;->stack:[I
.line 1268
iget-object v1, p0, Lcom/google/gson/stream/JsonReader;->pathIndices:[I
invoke-static {v1, v0}, Ljava/util/Arrays;->copyOf([II)[I
move-result-object v1
iput-object v1, p0, Lcom/google/gson/stream/JsonReader;->pathIndices:[I
.line 1269
iget-object v1, p0, Lcom/google/gson/stream/JsonReader;->pathNames:[Ljava/lang/String;
invoke-static {v1, v0}, Ljava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object;
move-result-object v1
check-cast v1, [Ljava/lang/String;
iput-object v1, p0, Lcom/google/gson/stream/JsonReader;->pathNames:[Ljava/lang/String;
.line 1271
.end local v0 # "newLength":I
:cond_21
iget-object v0, p0, Lcom/google/gson/stream/JsonReader;->stack:[I
iget v1, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I
add-int/lit8 v2, v1, 0x1
iput v2, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I
aput p1, v0, v1
.line 1272
return-void
.end method
.method private readEscapeCharacter()C
.registers 12
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1500
iget v0, p0, Lcom/google/gson/stream/JsonReader;->pos:I
iget v1, p0, Lcom/google/gson/stream/JsonReader;->limit:I
const-string v2, "Unterminated escape sequence"
const/4 v3, 0x1
if-ne v0, v1, :cond_15
invoke-direct {p0, v3}, Lcom/google/gson/stream/JsonReader;->fillBuffer(I)Z
move-result v0
if-eqz v0, :cond_10
goto :goto_15
.line 1501
:cond_10
invoke-direct {p0, v2}, Lcom/google/gson/stream/JsonReader;->syntaxError(Ljava/lang/String;)Ljava/io/IOException;
move-result-object v0
throw v0
.line 1504
:cond_15
:goto_15
iget-object v0, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C
iget v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I
add-int/lit8 v4, v1, 0x1
iput v4, p0, Lcom/google/gson/stream/JsonReader;->pos:I
aget-char v0, v0, v1
.line 1505
.local v0, "escaped":C
const/16 v1, 0xa
if-eq v0, v1, :cond_ce
const/16 v3, 0x22
if-eq v0, v3, :cond_d5
const/16 v3, 0x27
if-eq v0, v3, :cond_d5
const/16 v3, 0x2f
if-eq v0, v3, :cond_d5
const/16 v3, 0x5c
if-eq v0, v3, :cond_d5
const/16 v3, 0x62
if-eq v0, v3, :cond_cb
const/16 v3, 0x66
if-eq v0, v3, :cond_c8
const/16 v5, 0x6e
if-eq v0, v5, :cond_c7
const/16 v5, 0x72
if-eq v0, v5, :cond_c4
const/16 v5, 0x74
if-eq v0, v5, :cond_c1
const/16 v5, 0x75
if-ne v0, v5, :cond_ba
.line 1507
const/4 v5, 0x4
add-int/2addr v4, v5
iget v6, p0, Lcom/google/gson/stream/JsonReader;->limit:I
if-le v4, v6, :cond_5d
invoke-direct {p0, v5}, Lcom/google/gson/stream/JsonReader;->fillBuffer(I)Z
move-result v4
if-eqz v4, :cond_58
goto :goto_5d
.line 1508
:cond_58
invoke-direct {p0, v2}, Lcom/google/gson/stream/JsonReader;->syntaxError(Ljava/lang/String;)Ljava/io/IOException;
move-result-object v1
throw v1
.line 1511
:cond_5d
:goto_5d
const/4 v2, 0x0
.line 1512
.local v2, "result":C
iget v4, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.local v4, "i":I
add-int/lit8 v6, v4, 0x4
.local v6, "end":I
:goto_62
if-ge v4, v6, :cond_b4
.line 1513
iget-object v7, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C
aget-char v7, v7, v4
.line 1514
.local v7, "c":C
shl-int/lit8 v8, v2, 0x4
int-to-char v2, v8
.line 1515
const/16 v8, 0x30
if-lt v7, v8, :cond_78
const/16 v8, 0x39
if-gt v7, v8, :cond_78
.line 1516
add-int/lit8 v8, v7, -0x30
add-int/2addr v8, v2
int-to-char v2, v8
goto :goto_91
.line 1517
:cond_78
const/16 v8, 0x61
if-lt v7, v8, :cond_84
if-gt v7, v3, :cond_84
.line 1518
add-int/lit8 v8, v7, -0x61
add-int/2addr v8, v1
add-int/2addr v8, v2
int-to-char v2, v8
goto :goto_91
.line 1519
:cond_84
const/16 v8, 0x41
if-lt v7, v8, :cond_94
const/16 v8, 0x46
if-gt v7, v8, :cond_94
.line 1520
add-int/lit8 v8, v7, -0x41
add-int/2addr v8, v1
add-int/2addr v8, v2
int-to-char v2, v8
.line 1512
.end local v7 # "c":C
:goto_91
add-int/lit8 v4, v4, 0x1
goto :goto_62
.line 1522
.restart local v7 # "c":C
:cond_94
new-instance v1, Ljava/lang/NumberFormatException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v8, "\\u"
invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
new-instance v8, Ljava/lang/String;
iget-object v9, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C
iget v10, p0, Lcom/google/gson/stream/JsonReader;->pos:I
invoke-direct {v8, v9, v10, v5}, Ljava/lang/String;-><init>([CII)V
invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-direct {v1, v3}, Ljava/lang/NumberFormatException;-><init>(Ljava/lang/String;)V
throw v1
.line 1525
.end local v4 # "i":I
.end local v6 # "end":I
.end local v7 # "c":C
:cond_b4
iget v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I
add-int/2addr v1, v5
iput v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 1526
return v2
.line 1555
.end local v2 # "result":C
:cond_ba
const-string v1, "Invalid escape sequence"
invoke-direct {p0, v1}, Lcom/google/gson/stream/JsonReader;->syntaxError(Ljava/lang/String;)Ljava/io/IOException;
move-result-object v1
throw v1
.line 1529
:cond_c1
const/16 v1, 0x9
return v1
.line 1538
:cond_c4
const/16 v1, 0xd
return v1
.line 1535
:cond_c7
return v1
.line 1541
:cond_c8
const/16 v1, 0xc
return v1
.line 1532
:cond_cb
const/16 v1, 0x8
return v1
.line 1544
:cond_ce
iget v1, p0, Lcom/google/gson/stream/JsonReader;->lineNumber:I
add-int/2addr v1, v3
iput v1, p0, Lcom/google/gson/stream/JsonReader;->lineNumber:I
.line 1545
iput v4, p0, Lcom/google/gson/stream/JsonReader;->lineStart:I
.line 1552
:cond_d5
return v0
.end method
.method private skipQuotedValue(C)V
.registers 8
.param p1, "quote" # C
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1098
iget-object v0, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C
.line 1100
.local v0, "buffer":[C
:goto_2
iget v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 1101
.local v1, "p":I
iget v2, p0, Lcom/google/gson/stream/JsonReader;->limit:I
.line 1103
.local v2, "l":I
:goto_6
const/4 v3, 0x1
if-ge v1, v2, :cond_2e
.line 1104
add-int/lit8 v4, v1, 0x1
.end local v1 # "p":I
.local v4, "p":I
aget-char v1, v0, v1
.line 1105
.local v1, "c":I
if-ne v1, p1, :cond_12
.line 1106
iput v4, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 1107
return-void
.line 1108
:cond_12
const/16 v5, 0x5c
if-ne v1, v5, :cond_21
.line 1109
iput v4, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 1110
invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->readEscapeCharacter()C
.line 1111
iget v3, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 1112
.end local v4 # "p":I
.local v3, "p":I
iget v2, p0, Lcom/google/gson/stream/JsonReader;->limit:I
move v1, v3
goto :goto_2d
.line 1113
.end local v3 # "p":I
.restart local v4 # "p":I
:cond_21
const/16 v5, 0xa
if-ne v1, v5, :cond_2c
.line 1114
iget v5, p0, Lcom/google/gson/stream/JsonReader;->lineNumber:I
add-int/2addr v5, v3
iput v5, p0, Lcom/google/gson/stream/JsonReader;->lineNumber:I
.line 1115
iput v4, p0, Lcom/google/gson/stream/JsonReader;->lineStart:I
.line 1117
.end local v1 # "c":I
:cond_2c
move v1, v4
.end local v4 # "p":I
.local v1, "p":I
:goto_2d
goto :goto_6
.line 1118
:cond_2e
iput v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 1119
.end local v1 # "p":I
.end local v2 # "l":I
invoke-direct {p0, v3}, Lcom/google/gson/stream/JsonReader;->fillBuffer(I)Z
move-result v1
if-eqz v1, :cond_37
goto :goto_2
.line 1120
:cond_37
const-string v1, "Unterminated string"
invoke-direct {p0, v1}, Lcom/google/gson/stream/JsonReader;->syntaxError(Ljava/lang/String;)Ljava/io/IOException;
move-result-object v1
goto :goto_3f
:goto_3e
throw v1
:goto_3f
goto :goto_3e
.end method
.method private skipTo(Ljava/lang/String;)Z
.registers 7
.param p1, "toFind" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1431
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
.line 1433
.local v0, "length":I
:goto_4
iget v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I
add-int/2addr v1, v0
iget v2, p0, Lcom/google/gson/stream/JsonReader;->limit:I
if-le v1, v2, :cond_14
invoke-direct {p0, v0}, Lcom/google/gson/stream/JsonReader;->fillBuffer(I)Z
move-result v1
if-eqz v1, :cond_12
goto :goto_14
.line 1446
:cond_12
const/4 v1, 0x0
return v1
.line 1434
:cond_14
:goto_14
iget-object v1, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C
iget v2, p0, Lcom/google/gson/stream/JsonReader;->pos:I
aget-char v1, v1, v2
const/16 v3, 0xa
const/4 v4, 0x1
if-ne v1, v3, :cond_29
.line 1435
iget v1, p0, Lcom/google/gson/stream/JsonReader;->lineNumber:I
add-int/2addr v1, v4
iput v1, p0, Lcom/google/gson/stream/JsonReader;->lineNumber:I
.line 1436
add-int/lit8 v2, v2, 0x1
iput v2, p0, Lcom/google/gson/stream/JsonReader;->lineStart:I
.line 1437
goto :goto_3a
.line 1439
:cond_29
const/4 v1, 0x0
.local v1, "c":I
:goto_2a
if-ge v1, v0, :cond_43
.line 1440
iget-object v2, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C
iget v3, p0, Lcom/google/gson/stream/JsonReader;->pos:I
add-int/2addr v3, v1
aget-char v2, v2, v3
invoke-virtual {p1, v1}, Ljava/lang/String;->charAt(I)C
move-result v3
if-eq v2, v3, :cond_40
.line 1441
nop
.line 1433
.end local v1 # "c":I
:goto_3a
iget v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I
add-int/2addr v1, v4
iput v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I
goto :goto_4
.line 1439
.restart local v1 # "c":I
:cond_40
add-int/lit8 v1, v1, 0x1
goto :goto_2a
.line 1444
.end local v1 # "c":I
:cond_43
return v4
.end method
.method private skipToEndOfLine()V
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1415
:goto_0
iget v0, p0, Lcom/google/gson/stream/JsonReader;->pos:I
iget v1, p0, Lcom/google/gson/stream/JsonReader;->limit:I
const/4 v2, 0x1
if-lt v0, v1, :cond_d
invoke-direct {p0, v2}, Lcom/google/gson/stream/JsonReader;->fillBuffer(I)Z
move-result v0
if-eqz v0, :cond_28
.line 1416
:cond_d
iget-object v0, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C
iget v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I
add-int/lit8 v3, v1, 0x1
iput v3, p0, Lcom/google/gson/stream/JsonReader;->pos:I
aget-char v0, v0, v1
.line 1417
.local v0, "c":C
const/16 v1, 0xa
if-ne v0, v1, :cond_23
.line 1418
iget v1, p0, Lcom/google/gson/stream/JsonReader;->lineNumber:I
add-int/2addr v1, v2
iput v1, p0, Lcom/google/gson/stream/JsonReader;->lineNumber:I
.line 1419
iput v3, p0, Lcom/google/gson/stream/JsonReader;->lineStart:I
.line 1420
goto :goto_28
.line 1421
:cond_23
const/16 v1, 0xd
if-ne v0, v1, :cond_29
.line 1422
nop
.line 1425
.end local v0 # "c":C
:cond_28
:goto_28
return-void
.line 1424
:cond_29
goto :goto_0
.end method
.method private skipUnquotedValue()V
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1125
:goto_0
const/4 v0, 0x0
.line 1126
.local v0, "i":I
:goto_1
iget v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I
add-int v2, v1, v0
iget v3, p0, Lcom/google/gson/stream/JsonReader;->limit:I
if-ge v2, v3, :cond_51
.line 1127
iget-object v2, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C
add-int/2addr v1, v0
aget-char v1, v2, v1
const/16 v2, 0x9
if-eq v1, v2, :cond_4b
const/16 v2, 0xa
if-eq v1, v2, :cond_4b
const/16 v2, 0xc
if-eq v1, v2, :cond_4b
const/16 v2, 0xd
if-eq v1, v2, :cond_4b
const/16 v2, 0x20
if-eq v1, v2, :cond_4b
const/16 v2, 0x23
if-eq v1, v2, :cond_48
const/16 v2, 0x2c
if-eq v1, v2, :cond_4b
const/16 v2, 0x2f
if-eq v1, v2, :cond_48
const/16 v2, 0x3d
if-eq v1, v2, :cond_48
const/16 v2, 0x7b
if-eq v1, v2, :cond_4b
const/16 v2, 0x7d
if-eq v1, v2, :cond_4b
const/16 v2, 0x3a
if-eq v1, v2, :cond_4b
const/16 v2, 0x3b
if-eq v1, v2, :cond_48
packed-switch v1, :pswitch_data_5e
.line 1126
add-int/lit8 v0, v0, 0x1
goto :goto_1
.line 1133
:cond_48
:pswitch_48
invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->checkLenient()V
.line 1145
:cond_4b
:pswitch_4b
iget v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I
add-int/2addr v1, v0
iput v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 1146
return-void
.line 1149
:cond_51
add-int/2addr v1, v0
iput v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 1150
.end local v0 # "i":I
const/4 v0, 0x1
invoke-direct {p0, v0}, Lcom/google/gson/stream/JsonReader;->fillBuffer(I)Z
move-result v0
if-nez v0, :cond_5c
.line 1151
return-void
.line 1150
:cond_5c
goto :goto_0
nop
:pswitch_data_5e
.packed-switch 0x5b
:pswitch_4b
:pswitch_48
:pswitch_4b
.end packed-switch
.end method
.method private syntaxError(Ljava/lang/String;)Ljava/io/IOException;
.registers 5
.param p1, "message" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1564
new-instance v0, Lcom/google/gson/stream/MalformedJsonException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->locationString()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Lcom/google/gson/stream/MalformedJsonException;-><init>(Ljava/lang/String;)V
throw v0
.end method
# virtual methods
.method public beginArray()V
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 342
iget v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 343
.local v0, "p":I
if-nez v0, :cond_8
.line 344
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->doPeek()I
move-result v0
.line 346
:cond_8
const/4 v1, 0x3
if-ne v0, v1, :cond_1a
.line 347
const/4 v1, 0x1
invoke-direct {p0, v1}, Lcom/google/gson/stream/JsonReader;->push(I)V
.line 348
iget-object v2, p0, Lcom/google/gson/stream/JsonReader;->pathIndices:[I
iget v3, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I
sub-int/2addr v3, v1
const/4 v1, 0x0
aput v1, v2, v3
.line 349
iput v1, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 353
return-void
.line 351
:cond_1a
new-instance v1, Ljava/lang/IllegalStateException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Expected BEGIN_ARRAY but was "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->peek()Lcom/google/gson/stream/JsonToken;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->locationString()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v1
.end method
.method public beginObject()V
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 378
iget v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 379
.local v0, "p":I
if-nez v0, :cond_8
.line 380
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->doPeek()I
move-result v0
.line 382
:cond_8
const/4 v1, 0x1
if-ne v0, v1, :cond_13
.line 383
const/4 v1, 0x3
invoke-direct {p0, v1}, Lcom/google/gson/stream/JsonReader;->push(I)V
.line 384
const/4 v1, 0x0
iput v1, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 388
return-void
.line 386
:cond_13
new-instance v1, Ljava/lang/IllegalStateException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Expected BEGIN_OBJECT but was "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->peek()Lcom/google/gson/stream/JsonToken;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->locationString()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v1
.end method
.method public close()V
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1217
const/4 v0, 0x0
iput v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 1218
iget-object v1, p0, Lcom/google/gson/stream/JsonReader;->stack:[I
const/16 v2, 0x8
aput v2, v1, v0
.line 1219
const/4 v0, 0x1
iput v0, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I
.line 1220
iget-object v0, p0, Lcom/google/gson/stream/JsonReader;->in:Ljava/io/Reader;
invoke-virtual {v0}, Ljava/io/Reader;->close()V
.line 1221
return-void
.end method
.method doPeek()I
.registers 17
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 463
move-object/from16 v0, p0
iget-object v1, v0, Lcom/google/gson/stream/JsonReader;->stack:[I
iget v2, v0, Lcom/google/gson/stream/JsonReader;->stackSize:I
add-int/lit8 v3, v2, -0x1
aget v3, v1, v3
.line 464
.local v3, "peekStack":I
const/16 v4, 0x8
const/16 v5, 0x27
const/16 v6, 0x22
const/16 v7, 0x5d
const/4 v8, 0x3
const/4 v9, 0x7
const/16 v10, 0x3b
const/16 v11, 0x2c
const/4 v12, 0x4
const/4 v13, 0x2
const/4 v14, 0x1
if-ne v3, v14, :cond_22
.line 465
sub-int/2addr v2, v14
aput v13, v1, v2
goto/16 :goto_a9
.line 466
:cond_22
if-ne v3, v13, :cond_3e
.line 468
invoke-direct {v0, v14}, Lcom/google/gson/stream/JsonReader;->nextNonWhitespace(Z)I
move-result v1
.line 469
.local v1, "c":I
if-eq v1, v11, :cond_3b
if-eq v1, v10, :cond_38
if-ne v1, v7, :cond_31
.line 471
iput v12, v0, Lcom/google/gson/stream/JsonReader;->peeked:I
return v12
.line 477
:cond_31
const-string v2, "Unterminated array"
invoke-direct {v0, v2}, Lcom/google/gson/stream/JsonReader;->syntaxError(Ljava/lang/String;)Ljava/io/IOException;
move-result-object v2
throw v2
.line 473
:cond_38
invoke-direct/range {p0 .. p0}, Lcom/google/gson/stream/JsonReader;->checkLenient()V
.line 475
:cond_3b
nop
.line 479
.end local v1 # "c":I
goto/16 :goto_a9
:cond_3e
const/4 v15, 0x5
if-eq v3, v8, :cond_123
if-ne v3, v15, :cond_45
goto/16 :goto_123
.line 517
:cond_45
if-ne v3, v12, :cond_7c
.line 518
sub-int/2addr v2, v14
aput v15, v1, v2
.line 520
invoke-direct {v0, v14}, Lcom/google/gson/stream/JsonReader;->nextNonWhitespace(Z)I
move-result v1
.line 521
.restart local v1 # "c":I
const/16 v2, 0x3a
if-eq v1, v2, :cond_7a
const/16 v2, 0x3d
if-ne v1, v2, :cond_73
.line 525
invoke-direct/range {p0 .. p0}, Lcom/google/gson/stream/JsonReader;->checkLenient()V
.line 526
iget v2, v0, Lcom/google/gson/stream/JsonReader;->pos:I
iget v15, v0, Lcom/google/gson/stream/JsonReader;->limit:I
if-lt v2, v15, :cond_65
invoke-direct {v0, v14}, Lcom/google/gson/stream/JsonReader;->fillBuffer(I)Z
move-result v2
if-eqz v2, :cond_7b
:cond_65
iget-object v2, v0, Lcom/google/gson/stream/JsonReader;->buffer:[C
iget v15, v0, Lcom/google/gson/stream/JsonReader;->pos:I
aget-char v2, v2, v15
const/16 v13, 0x3e
if-ne v2, v13, :cond_7b
.line 527
add-int/2addr v15, v14
iput v15, v0, Lcom/google/gson/stream/JsonReader;->pos:I
goto :goto_7b
.line 531
:cond_73
const-string v2, "Expected \':\'"
invoke-direct {v0, v2}, Lcom/google/gson/stream/JsonReader;->syntaxError(Ljava/lang/String;)Ljava/io/IOException;
move-result-object v2
throw v2
.line 523
:cond_7a
nop
.line 533
.end local v1 # "c":I
:cond_7b
:goto_7b
goto :goto_a9
:cond_7c
const/4 v1, 0x6
if-ne v3, v1, :cond_8e
.line 534
iget-boolean v1, v0, Lcom/google/gson/stream/JsonReader;->lenient:Z
if-eqz v1, :cond_86
.line 535
invoke-direct/range {p0 .. p0}, Lcom/google/gson/stream/JsonReader;->consumeNonExecutePrefix()V
.line 537
:cond_86
iget-object v1, v0, Lcom/google/gson/stream/JsonReader;->stack:[I
iget v2, v0, Lcom/google/gson/stream/JsonReader;->stackSize:I
sub-int/2addr v2, v14
aput v9, v1, v2
goto :goto_a9
.line 538
:cond_8e
if-ne v3, v9, :cond_a6
.line 539
const/4 v1, 0x0
invoke-direct {v0, v1}, Lcom/google/gson/stream/JsonReader;->nextNonWhitespace(Z)I
move-result v1
.line 540
.restart local v1 # "c":I
const/4 v2, -0x1
if-ne v1, v2, :cond_9d
.line 541
const/16 v2, 0x11
iput v2, v0, Lcom/google/gson/stream/JsonReader;->peeked:I
return v2
.line 543
:cond_9d
invoke-direct/range {p0 .. p0}, Lcom/google/gson/stream/JsonReader;->checkLenient()V
.line 544
iget v2, v0, Lcom/google/gson/stream/JsonReader;->pos:I
sub-int/2addr v2, v14
iput v2, v0, Lcom/google/gson/stream/JsonReader;->pos:I
.end local v1 # "c":I
goto :goto_a8
.line 546
:cond_a6
if-eq v3, v4, :cond_11b
:goto_a8
nop
.line 550
:goto_a9
invoke-direct {v0, v14}, Lcom/google/gson/stream/JsonReader;->nextNonWhitespace(Z)I
move-result v1
.line 551
.restart local v1 # "c":I
if-eq v1, v6, :cond_116
if-eq v1, v5, :cond_110
if-eq v1, v11, :cond_f8
if-eq v1, v10, :cond_f8
const/16 v2, 0x5b
if-eq v1, v2, :cond_f5
if-eq v1, v7, :cond_f0
const/16 v2, 0x7b
if-eq v1, v2, :cond_ed
.line 577
iget v2, v0, Lcom/google/gson/stream/JsonReader;->pos:I
sub-int/2addr v2, v14
iput v2, v0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 580
invoke-direct/range {p0 .. p0}, Lcom/google/gson/stream/JsonReader;->peekKeyword()I
move-result v2
.line 581
.local v2, "result":I
if-eqz v2, :cond_cb
.line 582
return v2
.line 585
:cond_cb
invoke-direct/range {p0 .. p0}, Lcom/google/gson/stream/JsonReader;->peekNumber()I
move-result v2
.line 586
if-eqz v2, :cond_d2
.line 587
return v2
.line 590
:cond_d2
iget-object v4, v0, Lcom/google/gson/stream/JsonReader;->buffer:[C
iget v5, v0, Lcom/google/gson/stream/JsonReader;->pos:I
aget-char v4, v4, v5
invoke-direct {v0, v4}, Lcom/google/gson/stream/JsonReader;->isLiteral(C)Z
move-result v4
if-eqz v4, :cond_e6
.line 594
invoke-direct/range {p0 .. p0}, Lcom/google/gson/stream/JsonReader;->checkLenient()V
.line 595
const/16 v4, 0xa
iput v4, v0, Lcom/google/gson/stream/JsonReader;->peeked:I
return v4
.line 591
:cond_e6
const-string v4, "Expected value"
invoke-direct {v0, v4}, Lcom/google/gson/stream/JsonReader;->syntaxError(Ljava/lang/String;)Ljava/io/IOException;
move-result-object v4
throw v4
.line 575
.end local v2 # "result":I
:cond_ed
iput v14, v0, Lcom/google/gson/stream/JsonReader;->peeked:I
return v14
.line 553
:cond_f0
if-ne v3, v14, :cond_f8
.line 554
iput v12, v0, Lcom/google/gson/stream/JsonReader;->peeked:I
return v12
.line 573
:cond_f5
iput v8, v0, Lcom/google/gson/stream/JsonReader;->peeked:I
return v8
.line 560
:cond_f8
if-eq v3, v14, :cond_105
const/4 v2, 0x2
if-ne v3, v2, :cond_fe
goto :goto_105
.line 565
:cond_fe
const-string v2, "Unexpected value"
invoke-direct {v0, v2}, Lcom/google/gson/stream/JsonReader;->syntaxError(Ljava/lang/String;)Ljava/io/IOException;
move-result-object v2
throw v2
.line 561
:cond_105
:goto_105
invoke-direct/range {p0 .. p0}, Lcom/google/gson/stream/JsonReader;->checkLenient()V
.line 562
iget v2, v0, Lcom/google/gson/stream/JsonReader;->pos:I
sub-int/2addr v2, v14
iput v2, v0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 563
iput v9, v0, Lcom/google/gson/stream/JsonReader;->peeked:I
return v9
.line 568
:cond_110
invoke-direct/range {p0 .. p0}, Lcom/google/gson/stream/JsonReader;->checkLenient()V
.line 569
iput v4, v0, Lcom/google/gson/stream/JsonReader;->peeked:I
return v4
.line 571
:cond_116
const/16 v2, 0x9
iput v2, v0, Lcom/google/gson/stream/JsonReader;->peeked:I
return v2
.line 547
.end local v1 # "c":I
:cond_11b
new-instance v1, Ljava/lang/IllegalStateException;
const-string v2, "JsonReader is closed"
invoke-direct {v1, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v1
.line 480
:cond_123
:goto_123
iget-object v1, v0, Lcom/google/gson/stream/JsonReader;->stack:[I
iget v2, v0, Lcom/google/gson/stream/JsonReader;->stackSize:I
sub-int/2addr v2, v14
aput v12, v1, v2
.line 482
const/16 v1, 0x7d
if-ne v3, v15, :cond_146
.line 483
invoke-direct {v0, v14}, Lcom/google/gson/stream/JsonReader;->nextNonWhitespace(Z)I
move-result v2
.line 484
.local v2, "c":I
if-eq v2, v11, :cond_146
if-eq v2, v10, :cond_143
if-ne v2, v1, :cond_13c
.line 486
const/4 v1, 0x2
iput v1, v0, Lcom/google/gson/stream/JsonReader;->peeked:I
return v1
.line 492
:cond_13c
const-string v1, "Unterminated object"
invoke-direct {v0, v1}, Lcom/google/gson/stream/JsonReader;->syntaxError(Ljava/lang/String;)Ljava/io/IOException;
move-result-object v1
throw v1
.line 488
:cond_143
invoke-direct/range {p0 .. p0}, Lcom/google/gson/stream/JsonReader;->checkLenient()V
.line 495
.end local v2 # "c":I
:cond_146
invoke-direct {v0, v14}, Lcom/google/gson/stream/JsonReader;->nextNonWhitespace(Z)I
move-result v2
.line 496
.restart local v2 # "c":I
if-eq v2, v6, :cond_17e
if-eq v2, v5, :cond_176
const-string v4, "Expected name"
if-eq v2, v1, :cond_16b
.line 509
invoke-direct/range {p0 .. p0}, Lcom/google/gson/stream/JsonReader;->checkLenient()V
.line 510
iget v1, v0, Lcom/google/gson/stream/JsonReader;->pos:I
sub-int/2addr v1, v14
iput v1, v0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 511
int-to-char v1, v2
invoke-direct {v0, v1}, Lcom/google/gson/stream/JsonReader;->isLiteral(C)Z
move-result v1
if-eqz v1, :cond_166
.line 512
const/16 v1, 0xe
iput v1, v0, Lcom/google/gson/stream/JsonReader;->peeked:I
return v1
.line 514
:cond_166
invoke-direct {v0, v4}, Lcom/google/gson/stream/JsonReader;->syntaxError(Ljava/lang/String;)Ljava/io/IOException;
move-result-object v1
throw v1
.line 503
:cond_16b
if-eq v3, v15, :cond_171
.line 504
const/4 v1, 0x2
iput v1, v0, Lcom/google/gson/stream/JsonReader;->peeked:I
return v1
.line 506
:cond_171
invoke-direct {v0, v4}, Lcom/google/gson/stream/JsonReader;->syntaxError(Ljava/lang/String;)Ljava/io/IOException;
move-result-object v1
throw v1
.line 500
:cond_176
invoke-direct/range {p0 .. p0}, Lcom/google/gson/stream/JsonReader;->checkLenient()V
.line 501
const/16 v1, 0xc
iput v1, v0, Lcom/google/gson/stream/JsonReader;->peeked:I
return v1
.line 498
:cond_17e
const/16 v1, 0xd
iput v1, v0, Lcom/google/gson/stream/JsonReader;->peeked:I
return v1
.end method
.method public endArray()V
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 360
iget v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 361
.local v0, "p":I
if-nez v0, :cond_8
.line 362
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->doPeek()I
move-result v0
.line 364
:cond_8
const/4 v1, 0x4
if-ne v0, v1, :cond_1f
.line 365
iget v1, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I
add-int/lit8 v1, v1, -0x1
iput v1, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I
.line 366
iget-object v2, p0, Lcom/google/gson/stream/JsonReader;->pathIndices:[I
add-int/lit8 v1, v1, -0x1
aget v3, v2, v1
add-int/lit8 v3, v3, 0x1
aput v3, v2, v1
.line 367
const/4 v1, 0x0
iput v1, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 371
return-void
.line 369
:cond_1f
new-instance v1, Ljava/lang/IllegalStateException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Expected END_ARRAY but was "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->peek()Lcom/google/gson/stream/JsonToken;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->locationString()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v1
.end method
.method public endObject()V
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 395
iget v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 396
.local v0, "p":I
if-nez v0, :cond_8
.line 397
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->doPeek()I
move-result v0
.line 399
:cond_8
const/4 v1, 0x2
if-ne v0, v1, :cond_24
.line 400
iget v1, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I
add-int/lit8 v1, v1, -0x1
iput v1, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I
.line 401
iget-object v2, p0, Lcom/google/gson/stream/JsonReader;->pathNames:[Ljava/lang/String;
const/4 v3, 0x0
aput-object v3, v2, v1
.line 402
iget-object v2, p0, Lcom/google/gson/stream/JsonReader;->pathIndices:[I
add-int/lit8 v1, v1, -0x1
aget v3, v2, v1
add-int/lit8 v3, v3, 0x1
aput v3, v2, v1
.line 403
const/4 v1, 0x0
iput v1, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 407
return-void
.line 405
:cond_24
new-instance v1, Ljava/lang/IllegalStateException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Expected END_OBJECT but was "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->peek()Lcom/google/gson/stream/JsonToken;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->locationString()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v1
.end method
.method public getPath()Ljava/lang/String;
.registers 6
.line 1464
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const/16 v1, 0x24
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
move-result-object v0
.line 1465
.local v0, "result":Ljava/lang/StringBuilder;
const/4 v1, 0x0
.local v1, "i":I
iget v2, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I
.local v2, "size":I
:goto_e
if-ge v1, v2, :cond_4a
.line 1466
iget-object v3, p0, Lcom/google/gson/stream/JsonReader;->stack:[I
aget v3, v3, v1
const/4 v4, 0x1
if-eq v3, v4, :cond_35
const/4 v4, 0x2
if-eq v3, v4, :cond_35
const/4 v4, 0x3
if-eq v3, v4, :cond_24
const/4 v4, 0x4
if-eq v3, v4, :cond_24
const/4 v4, 0x5
if-eq v3, v4, :cond_24
goto :goto_47
.line 1475
:cond_24
const/16 v3, 0x2e
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 1476
iget-object v3, p0, Lcom/google/gson/stream/JsonReader;->pathNames:[Ljava/lang/String;
aget-object v4, v3, v1
if-eqz v4, :cond_47
.line 1477
aget-object v3, v3, v1
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_47
.line 1469
:cond_35
const/16 v3, 0x5b
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
iget-object v3, p0, Lcom/google/gson/stream/JsonReader;->pathIndices:[I
aget v3, v3, v1
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const/16 v3, 0x5d
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 1470
nop
.line 1465
:cond_47
:goto_47
add-int/lit8 v1, v1, 0x1
goto :goto_e
.line 1487
.end local v1 # "i":I
.end local v2 # "size":I
:cond_4a
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
return-object v1
.end method
.method public hasNext()Z
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 413
iget v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 414
.local v0, "p":I
if-nez v0, :cond_8
.line 415
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->doPeek()I
move-result v0
.line 417
:cond_8
const/4 v1, 0x2
if-eq v0, v1, :cond_10
const/4 v1, 0x4
if-eq v0, v1, :cond_10
const/4 v1, 0x1
goto :goto_11
:cond_10
const/4 v1, 0x0
:goto_11
return v1
.end method
.method public final isLenient()Z
.registers 2
.line 334
iget-boolean v0, p0, Lcom/google/gson/stream/JsonReader;->lenient:Z
return v0
.end method
.method locationString()Ljava/lang/String;
.registers 5
.line 1454
iget v0, p0, Lcom/google/gson/stream/JsonReader;->lineNumber:I
add-int/lit8 v0, v0, 0x1
.line 1455
.local v0, "line":I
iget v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I
iget v2, p0, Lcom/google/gson/stream/JsonReader;->lineStart:I
sub-int/2addr v1, v2
add-int/lit8 v1, v1, 0x1
.line 1456
.local v1, "column":I
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, " at line "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v3, " column "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v3, " path "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->getPath()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
return-object v2
.end method
.method public nextBoolean()Z
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 841
iget v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 842
.local v0, "p":I
if-nez v0, :cond_8
.line 843
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->doPeek()I
move-result v0
.line 845
:cond_8
const/4 v1, 0x5
const/4 v2, 0x0
const/4 v3, 0x1
if-ne v0, v1, :cond_1a
.line 846
iput v2, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 847
iget-object v1, p0, Lcom/google/gson/stream/JsonReader;->pathIndices:[I
iget v2, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I
sub-int/2addr v2, v3
aget v4, v1, v2
add-int/2addr v4, v3
aput v4, v1, v2
.line 848
return v3
.line 849
:cond_1a
const/4 v1, 0x6
if-ne v0, v1, :cond_2a
.line 850
iput v2, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 851
iget-object v1, p0, Lcom/google/gson/stream/JsonReader;->pathIndices:[I
iget v4, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I
sub-int/2addr v4, v3
aget v5, v1, v4
add-int/2addr v5, v3
aput v5, v1, v4
.line 852
return v2
.line 854
:cond_2a
new-instance v1, Ljava/lang/IllegalStateException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Expected a boolean but was "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->peek()Lcom/google/gson/stream/JsonToken;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->locationString()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v1
.end method
.method public nextDouble()D
.registers 8
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 887
iget v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 888
.local v0, "p":I
if-nez v0, :cond_8
.line 889
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->doPeek()I
move-result v0
.line 892
:cond_8
const/16 v1, 0xf
const/4 v2, 0x0
if-ne v0, v1, :cond_1f
.line 893
iput v2, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 894
iget-object v1, p0, Lcom/google/gson/stream/JsonReader;->pathIndices:[I
iget v2, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I
add-int/lit8 v2, v2, -0x1
aget v3, v1, v2
add-int/lit8 v3, v3, 0x1
aput v3, v1, v2
.line 895
iget-wide v1, p0, Lcom/google/gson/stream/JsonReader;->peekedLong:J
long-to-double v1, v1
return-wide v1
.line 898
:cond_1f
const/16 v1, 0x10
const/16 v3, 0xb
if-ne v0, v1, :cond_3a
.line 899
new-instance v1, Ljava/lang/String;
iget-object v4, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C
iget v5, p0, Lcom/google/gson/stream/JsonReader;->pos:I
iget v6, p0, Lcom/google/gson/stream/JsonReader;->peekedNumberLength:I
invoke-direct {v1, v4, v5, v6}, Ljava/lang/String;-><init>([CII)V
iput-object v1, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String;
.line 900
iget v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I
iget v4, p0, Lcom/google/gson/stream/JsonReader;->peekedNumberLength:I
add-int/2addr v1, v4
iput v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I
goto :goto_80
.line 901
:cond_3a
const/16 v1, 0x8
if-eq v0, v1, :cond_73
const/16 v4, 0x9
if-ne v0, v4, :cond_43
goto :goto_73
.line 903
:cond_43
const/16 v1, 0xa
if-ne v0, v1, :cond_4e
.line 904
invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->nextUnquotedValue()Ljava/lang/String;
move-result-object v1
iput-object v1, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String;
goto :goto_80
.line 905
:cond_4e
if-ne v0, v3, :cond_51
goto :goto_80
.line 906
:cond_51
new-instance v1, Ljava/lang/IllegalStateException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Expected a double but was "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->peek()Lcom/google/gson/stream/JsonToken;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->locationString()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v1
.line 902
:cond_73
:goto_73
if-ne v0, v1, :cond_78
const/16 v1, 0x27
goto :goto_7a
:cond_78
const/16 v1, 0x22
:goto_7a
invoke-direct {p0, v1}, Lcom/google/gson/stream/JsonReader;->nextQuotedValue(C)Ljava/lang/String;
move-result-object v1
iput-object v1, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String;
.line 909
:goto_80
iput v3, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 910
iget-object v1, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String;
invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v3
.line 911
.local v3, "result":D
iget-boolean v1, p0, Lcom/google/gson/stream/JsonReader;->lenient:Z
if-nez v1, :cond_b7
invoke-static {v3, v4}, Ljava/lang/Double;->isNaN(D)Z
move-result v1
if-nez v1, :cond_99
invoke-static {v3, v4}, Ljava/lang/Double;->isInfinite(D)Z
move-result v1
if-nez v1, :cond_99
goto :goto_b7
.line 912
:cond_99
new-instance v1, Lcom/google/gson/stream/MalformedJsonException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "JSON forbids NaN and infinities: "
invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
.line 913
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->locationString()Ljava/lang/String;
move-result-object v5
invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Lcom/google/gson/stream/MalformedJsonException;-><init>(Ljava/lang/String;)V
throw v1
.line 915
:cond_b7
:goto_b7
const/4 v1, 0x0
iput-object v1, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String;
.line 916
iput v2, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 917
iget-object v1, p0, Lcom/google/gson/stream/JsonReader;->pathIndices:[I
iget v2, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I
add-int/lit8 v2, v2, -0x1
aget v5, v1, v2
add-int/lit8 v5, v5, 0x1
aput v5, v1, v2
.line 918
return-wide v3
.end method
.method public nextInt()I
.registers 10
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1164
iget v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 1165
.local v0, "p":I
if-nez v0, :cond_8
.line 1166
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->doPeek()I
move-result v0
.line 1170
:cond_8
const/16 v1, 0xf
const-string v2, "Expected an int but was "
const/4 v3, 0x0
if-ne v0, v1, :cond_44
.line 1171
iget-wide v4, p0, Lcom/google/gson/stream/JsonReader;->peekedLong:J
long-to-int v1, v4
.line 1172
.local v1, "result":I
int-to-long v6, v1
cmp-long v8, v4, v6
if-nez v8, :cond_26
.line 1175
iput v3, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 1176
iget-object v2, p0, Lcom/google/gson/stream/JsonReader;->pathIndices:[I
iget v3, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I
add-int/lit8 v3, v3, -0x1
aget v4, v2, v3
add-int/lit8 v4, v4, 0x1
aput v4, v2, v3
.line 1177
return v1
.line 1173
:cond_26
new-instance v3, Ljava/lang/NumberFormatException;
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-wide v5, p0, Lcom/google/gson/stream/JsonReader;->peekedLong:J
invoke-virtual {v4, v5, v6}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->locationString()Ljava/lang/String;
move-result-object v2
invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v3, v2}, Ljava/lang/NumberFormatException;-><init>(Ljava/lang/String;)V
throw v3
.line 1180
.end local v1 # "result":I
:cond_44
const/16 v1, 0x10
if-ne v0, v1, :cond_5d
.line 1181
new-instance v1, Ljava/lang/String;
iget-object v4, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C
iget v5, p0, Lcom/google/gson/stream/JsonReader;->pos:I
iget v6, p0, Lcom/google/gson/stream/JsonReader;->peekedNumberLength:I
invoke-direct {v1, v4, v5, v6}, Ljava/lang/String;-><init>([CII)V
iput-object v1, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String;
.line 1182
iget v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I
iget v4, p0, Lcom/google/gson/stream/JsonReader;->peekedNumberLength:I
add-int/2addr v1, v4
iput v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I
goto :goto_b7
.line 1183
:cond_5d
const/16 v1, 0xa
const/16 v4, 0x8
if-eq v0, v4, :cond_8a
const/16 v5, 0x9
if-eq v0, v5, :cond_8a
if-ne v0, v1, :cond_6a
goto :goto_8a
.line 1198
:cond_6a
new-instance v1, Ljava/lang/IllegalStateException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->peek()Lcom/google/gson/stream/JsonToken;
move-result-object v2
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->locationString()Ljava/lang/String;
move-result-object v2
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v1
.line 1184
:cond_8a
:goto_8a
if-ne v0, v1, :cond_93
.line 1185
invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->nextUnquotedValue()Ljava/lang/String;
move-result-object v1
iput-object v1, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String;
goto :goto_a0
.line 1187
:cond_93
if-ne v0, v4, :cond_98
const/16 v1, 0x27
goto :goto_9a
:cond_98
const/16 v1, 0x22
:goto_9a
invoke-direct {p0, v1}, Lcom/google/gson/stream/JsonReader;->nextQuotedValue(C)Ljava/lang/String;
move-result-object v1
iput-object v1, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String;
.line 1190
:goto_a0
:try_start_a0
iget-object v1, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String;
invoke-static {v1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v1
.line 1191
.restart local v1 # "result":I
iput v3, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 1192
iget-object v4, p0, Lcom/google/gson/stream/JsonReader;->pathIndices:[I
iget v5, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I
add-int/lit8 v5, v5, -0x1
aget v6, v4, v5
add-int/lit8 v6, v6, 0x1
aput v6, v4, v5
:try_end_b4
.catch Ljava/lang/NumberFormatException; {:try_start_a0 .. :try_end_b4} :catch_b5
.line 1193
return v1
.line 1194
.end local v1 # "result":I
:catch_b5
move-exception v1
.line 1196
nop
.line 1201
:goto_b7
const/16 v1, 0xb
iput v1, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 1202
iget-object v1, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String;
invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v4
.line 1203
.local v4, "asDouble":D
double-to-int v1, v4
.line 1204
.restart local v1 # "result":I
int-to-double v6, v1
cmpl-double v8, v6, v4
if-nez v8, :cond_d9
.line 1207
const/4 v2, 0x0
iput-object v2, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String;
.line 1208
iput v3, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 1209
iget-object v2, p0, Lcom/google/gson/stream/JsonReader;->pathIndices:[I
iget v3, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I
add-int/lit8 v3, v3, -0x1
aget v6, v2, v3
add-int/lit8 v6, v6, 0x1
aput v6, v2, v3
.line 1210
return v1
.line 1205
:cond_d9
new-instance v3, Ljava/lang/NumberFormatException;
new-instance v6, Ljava/lang/StringBuilder;
invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v6, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String;
invoke-virtual {v6, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->locationString()Ljava/lang/String;
move-result-object v2
invoke-virtual {v6, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v3, v2}, Ljava/lang/NumberFormatException;-><init>(Ljava/lang/String;)V
throw v3
.end method
.method public nextLong()J
.registers 11
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 932
iget v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 933
.local v0, "p":I
if-nez v0, :cond_8
.line 934
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->doPeek()I
move-result v0
.line 937
:cond_8
const/16 v1, 0xf
const/4 v2, 0x0
if-ne v0, v1, :cond_1e
.line 938
iput v2, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 939
iget-object v1, p0, Lcom/google/gson/stream/JsonReader;->pathIndices:[I
iget v2, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I
add-int/lit8 v2, v2, -0x1
aget v3, v1, v2
add-int/lit8 v3, v3, 0x1
aput v3, v1, v2
.line 940
iget-wide v1, p0, Lcom/google/gson/stream/JsonReader;->peekedLong:J
return-wide v1
.line 943
:cond_1e
const/16 v1, 0x10
const-string v3, "Expected a long but was "
if-ne v0, v1, :cond_39
.line 944
new-instance v1, Ljava/lang/String;
iget-object v4, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C
iget v5, p0, Lcom/google/gson/stream/JsonReader;->pos:I
iget v6, p0, Lcom/google/gson/stream/JsonReader;->peekedNumberLength:I
invoke-direct {v1, v4, v5, v6}, Ljava/lang/String;-><init>([CII)V
iput-object v1, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String;
.line 945
iget v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I
iget v4, p0, Lcom/google/gson/stream/JsonReader;->peekedNumberLength:I
add-int/2addr v1, v4
iput v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I
goto :goto_93
.line 946
:cond_39
const/16 v1, 0xa
const/16 v4, 0x8
if-eq v0, v4, :cond_66
const/16 v5, 0x9
if-eq v0, v5, :cond_66
if-ne v0, v1, :cond_46
goto :goto_66
.line 961
:cond_46
new-instance v1, Ljava/lang/IllegalStateException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->peek()Lcom/google/gson/stream/JsonToken;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->locationString()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v1
.line 947
:cond_66
:goto_66
if-ne v0, v1, :cond_6f
.line 948
invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->nextUnquotedValue()Ljava/lang/String;
move-result-object v1
iput-object v1, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String;
goto :goto_7c
.line 950
:cond_6f
if-ne v0, v4, :cond_74
const/16 v1, 0x27
goto :goto_76
:cond_74
const/16 v1, 0x22
:goto_76
invoke-direct {p0, v1}, Lcom/google/gson/stream/JsonReader;->nextQuotedValue(C)Ljava/lang/String;
move-result-object v1
iput-object v1, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String;
.line 953
:goto_7c
:try_start_7c
iget-object v1, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String;
invoke-static {v1}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v4
.line 954
.local v4, "result":J
iput v2, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 955
iget-object v1, p0, Lcom/google/gson/stream/JsonReader;->pathIndices:[I
iget v6, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I
add-int/lit8 v6, v6, -0x1
aget v7, v1, v6
add-int/lit8 v7, v7, 0x1
aput v7, v1, v6
:try_end_90
.catch Ljava/lang/NumberFormatException; {:try_start_7c .. :try_end_90} :catch_91
.line 956
return-wide v4
.line 957
.end local v4 # "result":J
:catch_91
move-exception v1
.line 959
nop
.line 964
:goto_93
const/16 v1, 0xb
iput v1, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 965
iget-object v1, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String;
invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v4
.line 966
.local v4, "asDouble":D
double-to-long v6, v4
.line 967
.local v6, "result":J
long-to-double v8, v6
cmpl-double v1, v8, v4
if-nez v1, :cond_b5
.line 970
const/4 v1, 0x0
iput-object v1, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String;
.line 971
iput v2, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 972
iget-object v1, p0, Lcom/google/gson/stream/JsonReader;->pathIndices:[I
iget v2, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I
add-int/lit8 v2, v2, -0x1
aget v3, v1, v2
add-int/lit8 v3, v3, 0x1
aput v3, v1, v2
.line 973
return-wide v6
.line 968
:cond_b5
new-instance v1, Ljava/lang/NumberFormatException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v3, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String;
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->locationString()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/lang/NumberFormatException;-><init>(Ljava/lang/String;)V
throw v1
.end method
.method public nextName()Ljava/lang/String;
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 778
iget v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 779
.local v0, "p":I
if-nez v0, :cond_8
.line 780
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->doPeek()I
move-result v0
.line 783
:cond_8
const/16 v1, 0xe
if-ne v0, v1, :cond_11
.line 784
invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->nextUnquotedValue()Ljava/lang/String;
move-result-object v1
.local v1, "result":Ljava/lang/String;
goto :goto_26
.line 785
.end local v1 # "result":Ljava/lang/String;
:cond_11
const/16 v1, 0xc
if-ne v0, v1, :cond_1c
.line 786
const/16 v1, 0x27
invoke-direct {p0, v1}, Lcom/google/gson/stream/JsonReader;->nextQuotedValue(C)Ljava/lang/String;
move-result-object v1
.restart local v1 # "result":Ljava/lang/String;
goto :goto_26
.line 787
.end local v1 # "result":Ljava/lang/String;
:cond_1c
const/16 v1, 0xd
if-ne v0, v1, :cond_32
.line 788
const/16 v1, 0x22
invoke-direct {p0, v1}, Lcom/google/gson/stream/JsonReader;->nextQuotedValue(C)Ljava/lang/String;
move-result-object v1
.line 792
.restart local v1 # "result":Ljava/lang/String;
:goto_26
const/4 v2, 0x0
iput v2, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 793
iget-object v2, p0, Lcom/google/gson/stream/JsonReader;->pathNames:[Ljava/lang/String;
iget v3, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I
add-int/lit8 v3, v3, -0x1
aput-object v1, v2, v3
.line 794
return-object v1
.line 790
.end local v1 # "result":Ljava/lang/String;
:cond_32
new-instance v1, Ljava/lang/IllegalStateException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Expected a name but was "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->peek()Lcom/google/gson/stream/JsonToken;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->locationString()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v1
.end method
.method public nextNull()V
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 865
iget v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 866
.local v0, "p":I
if-nez v0, :cond_8
.line 867
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->doPeek()I
move-result v0
.line 869
:cond_8
const/4 v1, 0x7
if-ne v0, v1, :cond_1b
.line 870
const/4 v1, 0x0
iput v1, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 871
iget-object v1, p0, Lcom/google/gson/stream/JsonReader;->pathIndices:[I
iget v2, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I
add-int/lit8 v2, v2, -0x1
aget v3, v1, v2
add-int/lit8 v3, v3, 0x1
aput v3, v1, v2
.line 875
return-void
.line 873
:cond_1b
new-instance v1, Ljava/lang/IllegalStateException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Expected null but was "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->peek()Lcom/google/gson/stream/JsonToken;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->locationString()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v1
.end method
.method public nextString()Ljava/lang/String;
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 806
iget v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 807
.local v0, "p":I
if-nez v0, :cond_8
.line 808
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->doPeek()I
move-result v0
.line 811
:cond_8
const/16 v1, 0xa
if-ne v0, v1, :cond_11
.line 812
invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->nextUnquotedValue()Ljava/lang/String;
move-result-object v1
.local v1, "result":Ljava/lang/String;
goto :goto_52
.line 813
.end local v1 # "result":Ljava/lang/String;
:cond_11
const/16 v1, 0x8
if-ne v0, v1, :cond_1c
.line 814
const/16 v1, 0x27
invoke-direct {p0, v1}, Lcom/google/gson/stream/JsonReader;->nextQuotedValue(C)Ljava/lang/String;
move-result-object v1
.restart local v1 # "result":Ljava/lang/String;
goto :goto_52
.line 815
.end local v1 # "result":Ljava/lang/String;
:cond_1c
const/16 v1, 0x9
if-ne v0, v1, :cond_27
.line 816
const/16 v1, 0x22
invoke-direct {p0, v1}, Lcom/google/gson/stream/JsonReader;->nextQuotedValue(C)Ljava/lang/String;
move-result-object v1
.restart local v1 # "result":Ljava/lang/String;
goto :goto_52
.line 817
.end local v1 # "result":Ljava/lang/String;
:cond_27
const/16 v1, 0xb
if-ne v0, v1, :cond_31
.line 818
iget-object v1, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String;
.line 819
.restart local v1 # "result":Ljava/lang/String;
const/4 v2, 0x0
iput-object v2, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String;
goto :goto_52
.line 820
.end local v1 # "result":Ljava/lang/String;
:cond_31
const/16 v1, 0xf
if-ne v0, v1, :cond_3c
.line 821
iget-wide v1, p0, Lcom/google/gson/stream/JsonReader;->peekedLong:J
invoke-static {v1, v2}, Ljava/lang/Long;->toString(J)Ljava/lang/String;
move-result-object v1
.restart local v1 # "result":Ljava/lang/String;
goto :goto_52
.line 822
.end local v1 # "result":Ljava/lang/String;
:cond_3c
const/16 v1, 0x10
if-ne v0, v1, :cond_62
.line 823
new-instance v1, Ljava/lang/String;
iget-object v2, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C
iget v3, p0, Lcom/google/gson/stream/JsonReader;->pos:I
iget v4, p0, Lcom/google/gson/stream/JsonReader;->peekedNumberLength:I
invoke-direct {v1, v2, v3, v4}, Ljava/lang/String;-><init>([CII)V
.line 824
.restart local v1 # "result":Ljava/lang/String;
iget v2, p0, Lcom/google/gson/stream/JsonReader;->pos:I
iget v3, p0, Lcom/google/gson/stream/JsonReader;->peekedNumberLength:I
add-int/2addr v2, v3
iput v2, p0, Lcom/google/gson/stream/JsonReader;->pos:I
.line 828
:goto_52
const/4 v2, 0x0
iput v2, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 829
iget-object v2, p0, Lcom/google/gson/stream/JsonReader;->pathIndices:[I
iget v3, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I
add-int/lit8 v3, v3, -0x1
aget v4, v2, v3
add-int/lit8 v4, v4, 0x1
aput v4, v2, v3
.line 830
return-object v1
.line 826
.end local v1 # "result":Ljava/lang/String;
:cond_62
new-instance v1, Ljava/lang/IllegalStateException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Expected a string but was "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->peek()Lcom/google/gson/stream/JsonToken;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->locationString()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v1
.end method
.method public peek()Lcom/google/gson/stream/JsonToken;
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 424
iget v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 425
.local v0, "p":I
if-nez v0, :cond_8
.line 426
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->doPeek()I
move-result v0
.line 429
:cond_8
packed-switch v0, :pswitch_data_30
.line 458
new-instance v1, Ljava/lang/AssertionError;
invoke-direct {v1}, Ljava/lang/AssertionError;-><init>()V
throw v1
.line 456
:pswitch_11
sget-object v1, Lcom/google/gson/stream/JsonToken;->END_DOCUMENT:Lcom/google/gson/stream/JsonToken;
return-object v1
.line 454
:pswitch_14
sget-object v1, Lcom/google/gson/stream/JsonToken;->NUMBER:Lcom/google/gson/stream/JsonToken;
return-object v1
.line 441
:pswitch_17
sget-object v1, Lcom/google/gson/stream/JsonToken;->NAME:Lcom/google/gson/stream/JsonToken;
return-object v1
.line 451
:pswitch_1a
sget-object v1, Lcom/google/gson/stream/JsonToken;->STRING:Lcom/google/gson/stream/JsonToken;
return-object v1
.line 446
:pswitch_1d
sget-object v1, Lcom/google/gson/stream/JsonToken;->NULL:Lcom/google/gson/stream/JsonToken;
return-object v1
.line 444
:pswitch_20
sget-object v1, Lcom/google/gson/stream/JsonToken;->BOOLEAN:Lcom/google/gson/stream/JsonToken;
return-object v1
.line 437
:pswitch_23
sget-object v1, Lcom/google/gson/stream/JsonToken;->END_ARRAY:Lcom/google/gson/stream/JsonToken;
return-object v1
.line 435
:pswitch_26
sget-object v1, Lcom/google/gson/stream/JsonToken;->BEGIN_ARRAY:Lcom/google/gson/stream/JsonToken;
return-object v1
.line 433
:pswitch_29
sget-object v1, Lcom/google/gson/stream/JsonToken;->END_OBJECT:Lcom/google/gson/stream/JsonToken;
return-object v1
.line 431
:pswitch_2c
sget-object v1, Lcom/google/gson/stream/JsonToken;->BEGIN_OBJECT:Lcom/google/gson/stream/JsonToken;
return-object v1
nop
:pswitch_data_30
.packed-switch 0x1
:pswitch_2c
:pswitch_29
:pswitch_26
:pswitch_23
:pswitch_20
:pswitch_20
:pswitch_1d
:pswitch_1a
:pswitch_1a
:pswitch_1a
:pswitch_1a
:pswitch_17
:pswitch_17
:pswitch_17
:pswitch_14
:pswitch_14
:pswitch_11
.end packed-switch
.end method
.method public final setLenient(Z)V
.registers 2
.param p1, "lenient" # Z
.line 327
iput-boolean p1, p0, Lcom/google/gson/stream/JsonReader;->lenient:Z
.line 328
return-void
.end method
.method public skipValue()V
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1229
const/4 v0, 0x0
.line 1231
.local v0, "count":I
:goto_1
iget v1, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 1232
.local v1, "p":I
if-nez v1, :cond_9
.line 1233
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->doPeek()I
move-result v1
.line 1236
:cond_9
const/4 v2, 0x3
const/4 v3, 0x1
if-ne v1, v2, :cond_13
.line 1237
invoke-direct {p0, v3}, Lcom/google/gson/stream/JsonReader;->push(I)V
.line 1238
add-int/lit8 v0, v0, 0x1
goto :goto_67
.line 1239
:cond_13
if-ne v1, v3, :cond_1b
.line 1240
invoke-direct {p0, v2}, Lcom/google/gson/stream/JsonReader;->push(I)V
.line 1241
add-int/lit8 v0, v0, 0x1
goto :goto_67
.line 1242
:cond_1b
const/4 v2, 0x4
if-ne v1, v2, :cond_26
.line 1243
iget v2, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I
sub-int/2addr v2, v3
iput v2, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I
.line 1244
add-int/lit8 v0, v0, -0x1
goto :goto_67
.line 1245
:cond_26
const/4 v2, 0x2
if-ne v1, v2, :cond_31
.line 1246
iget v2, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I
sub-int/2addr v2, v3
iput v2, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I
.line 1247
add-int/lit8 v0, v0, -0x1
goto :goto_67
.line 1248
:cond_31
const/16 v2, 0xe
if-eq v1, v2, :cond_64
const/16 v2, 0xa
if-ne v1, v2, :cond_3a
goto :goto_64
.line 1250
:cond_3a
const/16 v2, 0x8
if-eq v1, v2, :cond_5e
const/16 v2, 0xc
if-ne v1, v2, :cond_43
goto :goto_5e
.line 1252
:cond_43
const/16 v2, 0x9
if-eq v1, v2, :cond_58
const/16 v2, 0xd
if-ne v1, v2, :cond_4c
goto :goto_58
.line 1254
:cond_4c
const/16 v2, 0x10
if-ne v1, v2, :cond_67
.line 1255
iget v2, p0, Lcom/google/gson/stream/JsonReader;->pos:I
iget v4, p0, Lcom/google/gson/stream/JsonReader;->peekedNumberLength:I
add-int/2addr v2, v4
iput v2, p0, Lcom/google/gson/stream/JsonReader;->pos:I
goto :goto_67
.line 1253
:cond_58
:goto_58
const/16 v2, 0x22
invoke-direct {p0, v2}, Lcom/google/gson/stream/JsonReader;->skipQuotedValue(C)V
goto :goto_67
.line 1251
:cond_5e
:goto_5e
const/16 v2, 0x27
invoke-direct {p0, v2}, Lcom/google/gson/stream/JsonReader;->skipQuotedValue(C)V
goto :goto_67
.line 1249
:cond_64
:goto_64
invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->skipUnquotedValue()V
.line 1257
:cond_67
:goto_67
const/4 v2, 0x0
iput v2, p0, Lcom/google/gson/stream/JsonReader;->peeked:I
.line 1258
.end local v1 # "p":I
if-nez v0, :cond_7f
.line 1260
iget-object v1, p0, Lcom/google/gson/stream/JsonReader;->pathIndices:[I
iget v2, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I
add-int/lit8 v4, v2, -0x1
aget v5, v1, v4
add-int/2addr v5, v3
aput v5, v1, v4
.line 1261
iget-object v1, p0, Lcom/google/gson/stream/JsonReader;->pathNames:[Ljava/lang/String;
sub-int/2addr v2, v3
const-string v3, "null"
aput-object v3, v1, v2
.line 1262
return-void
.line 1258
:cond_7f
goto :goto_1
.end method
.method public toString()Ljava/lang/String;
.registers 3
.line 1450
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->locationString()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
return-object v0
.end method