.class public Lcom/google/gson/stream/JsonReader; .super Ljava/lang/Object; .source "JsonReader.java" # interfaces .implements Ljava/io/Closeable; # static fields .field static final BUFFER_SIZE:I = 0x400 .field private static final MIN_INCOMPLETE_INTEGER:J = -0xcccccccccccccccL .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 ()V .registers 1 .line 1685 new-instance v0, Lcom/google/gson/stream/JsonReader$1; invoke-direct {v0}, Lcom/google/gson/stream/JsonReader$1;->()V sput-object v0, Lcom/google/gson/internal/JsonReaderInternalAccess;->INSTANCE:Lcom/google/gson/internal/JsonReaderInternalAccess; return-void .end method .method public constructor (Ljava/io/Reader;)V .registers 6 .line 290 invoke-direct {p0}, Ljava/lang/Object;->()V const/4 v0, 0x0 .line 230 iput-boolean v0, p0, Lcom/google/gson/stream/JsonReader;->lenient:Z const/16 v1, 0x400 .line 239 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 const/16 v1, 0x20 .line 270 new-array v2, v1, [I iput-object v2, p0, Lcom/google/gson/stream/JsonReader;->stack:[I const/4 v3, 0x1 .line 273 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 const-string v0, "in == null" invoke-static {p1, v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; move-result-object p1 check-cast p1, Ljava/io/Reader; iput-object p1, p0, Lcom/google/gson/stream/JsonReader;->in:Ljava/io/Reader; return-void .end method .method private checkLenient()V .registers 2 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 1464 iget-boolean v0, p0, Lcom/google/gson/stream/JsonReader;->lenient:Z if-eqz v0, :cond_5 return-void .line 1465 :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 6 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation const/4 v0, 0x1 .line 1667 invoke-direct {p0, v0}, Lcom/google/gson/stream/JsonReader;->nextNonWhitespace(Z)I .line 1668 iget v0, p0, Lcom/google/gson/stream/JsonReader;->pos:I add-int/lit8 v1, v0, -0x1 iput v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I add-int/lit8 v0, v0, 0x4 .line 1670 iget v1, p0, Lcom/google/gson/stream/JsonReader;->limit:I const/4 v2, 0x5 if-le v0, v1, :cond_18 invoke-direct {p0, v2}, Lcom/google/gson/stream/JsonReader;->fillBuffer(I)Z move-result v0 if-nez v0, :cond_18 return-void .line 1674 :cond_18 iget v0, p0, Lcom/google/gson/stream/JsonReader;->pos:I .line 1675 iget-object v1, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C .line 1676 aget-char v3, v1, v0 const/16 v4, 0x29 if-ne v3, v4, :cond_46 add-int/lit8 v3, v0, 0x1 aget-char v3, v1, v3 const/16 v4, 0x5d if-ne v3, v4, :cond_46 add-int/lit8 v3, v0, 0x2 aget-char v3, v1, v3 const/16 v4, 0x7d if-ne v3, v4, :cond_46 add-int/lit8 v3, v0, 0x3 aget-char v3, v1, v3 const/16 v4, 0x27 if-ne v3, v4, :cond_46 add-int/lit8 v3, v0, 0x4 aget-char v1, v1, v3 const/16 v3, 0xa if-eq v1, v3, :cond_43 goto :goto_46 :cond_43 add-int/2addr v0, v2 .line 1681 iput v0, p0, Lcom/google/gson/stream/JsonReader;->pos:I :cond_46 :goto_46 return-void .end method .method private fillBuffer(I)Z .registers 9 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 1340 iget-object v0, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C .line 1341 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 1342 iget v1, p0, Lcom/google/gson/stream/JsonReader;->limit:I const/4 v3, 0x0 if-eq v1, v2, :cond_15 sub-int/2addr v1, v2 .line 1343 iput v1, p0, Lcom/google/gson/stream/JsonReader;->limit:I .line 1344 invoke-static {v0, v2, v0, v3, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V goto :goto_17 .line 1346 :cond_15 iput v3, p0, Lcom/google/gson/stream/JsonReader;->limit:I .line 1349 :goto_17 iput v3, p0, Lcom/google/gson/stream/JsonReader;->pos:I .line 1351 :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 const/4 v2, -0x1 if-eq v1, v2, :cond_4b .line 1352 iget v2, p0, Lcom/google/gson/stream/JsonReader;->limit:I add-int/2addr v2, v1 iput v2, p0, Lcom/google/gson/stream/JsonReader;->limit:I .line 1355 iget v1, p0, Lcom/google/gson/stream/JsonReader;->lineNumber:I const/4 v4, 0x1 if-nez v1, :cond_48 iget v1, p0, Lcom/google/gson/stream/JsonReader;->lineStart:I if-nez v1, :cond_48 if-lez v2, :cond_48 aget-char v5, v0, v3 const v6, 0xfeff if-ne v5, v6, :cond_48 .line 1356 iget v5, p0, Lcom/google/gson/stream/JsonReader;->pos:I add-int/2addr v5, v4 iput v5, p0, Lcom/google/gson/stream/JsonReader;->pos:I add-int/lit8 v1, v1, 0x1 .line 1357 iput v1, p0, Lcom/google/gson/stream/JsonReader;->lineStart:I add-int/lit8 p1, p1, 0x1 :cond_48 if-lt v2, p1, :cond_19 return v4 :cond_4b return v3 .end method .method private getPath(Z)Ljava/lang/String; .registers 7 .line 1520 new-instance v0, Ljava/lang/StringBuilder; const-string v1, "$" invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V const/4 v1, 0x0 .line 1521 :goto_8 iget v2, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I if-ge v1, v2, :cond_4f .line 1522 iget-object v3, p0, Lcom/google/gson/stream/JsonReader;->stack:[I aget v3, v3, v1 const/4 v4, 0x1 if-eq v3, v4, :cond_2f const/4 v4, 0x2 if-eq v3, v4, :cond_2f const/4 v2, 0x3 if-eq v3, v2, :cond_20 const/4 v2, 0x4 if-eq v3, v2, :cond_20 const/4 v2, 0x5 if-eq v3, v2, :cond_20 goto :goto_4c :cond_20 const/16 v2, 0x2e .line 1535 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; .line 1536 iget-object v2, p0, Lcom/google/gson/stream/JsonReader;->pathNames:[Ljava/lang/String; aget-object v2, v2, v1 if-eqz v2, :cond_4c .line 1537 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; goto :goto_4c .line 1525 :cond_2f iget-object v3, p0, Lcom/google/gson/stream/JsonReader;->pathIndices:[I aget v3, v3, v1 if-eqz p1, :cond_3d if-lez v3, :cond_3d add-int/lit8 v2, v2, -0x1 if-ne v1, v2, :cond_3d add-int/lit8 v3, v3, -0x1 :cond_3d const/16 v2, 0x5b .line 1530 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; move-result-object v2 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v2 const/16 v3, 0x5d invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; :cond_4c :goto_4c add-int/lit8 v1, v1, 0x1 goto :goto_8 .line 1546 :cond_4f invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 return-object p1 .end method .method private isLiteral(C)Z .registers 3 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation 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 const/4 p1, 0x1 return p1 .line 763 :cond_39 :pswitch_39 invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->checkLenient()V :cond_3c :pswitch_3c const/4 p1, 0x0 return p1 :pswitch_data_3e .packed-switch 0x5b :pswitch_3c :pswitch_39 :pswitch_3c .end packed-switch .end method .method private nextNonWhitespace(Z)I .registers 10 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 1383 iget-object v0, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C .line 1384 iget v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I .line 1385 iget v2, p0, Lcom/google/gson/stream/JsonReader;->limit:I :goto_6 const/4 v3, 0x1 if-ne v1, v2, :cond_32 .line 1388 iput v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I .line 1389 invoke-direct {p0, v3}, Lcom/google/gson/stream/JsonReader;->fillBuffer(I)Z move-result v1 if-nez v1, :cond_2e if-nez p1, :cond_15 const/4 p1, -0x1 return p1 .line 1457 :cond_15 new-instance p1, Ljava/io/EOFException; new-instance v0, Ljava/lang/StringBuilder; const-string v1, "End of input" invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V 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; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {p1, v0}, Ljava/io/EOFException;->(Ljava/lang/String;)V throw p1 .line 1392 :cond_2e iget v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I .line 1393 iget v2, p0, Lcom/google/gson/stream/JsonReader;->limit:I :cond_32 add-int/lit8 v4, v1, 0x1 .line 1396 aget-char v5, v0, v1 const/16 v6, 0xa if-ne v5, v6, :cond_43 .line 1398 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 1399 iput v4, p0, Lcom/google/gson/stream/JsonReader;->lineStart:I goto/16 :goto_b0 :cond_43 const/16 v6, 0x20 if-eq v5, v6, :cond_b0 const/16 v6, 0xd if-eq v5, v6, :cond_b0 const/16 v6, 0x9 if-ne v5, v6, :cond_50 goto :goto_b0 :cond_50 const/16 v6, 0x2f if-ne v5, v6, :cond_9b .line 1406 iput v4, p0, Lcom/google/gson/stream/JsonReader;->pos:I const/4 v7, 0x2 if-ne v4, v2, :cond_67 .line 1408 iput v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I .line 1409 invoke-direct {p0, v7}, Lcom/google/gson/stream/JsonReader;->fillBuffer(I)Z move-result v1 .line 1410 iget v2, p0, Lcom/google/gson/stream/JsonReader;->pos:I add-int/2addr v2, v3 iput v2, p0, Lcom/google/gson/stream/JsonReader;->pos:I if-nez v1, :cond_67 return v5 .line 1416 :cond_67 invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->checkLenient()V .line 1417 iget v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I aget-char v2, v0, v1 const/16 v3, 0x2a if-eq v2, v3, :cond_81 if-eq v2, v6, :cond_75 return v5 :cond_75 add-int/lit8 v1, v1, 0x1 .line 1431 iput v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I .line 1432 invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->skipToEndOfLine()V .line 1433 iget v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I .line 1434 iget v2, p0, Lcom/google/gson/stream/JsonReader;->limit:I goto :goto_6 :cond_81 add-int/lit8 v1, v1, 0x1 .line 1421 iput v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I .line 1422 const-string v1, "*/" invoke-direct {p0, v1}, Lcom/google/gson/stream/JsonReader;->skipTo(Ljava/lang/String;)Z move-result v1 if-eqz v1, :cond_94 .line 1425 iget v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I add-int/2addr v1, v7 .line 1426 iget v2, p0, Lcom/google/gson/stream/JsonReader;->limit:I goto/16 :goto_6 .line 1423 :cond_94 const-string p1, "Unterminated comment" invoke-direct {p0, p1}, Lcom/google/gson/stream/JsonReader;->syntaxError(Ljava/lang/String;)Ljava/io/IOException; move-result-object p1 throw p1 :cond_9b const/16 v1, 0x23 if-ne v5, v1, :cond_ad .line 1441 iput v4, p0, Lcom/google/gson/stream/JsonReader;->pos:I .line 1447 invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->checkLenient()V .line 1448 invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->skipToEndOfLine()V .line 1449 iget v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I .line 1450 iget v2, p0, Lcom/google/gson/stream/JsonReader;->limit:I goto/16 :goto_6 .line 1452 :cond_ad iput v4, p0, Lcom/google/gson/stream/JsonReader;->pos:I return v5 :cond_b0 :goto_b0 move v1, v4 goto/16 :goto_6 .end method .method private nextQuotedValue(C)Ljava/lang/String; .registers 11 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 1000 iget-object v0, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C const/4 v1, 0x0 .line 1003 :goto_3 iget v2, p0, Lcom/google/gson/stream/JsonReader;->pos:I .line 1004 iget v3, p0, Lcom/google/gson/stream/JsonReader;->limit:I :goto_7 move v4, v3 move v3, v2 :goto_9 const/16 v5, 0x10 const/4 v6, 0x1 if-ge v2, v4, :cond_5a add-int/lit8 v7, v2, 0x1 .line 1008 aget-char v2, v0, v2 if-ne v2, p1, :cond_28 .line 1011 iput v7, p0, Lcom/google/gson/stream/JsonReader;->pos:I sub-int/2addr v7, v3 sub-int/2addr v7, v6 if-nez v1, :cond_20 .line 1014 new-instance p1, Ljava/lang/String; invoke-direct {p1, v0, v3, v7}, Ljava/lang/String;->([CII)V return-object p1 .line 1016 :cond_20 invoke-virtual {v1, v0, v3, v7}, Ljava/lang/StringBuilder;->append([CII)Ljava/lang/StringBuilder; .line 1017 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 return-object p1 :cond_28 const/16 v8, 0x5c if-ne v2, v8, :cond_4d .line 1020 iput v7, p0, Lcom/google/gson/stream/JsonReader;->pos:I sub-int/2addr v7, v3 add-int/lit8 v2, v7, -0x1 if-nez v1, :cond_3e mul-int/lit8 v7, v7, 0x2 .line 1024 new-instance v1, Ljava/lang/StringBuilder; invoke-static {v7, v5}, Ljava/lang/Math;->max(II)I move-result v4 invoke-direct {v1, v4}, Ljava/lang/StringBuilder;->(I)V .line 1026 :cond_3e invoke-virtual {v1, v0, v3, v2}, Ljava/lang/StringBuilder;->append([CII)Ljava/lang/StringBuilder; .line 1027 invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->readEscapeCharacter()C move-result v2 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; .line 1028 iget v2, p0, Lcom/google/gson/stream/JsonReader;->pos:I .line 1029 iget v3, p0, Lcom/google/gson/stream/JsonReader;->limit:I goto :goto_7 :cond_4d const/16 v5, 0xa if-ne v2, v5, :cond_58 .line 1032 iget v2, p0, Lcom/google/gson/stream/JsonReader;->lineNumber:I add-int/2addr v2, v6 iput v2, p0, Lcom/google/gson/stream/JsonReader;->lineNumber:I .line 1033 iput v7, p0, Lcom/google/gson/stream/JsonReader;->lineStart:I :cond_58 move v2, v7 goto :goto_9 :cond_5a if-nez v1, :cond_6a sub-int v1, v2, v3 mul-int/lit8 v1, v1, 0x2 .line 1039 new-instance v4, Ljava/lang/StringBuilder; invoke-static {v1, v5}, Ljava/lang/Math;->max(II)I move-result v1 invoke-direct {v4, v1}, Ljava/lang/StringBuilder;->(I)V move-object v1, v4 :cond_6a sub-int v4, v2, v3 .line 1041 invoke-virtual {v1, v0, v3, v4}, Ljava/lang/StringBuilder;->append([CII)Ljava/lang/StringBuilder; .line 1042 iput v2, p0, Lcom/google/gson/stream/JsonReader;->pos:I .line 1043 invoke-direct {p0, v6}, Lcom/google/gson/stream/JsonReader;->fillBuffer(I)Z move-result v2 if-eqz v2, :cond_78 goto :goto_3 .line 1044 :cond_78 const-string p1, "Unterminated string" invoke-direct {p0, p1}, Lcom/google/gson/stream/JsonReader;->syntaxError(Ljava/lang/String;)Ljava/io/IOException; move-result-object p1 throw p1 .end method .method private nextUnquotedValue()Ljava/lang/String; .registers 7 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation const/4 v0, 0x0 const/4 v1, 0x0 :cond_2 move v2, v1 .line 1059 :goto_3 iget v3, p0, Lcom/google/gson/stream/JsonReader;->pos:I add-int v4, v3, v2 iget v5, p0, Lcom/google/gson/stream/JsonReader;->limit:I if-ge v4, v5, :cond_4e .line 1060 iget-object v4, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C add-int/2addr v3, v2 aget-char v3, v4, v3 const/16 v4, 0x9 if-eq v3, v4, :cond_5c const/16 v4, 0xa if-eq v3, v4, :cond_5c const/16 v4, 0xc if-eq v3, v4, :cond_5c const/16 v4, 0xd if-eq v3, v4, :cond_5c const/16 v4, 0x20 if-eq v3, v4, :cond_5c const/16 v4, 0x23 if-eq v3, v4, :cond_4a const/16 v4, 0x2c if-eq v3, v4, :cond_5c const/16 v4, 0x2f if-eq v3, v4, :cond_4a const/16 v4, 0x3d if-eq v3, v4, :cond_4a const/16 v4, 0x7b if-eq v3, v4, :cond_5c const/16 v4, 0x7d if-eq v3, v4, :cond_5c const/16 v4, 0x3a if-eq v3, v4, :cond_5c const/16 v4, 0x3b if-eq v3, v4, :cond_4a packed-switch v3, :pswitch_data_9c add-int/lit8 v2, v2, 0x1 goto :goto_3 .line 1066 :cond_4a :pswitch_4a invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->checkLenient()V goto :goto_5c .line 1083 :cond_4e iget-object v3, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C array-length v3, v3 if-ge v2, v3, :cond_5e add-int/lit8 v3, v2, 0x1 .line 1084 invoke-direct {p0, v3}, Lcom/google/gson/stream/JsonReader;->fillBuffer(I)Z move-result v3 if-eqz v3, :cond_5c goto :goto_3 :cond_5c :goto_5c :pswitch_5c move v1, v2 goto :goto_7e :cond_5e if-nez v0, :cond_6b .line 1093 new-instance v0, Ljava/lang/StringBuilder; const/16 v3, 0x10 invoke-static {v2, v3}, Ljava/lang/Math;->max(II)I move-result v3 invoke-direct {v0, v3}, Ljava/lang/StringBuilder;->(I)V .line 1095 :cond_6b iget-object v3, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C iget v4, p0, Lcom/google/gson/stream/JsonReader;->pos:I invoke-virtual {v0, v3, v4, v2}, Ljava/lang/StringBuilder;->append([CII)Ljava/lang/StringBuilder; .line 1096 iget v3, p0, Lcom/google/gson/stream/JsonReader;->pos:I add-int/2addr v3, v2 iput v3, p0, Lcom/google/gson/stream/JsonReader;->pos:I const/4 v2, 0x1 .line 1098 invoke-direct {p0, v2}, Lcom/google/gson/stream/JsonReader;->fillBuffer(I)Z move-result v2 if-nez v2, :cond_2 :goto_7e if-nez v0, :cond_8a .line 1103 new-instance v0, Ljava/lang/String; iget-object v2, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C iget v3, p0, Lcom/google/gson/stream/JsonReader;->pos:I invoke-direct {v0, v2, v3, v1}, Ljava/lang/String;->([CII)V goto :goto_96 :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; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 .line 1104 :goto_96 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 return-object v0 :pswitch_data_9c .packed-switch 0x5b :pswitch_5c :pswitch_4a :pswitch_5c .end packed-switch .end method .method private peekKeyword()I .registers 9 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 608 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 const/16 v1, 0x74 const/4 v2, 0x0 if-eq v0, v1, :cond_2f const/16 v1, 0x54 if-ne v0, v1, :cond_10 goto :goto_2f :cond_10 const/16 v1, 0x66 if-eq v0, v1, :cond_29 const/16 v1, 0x46 if-ne v0, v1, :cond_19 goto :goto_29 :cond_19 const/16 v1, 0x6e if-eq v0, v1, :cond_23 const/16 v1, 0x4e if-ne v0, v1, :cond_22 goto :goto_23 :cond_22 return v2 .line 623 :cond_23 :goto_23 const-string v0, "null" const-string v1, "NULL" const/4 v3, 0x7 goto :goto_34 .line 619 :cond_29 :goto_29 const-string v0, "false" const-string v1, "FALSE" const/4 v3, 0x6 goto :goto_34 .line 615 :cond_2f :goto_2f const-string v0, "true" const-string v1, "TRUE" const/4 v3, 0x5 .line 629 :goto_34 invoke-virtual {v0}, Ljava/lang/String;->length()I move-result v4 const/4 v5, 0x1 :goto_39 if-ge v5, v4, :cond_62 .line 631 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_4b add-int/lit8 v6, v5, 0x1 invoke-direct {p0, v6}, Lcom/google/gson/stream/JsonReader;->fillBuffer(I)Z move-result v6 if-nez v6, :cond_4b return v2 .line 634 :cond_4b 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 635 invoke-virtual {v0, v5}, Ljava/lang/String;->charAt(I)C move-result v7 if-eq v6, v7, :cond_5f invoke-virtual {v1, v5}, Ljava/lang/String;->charAt(I)C move-result v7 if-eq v6, v7, :cond_5f return v2 :cond_5f add-int/lit8 v5, v5, 0x1 goto :goto_39 .line 640 :cond_62 iget v0, p0, Lcom/google/gson/stream/JsonReader;->pos:I add-int/2addr v0, v4 iget v1, p0, Lcom/google/gson/stream/JsonReader;->limit:I if-lt v0, v1, :cond_71 add-int/lit8 v0, v4, 0x1 invoke-direct {p0, v0}, Lcom/google/gson/stream/JsonReader;->fillBuffer(I)Z move-result v0 if-eqz v0, :cond_7f :cond_71 iget-object v0, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C iget v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I add-int/2addr v1, v4 aget-char v0, v0, v1 .line 641 invoke-direct {p0, v0}, Lcom/google/gson/stream/JsonReader;->isLiteral(C)Z move-result v0 if-eqz v0, :cond_7f return v2 .line 646 :cond_7f iget v0, p0, Lcom/google/gson/stream/JsonReader;->pos:I add-int/2addr v0, v4 iput v0, p0, Lcom/google/gson/stream/JsonReader;->pos:I .line 647 iput v3, p0, Lcom/google/gson/stream/JsonReader;->peeked:I return v3 .end method .method private peekNumber()I .registers 19 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation move-object/from16 v0, p0 .line 652 iget-object v1, v0, Lcom/google/gson/stream/JsonReader;->buffer:[C .line 653 iget v2, v0, Lcom/google/gson/stream/JsonReader;->pos:I .line 654 iget v3, v0, Lcom/google/gson/stream/JsonReader;->limit:I const/4 v6, 0x0 const/4 v7, 0x1 move v8, v6 move v9, v8 move v13, v9 move v10, v7 const-wide/16 v11, 0x0 :goto_10 add-int v14, v2, v8 const/4 v15, 0x2 if-ne v14, v3, :cond_27 .line 666 array-length v2, v1 if-ne v8, v2, :cond_19 return v6 :cond_19 add-int/lit8 v2, v8, 0x1 .line 671 invoke-direct {v0, v2}, Lcom/google/gson/stream/JsonReader;->fillBuffer(I)Z move-result v2 if-nez v2, :cond_23 goto/16 :goto_93 .line 674 :cond_23 iget v2, v0, Lcom/google/gson/stream/JsonReader;->pos:I .line 675 iget v3, v0, Lcom/google/gson/stream/JsonReader;->limit:I :cond_27 add-int v14, v2, v8 .line 678 aget-char v14, v1, v14 const/16 v6, 0x2b const/4 v5, 0x5 if-eq v14, v6, :cond_eb const/16 v6, 0x45 if-eq v14, v6, :cond_df const/16 v6, 0x65 if-eq v14, v6, :cond_df const/16 v6, 0x2d if-eq v14, v6, :cond_d2 const/16 v6, 0x2e const/4 v4, 0x3 if-eq v14, v6, :cond_cb const/16 v6, 0x30 if-lt v14, v6, :cond_8d const/16 v6, 0x39 if-le v14, v6, :cond_4a goto :goto_8d :cond_4a if-eq v9, v7, :cond_83 if-nez v9, :cond_4f goto :goto_83 :cond_4f if-ne v9, v15, :cond_76 const-wide/16 v16, 0x0 cmp-long v4, v11, v16 if-nez v4, :cond_59 const/4 v4, 0x0 return v4 :cond_59 const-wide/16 v4, 0xa mul-long/2addr v4, v11 add-int/lit8 v14, v14, -0x30 int-to-long v14, v14 sub-long/2addr v4, v14 const-wide v14, -0xcccccccccccccccL cmp-long v6, v11, v14 if-gtz v6, :cond_72 if-nez v6, :cond_70 cmp-long v6, v4, v11 if-gez v6, :cond_70 goto :goto_72 :cond_70 const/4 v6, 0x0 goto :goto_73 :cond_72 :goto_72 move v6, v7 :goto_73 and-int/2addr v10, v6 move-wide v11, v4 goto :goto_88 :cond_76 if-ne v9, v4, :cond_7b const/4 v6, 0x0 const/4 v9, 0x4 goto :goto_89 :cond_7b if-eq v9, v5, :cond_80 const/4 v4, 0x6 if-ne v9, v4, :cond_88 :cond_80 const/4 v6, 0x0 const/4 v9, 0x7 goto :goto_89 :cond_83 :goto_83 add-int/lit8 v14, v14, -0x30 neg-int v4, v14 int-to-long v11, v4 move v9, v15 :cond_88 :goto_88 const/4 v6, 0x0 :goto_89 const-wide/16 v16, 0x0 goto/16 :goto_f2 .line 715 :cond_8d :goto_8d invoke-direct {v0, v14}, Lcom/google/gson/stream/JsonReader;->isLiteral(C)Z move-result v1 if-nez v1, :cond_c9 :goto_93 if-ne v9, v15, :cond_b7 if-eqz v10, :cond_b7 const-wide/high16 v1, -0x8000000000000000L cmp-long v1, v11, v1 if-nez v1, :cond_9f if-eqz v13, :cond_b7 :cond_9f const-wide/16 v16, 0x0 cmp-long v1, v11, v16 if-nez v1, :cond_a7 if-nez v13, :cond_b7 :cond_a7 if-eqz v13, :cond_aa goto :goto_ab :cond_aa neg-long v11, v11 .line 743 :goto_ab iput-wide v11, v0, Lcom/google/gson/stream/JsonReader;->peekedLong:J .line 744 iget v1, v0, Lcom/google/gson/stream/JsonReader;->pos:I add-int/2addr v1, v8 iput v1, v0, Lcom/google/gson/stream/JsonReader;->pos:I const/16 v1, 0xf .line 745 iput v1, v0, Lcom/google/gson/stream/JsonReader;->peeked:I return v1 :cond_b7 if-eq v9, v15, :cond_c2 const/4 v1, 0x4 if-eq v9, v1, :cond_c2 const/4 v1, 0x7 if-ne v9, v1, :cond_c0 goto :goto_c2 :cond_c0 const/4 v6, 0x0 return v6 .line 748 :cond_c2 :goto_c2 iput v8, v0, Lcom/google/gson/stream/JsonReader;->peekedNumberLength:I const/16 v1, 0x10 .line 749 iput v1, v0, Lcom/google/gson/stream/JsonReader;->peeked:I return v1 :cond_c9 const/4 v6, 0x0 return v6 :cond_cb const/4 v6, 0x0 const-wide/16 v16, 0x0 if-ne v9, v15, :cond_d1 goto :goto_f1 :cond_d1 return v6 :cond_d2 const/4 v4, 0x6 const/4 v6, 0x0 const-wide/16 v16, 0x0 if-nez v9, :cond_db move v9, v7 move v13, v9 goto :goto_f2 :cond_db if-ne v9, v5, :cond_de goto :goto_f1 :cond_de return v6 :cond_df const/4 v6, 0x0 const-wide/16 v16, 0x0 if-eq v9, v15, :cond_e9 const/4 v4, 0x4 if-ne v9, v4, :cond_e8 goto :goto_e9 :cond_e8 return v6 :cond_e9 :goto_e9 move v9, v5 goto :goto_f2 :cond_eb const/4 v4, 0x6 const/4 v6, 0x0 const-wide/16 v16, 0x0 if-ne v9, v5, :cond_f6 :goto_f1 move v9, v4 :goto_f2 add-int/lit8 v8, v8, 0x1 goto/16 :goto_10 :cond_f6 return v6 .end method .method private push(I)V .registers 5 .line 1325 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 mul-int/lit8 v0, v0, 0x2 .line 1327 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 1328 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 1329 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 v0 check-cast v0, [Ljava/lang/String; iput-object v0, p0, Lcom/google/gson/stream/JsonReader;->pathNames:[Ljava/lang/String; .line 1331 :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 return-void .end method .method private readEscapeCharacter()C .registers 8 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 1595 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 1596 :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 1599 :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 const/16 v5, 0xa if-eq v0, v5, :cond_bf const/16 v3, 0x22 if-eq v0, v3, :cond_c6 const/16 v3, 0x27 if-eq v0, v3, :cond_c6 const/16 v3, 0x2f if-eq v0, v3, :cond_c6 const/16 v3, 0x5c if-eq v0, v3, :cond_c6 const/16 v3, 0x62 if-eq v0, v3, :cond_bc const/16 v3, 0x66 if-eq v0, v3, :cond_b9 const/16 v4, 0x6e if-eq v0, v4, :cond_b8 const/16 v4, 0x72 if-eq v0, v4, :cond_b5 const/16 v4, 0x74 if-eq v0, v4, :cond_b2 const/16 v4, 0x75 if-ne v0, v4, :cond_ab add-int/lit8 v1, v1, 0x5 .line 1602 iget v0, p0, Lcom/google/gson/stream/JsonReader;->limit:I const/4 v4, 0x4 if-le v1, v0, :cond_5e invoke-direct {p0, v4}, Lcom/google/gson/stream/JsonReader;->fillBuffer(I)Z move-result v0 if-eqz v0, :cond_59 goto :goto_5e .line 1603 :cond_59 invoke-direct {p0, v2}, Lcom/google/gson/stream/JsonReader;->syntaxError(Ljava/lang/String;)Ljava/io/IOException; move-result-object v0 throw v0 .line 1607 :cond_5e :goto_5e iget v0, p0, Lcom/google/gson/stream/JsonReader;->pos:I add-int/lit8 v1, v0, 0x4 const/4 v2, 0x0 :goto_63 if-ge v0, v1, :cond_a5 .line 1608 iget-object v5, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C aget-char v5, v5, v0 shl-int/lit8 v2, v2, 0x4 int-to-char v2, v2 const/16 v6, 0x30 if-lt v5, v6, :cond_79 const/16 v6, 0x39 if-gt v5, v6, :cond_79 add-int/lit8 v5, v5, -0x30 :goto_76 add-int/2addr v2, v5 int-to-char v2, v2 goto :goto_8d :cond_79 const/16 v6, 0x61 if-lt v5, v6, :cond_82 if-gt v5, v3, :cond_82 add-int/lit8 v5, v5, -0x57 goto :goto_76 :cond_82 const/16 v6, 0x41 if-lt v5, v6, :cond_90 const/16 v6, 0x46 if-gt v5, v6, :cond_90 add-int/lit8 v5, v5, -0x37 goto :goto_76 :goto_8d add-int/lit8 v0, v0, 0x1 goto :goto_63 .line 1617 :cond_90 new-instance v0, Ljava/lang/NumberFormatException; 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 invoke-direct {v1, v2, v3, v4}, Ljava/lang/String;->([CII)V const-string v2, "\\u" invoke-virtual {v2, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/lang/NumberFormatException;->(Ljava/lang/String;)V throw v0 .line 1620 :cond_a5 iget v0, p0, Lcom/google/gson/stream/JsonReader;->pos:I add-int/2addr v0, v4 iput v0, p0, Lcom/google/gson/stream/JsonReader;->pos:I return v2 .line 1650 :cond_ab const-string v0, "Invalid escape sequence" invoke-direct {p0, v0}, Lcom/google/gson/stream/JsonReader;->syntaxError(Ljava/lang/String;)Ljava/io/IOException; move-result-object v0 throw v0 :cond_b2 const/16 v0, 0x9 return v0 :cond_b5 const/16 v0, 0xd return v0 :cond_b8 return v5 :cond_b9 const/16 v0, 0xc return v0 :cond_bc const/16 v0, 0x8 return v0 .line 1639 :cond_bf 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 1640 iput v4, p0, Lcom/google/gson/stream/JsonReader;->lineStart:I :cond_c6 return v0 .end method .method private skipQuotedValue(C)V .registers 8 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 1110 iget-object v0, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C .line 1112 :goto_2 iget v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I .line 1113 iget v2, p0, Lcom/google/gson/stream/JsonReader;->limit:I :goto_6 const/4 v3, 0x1 if-ge v1, v2, :cond_2d add-int/lit8 v4, v1, 0x1 .line 1116 aget-char v1, v0, v1 if-ne v1, p1, :cond_12 .line 1118 iput v4, p0, Lcom/google/gson/stream/JsonReader;->pos:I return-void :cond_12 const/16 v5, 0x5c if-ne v1, v5, :cond_20 .line 1121 iput v4, p0, Lcom/google/gson/stream/JsonReader;->pos:I .line 1122 invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->readEscapeCharacter()C .line 1123 iget v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I .line 1124 iget v2, p0, Lcom/google/gson/stream/JsonReader;->limit:I goto :goto_6 :cond_20 const/16 v5, 0xa if-ne v1, v5, :cond_2b .line 1126 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 1127 iput v4, p0, Lcom/google/gson/stream/JsonReader;->lineStart:I :cond_2b move v1, v4 goto :goto_6 .line 1130 :cond_2d iput v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I .line 1131 invoke-direct {p0, v3}, Lcom/google/gson/stream/JsonReader;->fillBuffer(I)Z move-result v1 if-eqz v1, :cond_36 goto :goto_2 .line 1132 :cond_36 const-string p1, "Unterminated string" invoke-direct {p0, p1}, Lcom/google/gson/stream/JsonReader;->syntaxError(Ljava/lang/String;)Ljava/io/IOException; move-result-object p1 throw p1 .end method .method private skipTo(Ljava/lang/String;)Z .registers 8 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 1491 invoke-virtual {p1}, Ljava/lang/String;->length()I move-result v0 .line 1493 :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 const/4 v3, 0x0 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_13 goto :goto_14 :cond_13 return v3 .line 1494 :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 v4, 0xa const/4 v5, 0x1 if-ne v1, v4, :cond_29 .line 1495 iget v1, p0, Lcom/google/gson/stream/JsonReader;->lineNumber:I add-int/2addr v1, v5 iput v1, p0, Lcom/google/gson/stream/JsonReader;->lineNumber:I add-int/lit8 v2, v2, 0x1 .line 1496 iput v2, p0, Lcom/google/gson/stream/JsonReader;->lineStart:I goto :goto_38 :cond_29 :goto_29 if-ge v3, v0, :cond_41 .line 1500 iget-object v1, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C iget v2, p0, Lcom/google/gson/stream/JsonReader;->pos:I add-int/2addr v2, v3 aget-char v1, v1, v2 invoke-virtual {p1, v3}, Ljava/lang/String;->charAt(I)C move-result v2 if-eq v1, v2, :cond_3e .line 1493 :goto_38 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 goto :goto_4 :cond_3e add-int/lit8 v3, v3, 0x1 goto :goto_29 :cond_41 return v5 .end method .method private skipToEndOfLine()V .registers 5 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 1475 :cond_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_27 .line 1476 :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 const/16 v1, 0xa if-ne v0, v1, :cond_23 .line 1478 iget v0, p0, Lcom/google/gson/stream/JsonReader;->lineNumber:I add-int/2addr v0, v2 iput v0, p0, Lcom/google/gson/stream/JsonReader;->lineNumber:I .line 1479 iput v3, p0, Lcom/google/gson/stream/JsonReader;->lineStart:I goto :goto_27 :cond_23 const/16 v1, 0xd if-ne v0, v1, :cond_0 :cond_27 :goto_27 return-void .end method .method private skipUnquotedValue()V .registers 5 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation :cond_0 const/4 v0, 0x0 .line 1139 :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 1140 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_5c add-int/lit8 v0, v0, 0x1 goto :goto_1 .line 1146 :cond_48 :pswitch_48 invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->checkLenient()V .line 1158 :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 return-void :cond_51 add-int/2addr v1, v0 .line 1162 iput v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I const/4 v0, 0x1 .line 1163 invoke-direct {p0, v0}, Lcom/google/gson/stream/JsonReader;->fillBuffer(I)Z move-result v0 if-nez v0, :cond_0 return-void :pswitch_data_5c .packed-switch 0x5b :pswitch_4b :pswitch_48 :pswitch_4b .end packed-switch .end method .method private syntaxError(Ljava/lang/String;)Ljava/io/IOException; .registers 4 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 1659 new-instance v0, Lcom/google/gson/stream/MalformedJsonException; new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->locationString()Ljava/lang/String; move-result-object v1 invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v0, p1}, Lcom/google/gson/stream/MalformedJsonException;->(Ljava/lang/String;)V throw v0 .end method # virtual methods .method public beginArray()V .registers 4 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 349 iget v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I if-nez v0, :cond_8 .line 351 invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->doPeek()I move-result v0 :cond_8 const/4 v1, 0x3 if-ne v0, v1, :cond_1a const/4 v0, 0x1 .line 354 invoke-direct {p0, v0}, Lcom/google/gson/stream/JsonReader;->push(I)V .line 355 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, v0 const/4 v0, 0x0 aput v0, v1, v2 .line 356 iput v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I return-void .line 358 :cond_1a new-instance v0, Ljava/lang/IllegalStateException; new-instance v1, Ljava/lang/StringBuilder; const-string v2, "Expected BEGIN_ARRAY but was " invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->peek()Lcom/google/gson/stream/JsonToken; move-result-object v2 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v1 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; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 .end method .method public beginObject()V .registers 4 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 385 iget v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I if-nez v0, :cond_8 .line 387 invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->doPeek()I move-result v0 :cond_8 const/4 v1, 0x1 if-ne v0, v1, :cond_13 const/4 v0, 0x3 .line 390 invoke-direct {p0, v0}, Lcom/google/gson/stream/JsonReader;->push(I)V const/4 v0, 0x0 .line 391 iput v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I return-void .line 393 :cond_13 new-instance v0, Ljava/lang/IllegalStateException; new-instance v1, Ljava/lang/StringBuilder; const-string v2, "Expected BEGIN_OBJECT but was " invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->peek()Lcom/google/gson/stream/JsonToken; move-result-object v2 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v1 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; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 .end method .method public close()V .registers 4 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation const/4 v0, 0x0 .line 1230 iput v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I .line 1231 iget-object v1, p0, Lcom/google/gson/stream/JsonReader;->stack:[I const/16 v2, 0x8 aput v2, v1, v0 const/4 v0, 0x1 .line 1232 iput v0, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I .line 1233 iget-object v0, p0, Lcom/google/gson/stream/JsonReader;->in:Ljava/io/Reader; invoke-virtual {v0}, Ljava/io/Reader;->close()V return-void .end method .method doPeek()I .registers 16 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 471 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 aget v2, v0, v2 const/16 v3, 0x8 const/16 v4, 0x27 const/16 v5, 0x22 const/16 v6, 0x5d const/4 v7, 0x3 const/4 v8, 0x7 const/16 v9, 0x3b const/16 v10, 0x2c const/4 v11, 0x4 const/4 v12, 0x2 const/4 v13, 0x1 if-ne v2, v13, :cond_20 sub-int/2addr v1, v13 .line 473 aput v12, v0, v1 goto/16 :goto_a2 :cond_20 if-ne v2, v12, :cond_3a .line 476 invoke-direct {p0, v13}, Lcom/google/gson/stream/JsonReader;->nextNonWhitespace(Z)I move-result v0 if-eq v0, v10, :cond_a2 if-eq v0, v9, :cond_36 if-ne v0, v6, :cond_2f .line 479 iput v11, p0, Lcom/google/gson/stream/JsonReader;->peeked:I return v11 .line 485 :cond_2f const-string v0, "Unterminated array" invoke-direct {p0, v0}, Lcom/google/gson/stream/JsonReader;->syntaxError(Ljava/lang/String;)Ljava/io/IOException; move-result-object v0 throw v0 .line 481 :cond_36 invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->checkLenient()V goto :goto_a2 :cond_3a const/4 v14, 0x5 if-eq v2, v7, :cond_11b if-ne v2, v14, :cond_41 goto/16 :goto_11b :cond_41 if-ne v2, v11, :cond_76 sub-int/2addr v1, v13 .line 526 aput v14, v0, v1 .line 528 invoke-direct {p0, v13}, Lcom/google/gson/stream/JsonReader;->nextNonWhitespace(Z)I move-result v0 const/16 v1, 0x3a if-eq v0, v1, :cond_a2 const/16 v1, 0x3d if-ne v0, v1, :cond_6f .line 533 invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->checkLenient()V .line 534 iget v0, p0, Lcom/google/gson/stream/JsonReader;->pos:I iget v1, p0, Lcom/google/gson/stream/JsonReader;->limit:I if-lt v0, v1, :cond_61 invoke-direct {p0, v13}, Lcom/google/gson/stream/JsonReader;->fillBuffer(I)Z move-result v0 if-eqz v0, :cond_a2 :cond_61 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 const/16 v14, 0x3e if-ne v0, v14, :cond_a2 add-int/2addr v1, v13 .line 535 iput v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I goto :goto_a2 .line 539 :cond_6f const-string v0, "Expected \':\'" invoke-direct {p0, v0}, Lcom/google/gson/stream/JsonReader;->syntaxError(Ljava/lang/String;)Ljava/io/IOException; move-result-object v0 throw v0 :cond_76 const/4 v0, 0x6 if-ne v2, v0, :cond_88 .line 542 iget-boolean v0, p0, Lcom/google/gson/stream/JsonReader;->lenient:Z if-eqz v0, :cond_80 .line 543 invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->consumeNonExecutePrefix()V .line 545 :cond_80 iget-object v0, p0, Lcom/google/gson/stream/JsonReader;->stack:[I iget v1, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I sub-int/2addr v1, v13 aput v8, v0, v1 goto :goto_a2 :cond_88 if-ne v2, v8, :cond_a0 const/4 v0, 0x0 .line 547 invoke-direct {p0, v0}, Lcom/google/gson/stream/JsonReader;->nextNonWhitespace(Z)I move-result v0 const/4 v1, -0x1 if-ne v0, v1, :cond_97 const/16 v0, 0x11 .line 549 iput v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I return v0 .line 551 :cond_97 invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->checkLenient()V .line 552 iget v0, p0, Lcom/google/gson/stream/JsonReader;->pos:I sub-int/2addr v0, v13 iput v0, p0, Lcom/google/gson/stream/JsonReader;->pos:I goto :goto_a2 :cond_a0 if-eq v2, v3, :cond_113 .line 558 :cond_a2 :goto_a2 invoke-direct {p0, v13}, Lcom/google/gson/stream/JsonReader;->nextNonWhitespace(Z)I move-result v0 if-eq v0, v5, :cond_10e if-eq v0, v4, :cond_108 if-eq v0, v10, :cond_f1 if-eq v0, v9, :cond_f1 const/16 v1, 0x5b if-eq v0, v1, :cond_ee if-eq v0, v6, :cond_e9 const/16 v1, 0x7b if-eq v0, v1, :cond_e6 .line 585 iget v0, p0, Lcom/google/gson/stream/JsonReader;->pos:I sub-int/2addr v0, v13 iput v0, p0, Lcom/google/gson/stream/JsonReader;->pos:I .line 588 invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->peekKeyword()I move-result v0 if-eqz v0, :cond_c4 return v0 .line 593 :cond_c4 invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->peekNumber()I move-result v0 if-eqz v0, :cond_cb return v0 .line 598 :cond_cb 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 invoke-direct {p0, v0}, Lcom/google/gson/stream/JsonReader;->isLiteral(C)Z move-result v0 if-eqz v0, :cond_df .line 602 invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->checkLenient()V const/16 v0, 0xa .line 603 iput v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I return v0 .line 599 :cond_df const-string v0, "Expected value" invoke-direct {p0, v0}, Lcom/google/gson/stream/JsonReader;->syntaxError(Ljava/lang/String;)Ljava/io/IOException; move-result-object v0 throw v0 .line 583 :cond_e6 iput v13, p0, Lcom/google/gson/stream/JsonReader;->peeked:I return v13 :cond_e9 if-ne v2, v13, :cond_f1 .line 562 iput v11, p0, Lcom/google/gson/stream/JsonReader;->peeked:I return v11 .line 581 :cond_ee iput v7, p0, Lcom/google/gson/stream/JsonReader;->peeked:I return v7 :cond_f1 if-eq v2, v13, :cond_fd if-ne v2, v12, :cond_f6 goto :goto_fd .line 573 :cond_f6 const-string v0, "Unexpected value" invoke-direct {p0, v0}, Lcom/google/gson/stream/JsonReader;->syntaxError(Ljava/lang/String;)Ljava/io/IOException; move-result-object v0 throw v0 .line 569 :cond_fd :goto_fd invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->checkLenient()V .line 570 iget v0, p0, Lcom/google/gson/stream/JsonReader;->pos:I sub-int/2addr v0, v13 iput v0, p0, Lcom/google/gson/stream/JsonReader;->pos:I .line 571 iput v8, p0, Lcom/google/gson/stream/JsonReader;->peeked:I return v8 .line 576 :cond_108 invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->checkLenient()V .line 577 iput v3, p0, Lcom/google/gson/stream/JsonReader;->peeked:I return v3 :cond_10e const/16 v0, 0x9 .line 579 iput v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I return v0 .line 555 :cond_113 new-instance v0, Ljava/lang/IllegalStateException; const-string v1, "JsonReader is closed" invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 :cond_11b :goto_11b sub-int/2addr v1, v13 .line 488 aput v11, v0, v1 const/16 v0, 0x7d if-ne v2, v14, :cond_139 .line 491 invoke-direct {p0, v13}, Lcom/google/gson/stream/JsonReader;->nextNonWhitespace(Z)I move-result v1 if-eq v1, v10, :cond_139 if-eq v1, v9, :cond_136 if-ne v1, v0, :cond_12f .line 494 iput v12, p0, Lcom/google/gson/stream/JsonReader;->peeked:I return v12 .line 500 :cond_12f const-string v0, "Unterminated object" invoke-direct {p0, v0}, Lcom/google/gson/stream/JsonReader;->syntaxError(Ljava/lang/String;)Ljava/io/IOException; move-result-object v0 throw v0 .line 496 :cond_136 invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->checkLenient()V .line 503 :cond_139 invoke-direct {p0, v13}, Lcom/google/gson/stream/JsonReader;->nextNonWhitespace(Z)I move-result v1 if-eq v1, v5, :cond_170 if-eq v1, v4, :cond_168 .line 504 const-string v3, "Expected name" if-eq v1, v0, :cond_15e .line 517 invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->checkLenient()V .line 518 iget v0, p0, Lcom/google/gson/stream/JsonReader;->pos:I sub-int/2addr v0, v13 iput v0, p0, Lcom/google/gson/stream/JsonReader;->pos:I int-to-char v0, v1 .line 519 invoke-direct {p0, v0}, Lcom/google/gson/stream/JsonReader;->isLiteral(C)Z move-result v0 if-eqz v0, :cond_159 const/16 v0, 0xe .line 520 iput v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I return v0 .line 522 :cond_159 invoke-direct {p0, v3}, Lcom/google/gson/stream/JsonReader;->syntaxError(Ljava/lang/String;)Ljava/io/IOException; move-result-object v0 throw v0 :cond_15e if-eq v2, v14, :cond_163 .line 512 iput v12, p0, Lcom/google/gson/stream/JsonReader;->peeked:I return v12 .line 514 :cond_163 invoke-direct {p0, v3}, Lcom/google/gson/stream/JsonReader;->syntaxError(Ljava/lang/String;)Ljava/io/IOException; move-result-object v0 throw v0 .line 508 :cond_168 invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->checkLenient()V const/16 v0, 0xc .line 509 iput v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I return v0 :cond_170 const/16 v0, 0xd .line 506 iput v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I return v0 .end method .method public endArray()V .registers 4 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 367 iget v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I if-nez v0, :cond_8 .line 369 invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->doPeek()I move-result v0 :cond_8 const/4 v1, 0x4 if-ne v0, v1, :cond_1f .line 372 iget v0, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I add-int/lit8 v1, v0, -0x1 iput v1, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I .line 373 iget-object v1, p0, Lcom/google/gson/stream/JsonReader;->pathIndices:[I add-int/lit8 v0, v0, -0x2 aget v2, v1, v0 add-int/lit8 v2, v2, 0x1 aput v2, v1, v0 const/4 v0, 0x0 .line 374 iput v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I return-void .line 376 :cond_1f new-instance v0, Ljava/lang/IllegalStateException; new-instance v1, Ljava/lang/StringBuilder; const-string v2, "Expected END_ARRAY but was " invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->peek()Lcom/google/gson/stream/JsonToken; move-result-object v2 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v1 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; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 .end method .method public endObject()V .registers 6 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 402 iget v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I if-nez v0, :cond_8 .line 404 invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->doPeek()I move-result v0 :cond_8 const/4 v1, 0x2 if-ne v0, v1, :cond_23 .line 407 iget v0, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I add-int/lit8 v2, v0, -0x1 iput v2, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I .line 408 iget-object v3, p0, Lcom/google/gson/stream/JsonReader;->pathNames:[Ljava/lang/String; const/4 v4, 0x0 aput-object v4, v3, v2 .line 409 iget-object v2, p0, Lcom/google/gson/stream/JsonReader;->pathIndices:[I sub-int/2addr v0, v1 aget v1, v2, v0 add-int/lit8 v1, v1, 0x1 aput v1, v2, v0 const/4 v0, 0x0 .line 410 iput v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I return-void .line 412 :cond_23 new-instance v0, Ljava/lang/IllegalStateException; new-instance v1, Ljava/lang/StringBuilder; const-string v2, "Expected END_OBJECT but was " invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->peek()Lcom/google/gson/stream/JsonToken; move-result-object v2 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v1 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; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 .end method .method public getPath()Ljava/lang/String; .registers 2 const/4 v0, 0x0 .line 1581 invoke-direct {p0, v0}, Lcom/google/gson/stream/JsonReader;->getPath(Z)Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public getPreviousPath()Ljava/lang/String; .registers 2 const/4 v0, 0x1 .line 1563 invoke-direct {p0, v0}, Lcom/google/gson/stream/JsonReader;->getPath(Z)Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public hasNext()Z .registers 3 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 420 iget v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I if-nez v0, :cond_8 .line 422 invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->doPeek()I move-result v0 :cond_8 const/4 v1, 0x2 if-eq v0, v1, :cond_14 const/4 v1, 0x4 if-eq v0, v1, :cond_14 const/16 v1, 0x11 if-eq v0, v1, :cond_14 const/4 v0, 0x1 goto :goto_15 :cond_14 const/4 v0, 0x0 :goto_15 return v0 .end method .method public final isLenient()Z .registers 2 .line 341 iget-boolean v0, p0, Lcom/google/gson/stream/JsonReader;->lenient:Z return v0 .end method .method locationString()Ljava/lang/String; .registers 5 .line 1514 iget v0, p0, Lcom/google/gson/stream/JsonReader;->lineNumber:I add-int/lit8 v0, v0, 0x1 .line 1515 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 1516 new-instance v2, Ljava/lang/StringBuilder; const-string v3, " at line " invoke-direct {v2, v3}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v0 const-string v2, " column " invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v0 const-string v1, " path " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->getPath()Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public nextBoolean()Z .registers 6 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 851 iget v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I if-nez v0, :cond_8 .line 853 invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->doPeek()I move-result v0 :cond_8 const/4 v1, 0x5 const/4 v2, 0x0 const/4 v3, 0x1 if-ne v0, v1, :cond_1a .line 856 iput v2, p0, Lcom/google/gson/stream/JsonReader;->peeked:I .line 857 iget-object v0, p0, Lcom/google/gson/stream/JsonReader;->pathIndices:[I iget v1, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I sub-int/2addr v1, v3 aget v2, v0, v1 add-int/2addr v2, v3 aput v2, v0, v1 return v3 :cond_1a const/4 v1, 0x6 if-ne v0, v1, :cond_2a .line 860 iput v2, p0, Lcom/google/gson/stream/JsonReader;->peeked:I .line 861 iget-object v0, p0, Lcom/google/gson/stream/JsonReader;->pathIndices:[I iget v1, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I sub-int/2addr v1, v3 aget v4, v0, v1 add-int/2addr v4, v3 aput v4, v0, v1 return v2 .line 864 :cond_2a new-instance v0, Ljava/lang/IllegalStateException; new-instance v1, Ljava/lang/StringBuilder; const-string v2, "Expected a boolean but was " invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->peek()Lcom/google/gson/stream/JsonToken; move-result-object v2 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v1 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; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 .end method .method public nextDouble()D .registers 7 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 899 iget v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I if-nez v0, :cond_8 .line 901 invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->doPeek()I move-result v0 :cond_8 const/16 v1, 0xf const/4 v2, 0x0 if-ne v0, v1, :cond_1f .line 905 iput v2, p0, Lcom/google/gson/stream/JsonReader;->peeked:I .line 906 iget-object v0, p0, Lcom/google/gson/stream/JsonReader;->pathIndices:[I iget v1, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I add-int/lit8 v1, v1, -0x1 aget v2, v0, v1 add-int/lit8 v2, v2, 0x1 aput v2, v0, v1 .line 907 iget-wide v0, p0, Lcom/google/gson/stream/JsonReader;->peekedLong:J long-to-double v0, v0 return-wide v0 :cond_1f const/16 v1, 0x10 const/16 v3, 0xb if-ne v0, v1, :cond_3a .line 911 new-instance v0, Ljava/lang/String; iget-object v1, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C iget v4, p0, Lcom/google/gson/stream/JsonReader;->pos:I iget v5, p0, Lcom/google/gson/stream/JsonReader;->peekedNumberLength:I invoke-direct {v0, v1, v4, v5}, Ljava/lang/String;->([CII)V iput-object v0, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String; .line 912 iget v0, p0, Lcom/google/gson/stream/JsonReader;->pos:I iget v1, p0, Lcom/google/gson/stream/JsonReader;->peekedNumberLength:I add-int/2addr v0, v1 iput v0, p0, Lcom/google/gson/stream/JsonReader;->pos:I goto :goto_7f :cond_3a const/16 v1, 0x8 if-eq v0, v1, :cond_72 const/16 v4, 0x9 if-ne v0, v4, :cond_43 goto :goto_72 :cond_43 const/16 v1, 0xa if-ne v0, v1, :cond_4e .line 916 invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->nextUnquotedValue()Ljava/lang/String; move-result-object v0 iput-object v0, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String; goto :goto_7f :cond_4e if-ne v0, v3, :cond_51 goto :goto_7f .line 918 :cond_51 new-instance v0, Ljava/lang/IllegalStateException; new-instance v1, Ljava/lang/StringBuilder; const-string v2, "Expected a double but was " invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->peek()Lcom/google/gson/stream/JsonToken; move-result-object v2 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v1 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; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 :cond_72 :goto_72 if-ne v0, v1, :cond_77 const/16 v0, 0x27 goto :goto_79 :cond_77 const/16 v0, 0x22 .line 914 :goto_79 invoke-direct {p0, v0}, Lcom/google/gson/stream/JsonReader;->nextQuotedValue(C)Ljava/lang/String; move-result-object v0 iput-object v0, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String; .line 921 :goto_7f iput v3, p0, Lcom/google/gson/stream/JsonReader;->peeked:I .line 922 iget-object v0, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String; invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D move-result-wide v0 .line 923 iget-boolean v3, p0, Lcom/google/gson/stream/JsonReader;->lenient:Z if-nez v3, :cond_b5 invoke-static {v0, v1}, Ljava/lang/Double;->isNaN(D)Z move-result v3 if-nez v3, :cond_98 invoke-static {v0, v1}, Ljava/lang/Double;->isInfinite(D)Z move-result v3 if-nez v3, :cond_98 goto :goto_b5 .line 924 :cond_98 new-instance v2, Lcom/google/gson/stream/MalformedJsonException; new-instance v3, Ljava/lang/StringBuilder; const-string v4, "JSON forbids NaN and infinities: " invoke-direct {v3, v4}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; move-result-object v0 .line 925 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; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {v2, v0}, Lcom/google/gson/stream/MalformedJsonException;->(Ljava/lang/String;)V throw v2 :cond_b5 :goto_b5 const/4 v3, 0x0 .line 927 iput-object v3, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String; .line 928 iput v2, p0, Lcom/google/gson/stream/JsonReader;->peeked:I .line 929 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 return-wide v0 .end method .method public nextInt()I .registers 8 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 1177 iget v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I if-nez v0, :cond_8 .line 1179 invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->doPeek()I move-result v0 :cond_8 const/16 v1, 0xf .line 1183 const-string v2, "Expected an int but was " const/4 v3, 0x0 if-ne v0, v1, :cond_43 .line 1184 iget-wide v0, p0, Lcom/google/gson/stream/JsonReader;->peekedLong:J long-to-int v4, v0 int-to-long v5, v4 cmp-long v0, v0, v5 if-nez v0, :cond_26 .line 1188 iput v3, p0, Lcom/google/gson/stream/JsonReader;->peeked:I .line 1189 iget-object v0, p0, Lcom/google/gson/stream/JsonReader;->pathIndices:[I iget v1, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I add-int/lit8 v1, v1, -0x1 aget v2, v0, v1 add-int/lit8 v2, v2, 0x1 aput v2, v0, v1 return v4 .line 1186 :cond_26 new-instance v0, Ljava/lang/NumberFormatException; new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V iget-wide v2, p0, Lcom/google/gson/stream/JsonReader;->peekedLong:J invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; move-result-object v1 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; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/lang/NumberFormatException;->(Ljava/lang/String;)V throw v0 :cond_43 const/16 v1, 0x10 if-ne v0, v1, :cond_5c .line 1194 new-instance v0, Ljava/lang/String; iget-object v1, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C iget v4, p0, Lcom/google/gson/stream/JsonReader;->pos:I iget v5, p0, Lcom/google/gson/stream/JsonReader;->peekedNumberLength:I invoke-direct {v0, v1, v4, v5}, Ljava/lang/String;->([CII)V iput-object v0, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String; .line 1195 iget v0, p0, Lcom/google/gson/stream/JsonReader;->pos:I iget v1, p0, Lcom/google/gson/stream/JsonReader;->peekedNumberLength:I add-int/2addr v0, v1 iput v0, p0, Lcom/google/gson/stream/JsonReader;->pos:I goto :goto_b3 :cond_5c const/16 v1, 0xa const/16 v4, 0x8 if-eq v0, v4, :cond_88 const/16 v5, 0x9 if-eq v0, v5, :cond_88 if-ne v0, v1, :cond_69 goto :goto_88 .line 1211 :cond_69 new-instance v0, Ljava/lang/IllegalStateException; new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->peek()Lcom/google/gson/stream/JsonToken; move-result-object v2 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v1 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; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 :cond_88 :goto_88 if-ne v0, v1, :cond_91 .line 1198 invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->nextUnquotedValue()Ljava/lang/String; move-result-object v0 iput-object v0, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String; goto :goto_9e :cond_91 if-ne v0, v4, :cond_96 const/16 v0, 0x27 goto :goto_98 :cond_96 const/16 v0, 0x22 .line 1200 :goto_98 invoke-direct {p0, v0}, Lcom/google/gson/stream/JsonReader;->nextQuotedValue(C)Ljava/lang/String; move-result-object v0 iput-object v0, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String; .line 1203 :goto_9e :try_start_9e iget-object v0, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String; invoke-static {v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I move-result v0 .line 1204 iput v3, p0, Lcom/google/gson/stream/JsonReader;->peeked:I .line 1205 iget-object v1, p0, Lcom/google/gson/stream/JsonReader;->pathIndices:[I iget v4, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I add-int/lit8 v4, v4, -0x1 aget v5, v1, v4 add-int/lit8 v5, v5, 0x1 aput v5, v1, v4 :try_end_b2 .catch Ljava/lang/NumberFormatException; {:try_start_9e .. :try_end_b2} :catch_b3 return v0 :catch_b3 :goto_b3 const/16 v0, 0xb .line 1214 iput v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I .line 1215 iget-object v0, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String; invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D move-result-wide v0 double-to-int v4, v0 int-to-double v5, v4 cmpl-double v0, v5, v0 if-nez v0, :cond_d5 const/4 v0, 0x0 .line 1220 iput-object v0, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String; .line 1221 iput v3, p0, Lcom/google/gson/stream/JsonReader;->peeked:I .line 1222 iget-object v0, p0, Lcom/google/gson/stream/JsonReader;->pathIndices:[I iget v1, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I add-int/lit8 v1, v1, -0x1 aget v2, v0, v1 add-int/lit8 v2, v2, 0x1 aput v2, v0, v1 return v4 .line 1218 :cond_d5 new-instance v0, Ljava/lang/NumberFormatException; new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V iget-object v2, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String; invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 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; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/lang/NumberFormatException;->(Ljava/lang/String;)V throw v0 .end method .method public nextLong()J .registers 9 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 944 iget v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I if-nez v0, :cond_8 .line 946 invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->doPeek()I move-result v0 :cond_8 const/16 v1, 0xf const/4 v2, 0x0 if-ne v0, v1, :cond_1e .line 950 iput v2, p0, Lcom/google/gson/stream/JsonReader;->peeked:I .line 951 iget-object v0, p0, Lcom/google/gson/stream/JsonReader;->pathIndices:[I iget v1, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I add-int/lit8 v1, v1, -0x1 aget v2, v0, v1 add-int/lit8 v2, v2, 0x1 aput v2, v0, v1 .line 952 iget-wide v0, p0, Lcom/google/gson/stream/JsonReader;->peekedLong:J return-wide v0 :cond_1e const/16 v1, 0x10 .line 955 const-string v3, "Expected a long but was " if-ne v0, v1, :cond_39 .line 956 new-instance v0, Ljava/lang/String; iget-object v1, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C iget v4, p0, Lcom/google/gson/stream/JsonReader;->pos:I iget v5, p0, Lcom/google/gson/stream/JsonReader;->peekedNumberLength:I invoke-direct {v0, v1, v4, v5}, Ljava/lang/String;->([CII)V iput-object v0, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String; .line 957 iget v0, p0, Lcom/google/gson/stream/JsonReader;->pos:I iget v1, p0, Lcom/google/gson/stream/JsonReader;->peekedNumberLength:I add-int/2addr v0, v1 iput v0, p0, Lcom/google/gson/stream/JsonReader;->pos:I goto :goto_90 :cond_39 const/16 v1, 0xa const/16 v4, 0x8 if-eq v0, v4, :cond_65 const/16 v5, 0x9 if-eq v0, v5, :cond_65 if-ne v0, v1, :cond_46 goto :goto_65 .line 973 :cond_46 new-instance v0, Ljava/lang/IllegalStateException; new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1, v3}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->peek()Lcom/google/gson/stream/JsonToken; move-result-object v2 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v1 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; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 :cond_65 :goto_65 if-ne v0, v1, :cond_6e .line 960 invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->nextUnquotedValue()Ljava/lang/String; move-result-object v0 iput-object v0, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String; goto :goto_7b :cond_6e if-ne v0, v4, :cond_73 const/16 v0, 0x27 goto :goto_75 :cond_73 const/16 v0, 0x22 .line 962 :goto_75 invoke-direct {p0, v0}, Lcom/google/gson/stream/JsonReader;->nextQuotedValue(C)Ljava/lang/String; move-result-object v0 iput-object v0, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String; .line 965 :goto_7b :try_start_7b iget-object v0, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String; invoke-static {v0}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J move-result-wide v0 .line 966 iput v2, p0, Lcom/google/gson/stream/JsonReader;->peeked:I .line 967 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_8f .catch Ljava/lang/NumberFormatException; {:try_start_7b .. :try_end_8f} :catch_90 return-wide v0 :catch_90 :goto_90 const/16 v0, 0xb .line 976 iput v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I .line 977 iget-object v0, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String; invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D move-result-wide v0 double-to-long v4, v0 long-to-double v6, v4 cmpl-double v0, v6, v0 if-nez v0, :cond_b2 const/4 v0, 0x0 .line 982 iput-object v0, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String; .line 983 iput v2, p0, Lcom/google/gson/stream/JsonReader;->peeked:I .line 984 iget-object v0, p0, Lcom/google/gson/stream/JsonReader;->pathIndices:[I iget v1, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I add-int/lit8 v1, v1, -0x1 aget v2, v0, v1 add-int/lit8 v2, v2, 0x1 aput v2, v0, v1 return-wide v4 .line 980 :cond_b2 new-instance v0, Ljava/lang/NumberFormatException; new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1, v3}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V iget-object v2, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String; invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 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; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/lang/NumberFormatException;->(Ljava/lang/String;)V throw v0 .end method .method public nextName()Ljava/lang/String; .registers 4 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 788 iget v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I if-nez v0, :cond_8 .line 790 invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->doPeek()I move-result v0 :cond_8 const/16 v1, 0xe if-ne v0, v1, :cond_11 .line 794 invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->nextUnquotedValue()Ljava/lang/String; move-result-object v0 goto :goto_26 :cond_11 const/16 v1, 0xc if-ne v0, v1, :cond_1c const/16 v0, 0x27 .line 796 invoke-direct {p0, v0}, Lcom/google/gson/stream/JsonReader;->nextQuotedValue(C)Ljava/lang/String; move-result-object v0 goto :goto_26 :cond_1c const/16 v1, 0xd if-ne v0, v1, :cond_32 const/16 v0, 0x22 .line 798 invoke-direct {p0, v0}, Lcom/google/gson/stream/JsonReader;->nextQuotedValue(C)Ljava/lang/String; move-result-object v0 :goto_26 const/4 v1, 0x0 .line 802 iput v1, p0, Lcom/google/gson/stream/JsonReader;->peeked:I .line 803 iget-object v1, p0, Lcom/google/gson/stream/JsonReader;->pathNames:[Ljava/lang/String; iget v2, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I add-int/lit8 v2, v2, -0x1 aput-object v0, v1, v2 return-object v0 .line 800 :cond_32 new-instance v0, Ljava/lang/IllegalStateException; new-instance v1, Ljava/lang/StringBuilder; const-string v2, "Expected a name but was " invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->peek()Lcom/google/gson/stream/JsonToken; move-result-object v2 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v1 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; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 .end method .method public nextNull()V .registers 4 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 875 iget v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I if-nez v0, :cond_8 .line 877 invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->doPeek()I move-result v0 :cond_8 const/4 v1, 0x7 if-ne v0, v1, :cond_1b const/4 v0, 0x0 .line 880 iput v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I .line 881 iget-object v0, p0, Lcom/google/gson/stream/JsonReader;->pathIndices:[I iget v1, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I add-int/lit8 v1, v1, -0x1 aget v2, v0, v1 add-int/lit8 v2, v2, 0x1 aput v2, v0, v1 return-void .line 883 :cond_1b new-instance v0, Ljava/lang/IllegalStateException; new-instance v1, Ljava/lang/StringBuilder; const-string v2, "Expected null but was " invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->peek()Lcom/google/gson/stream/JsonToken; move-result-object v2 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v1 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; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 .end method .method public nextString()Ljava/lang/String; .registers 5 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 816 iget v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I if-nez v0, :cond_8 .line 818 invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->doPeek()I move-result v0 :cond_8 const/16 v1, 0xa if-ne v0, v1, :cond_11 .line 822 invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->nextUnquotedValue()Ljava/lang/String; move-result-object v0 goto :goto_52 :cond_11 const/16 v1, 0x8 if-ne v0, v1, :cond_1c const/16 v0, 0x27 .line 824 invoke-direct {p0, v0}, Lcom/google/gson/stream/JsonReader;->nextQuotedValue(C)Ljava/lang/String; move-result-object v0 goto :goto_52 :cond_1c const/16 v1, 0x9 if-ne v0, v1, :cond_27 const/16 v0, 0x22 .line 826 invoke-direct {p0, v0}, Lcom/google/gson/stream/JsonReader;->nextQuotedValue(C)Ljava/lang/String; move-result-object v0 goto :goto_52 :cond_27 const/16 v1, 0xb if-ne v0, v1, :cond_31 .line 828 iget-object v0, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String; const/4 v1, 0x0 .line 829 iput-object v1, p0, Lcom/google/gson/stream/JsonReader;->peekedString:Ljava/lang/String; goto :goto_52 :cond_31 const/16 v1, 0xf if-ne v0, v1, :cond_3c .line 831 iget-wide v0, p0, Lcom/google/gson/stream/JsonReader;->peekedLong:J invoke-static {v0, v1}, Ljava/lang/Long;->toString(J)Ljava/lang/String; move-result-object v0 goto :goto_52 :cond_3c const/16 v1, 0x10 if-ne v0, v1, :cond_62 .line 833 new-instance v0, Ljava/lang/String; iget-object v1, p0, Lcom/google/gson/stream/JsonReader;->buffer:[C iget v2, p0, Lcom/google/gson/stream/JsonReader;->pos:I iget v3, p0, Lcom/google/gson/stream/JsonReader;->peekedNumberLength:I invoke-direct {v0, v1, v2, v3}, Ljava/lang/String;->([CII)V .line 834 iget v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I iget v2, p0, Lcom/google/gson/stream/JsonReader;->peekedNumberLength:I add-int/2addr v1, v2 iput v1, p0, Lcom/google/gson/stream/JsonReader;->pos:I :goto_52 const/4 v1, 0x0 .line 838 iput v1, p0, Lcom/google/gson/stream/JsonReader;->peeked:I .line 839 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 return-object v0 .line 836 :cond_62 new-instance v0, Ljava/lang/IllegalStateException; new-instance v1, Ljava/lang/StringBuilder; const-string v2, "Expected a string but was " invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->peek()Lcom/google/gson/stream/JsonToken; move-result-object v2 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v1 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; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 .end method .method public peek()Lcom/google/gson/stream/JsonToken; .registers 2 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 431 iget v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I if-nez v0, :cond_8 .line 433 invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->doPeek()I move-result v0 :cond_8 packed-switch v0, :pswitch_data_30 .line 465 new-instance v0, Ljava/lang/AssertionError; invoke-direct {v0}, Ljava/lang/AssertionError;->()V throw v0 .line 463 :pswitch_11 sget-object v0, Lcom/google/gson/stream/JsonToken;->END_DOCUMENT:Lcom/google/gson/stream/JsonToken; return-object v0 .line 461 :pswitch_14 sget-object v0, Lcom/google/gson/stream/JsonToken;->NUMBER:Lcom/google/gson/stream/JsonToken; return-object v0 .line 448 :pswitch_17 sget-object v0, Lcom/google/gson/stream/JsonToken;->NAME:Lcom/google/gson/stream/JsonToken; return-object v0 .line 458 :pswitch_1a sget-object v0, Lcom/google/gson/stream/JsonToken;->STRING:Lcom/google/gson/stream/JsonToken; return-object v0 .line 453 :pswitch_1d sget-object v0, Lcom/google/gson/stream/JsonToken;->NULL:Lcom/google/gson/stream/JsonToken; return-object v0 .line 451 :pswitch_20 sget-object v0, Lcom/google/gson/stream/JsonToken;->BOOLEAN:Lcom/google/gson/stream/JsonToken; return-object v0 .line 444 :pswitch_23 sget-object v0, Lcom/google/gson/stream/JsonToken;->END_ARRAY:Lcom/google/gson/stream/JsonToken; return-object v0 .line 442 :pswitch_26 sget-object v0, Lcom/google/gson/stream/JsonToken;->BEGIN_ARRAY:Lcom/google/gson/stream/JsonToken; return-object v0 .line 440 :pswitch_29 sget-object v0, Lcom/google/gson/stream/JsonToken;->END_OBJECT:Lcom/google/gson/stream/JsonToken; return-object v0 .line 438 :pswitch_2c sget-object v0, Lcom/google/gson/stream/JsonToken;->BEGIN_OBJECT:Lcom/google/gson/stream/JsonToken; return-object v0 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 .line 334 iput-boolean p1, p0, Lcom/google/gson/stream/JsonReader;->lenient:Z return-void .end method .method public skipValue()V .registers 8 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation const/4 v0, 0x0 move v1, v0 .line 1254 :cond_2 iget v2, p0, Lcom/google/gson/stream/JsonReader;->peeked:I if-nez v2, :cond_a .line 1256 invoke-virtual {p0}, Lcom/google/gson/stream/JsonReader;->doPeek()I move-result v2 :cond_a const/16 v3, 0x22 const/16 v4, 0x27 .line 1259 const-string v5, "" const/4 v6, 0x1 packed-switch v2, :pswitch_data_82 :pswitch_14 goto :goto_73 :pswitch_15 return-void .line 1311 :pswitch_16 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 goto :goto_73 .line 1290 :pswitch_1e invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->skipUnquotedValue()V if-nez v1, :cond_73 .line 1293 iget-object v2, p0, Lcom/google/gson/stream/JsonReader;->pathNames:[Ljava/lang/String; iget v3, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I sub-int/2addr v3, v6 aput-object v5, v2, v3 goto :goto_73 .line 1304 :pswitch_2b invoke-direct {p0, v3}, Lcom/google/gson/stream/JsonReader;->skipQuotedValue(C)V if-nez v1, :cond_73 .line 1307 iget-object v2, p0, Lcom/google/gson/stream/JsonReader;->pathNames:[Ljava/lang/String; iget v3, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I sub-int/2addr v3, v6 aput-object v5, v2, v3 goto :goto_73 .line 1297 :pswitch_38 invoke-direct {p0, v4}, Lcom/google/gson/stream/JsonReader;->skipQuotedValue(C)V if-nez v1, :cond_73 .line 1300 iget-object v2, p0, Lcom/google/gson/stream/JsonReader;->pathNames:[Ljava/lang/String; iget v3, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I sub-int/2addr v3, v6 aput-object v5, v2, v3 goto :goto_73 .line 1281 :pswitch_45 invoke-direct {p0}, Lcom/google/gson/stream/JsonReader;->skipUnquotedValue()V goto :goto_73 .line 1287 :pswitch_49 invoke-direct {p0, v3}, Lcom/google/gson/stream/JsonReader;->skipQuotedValue(C)V goto :goto_73 .line 1284 :pswitch_4d invoke-direct {p0, v4}, Lcom/google/gson/stream/JsonReader;->skipQuotedValue(C)V goto :goto_73 .line 1269 :pswitch_51 iget v2, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I sub-int/2addr v2, v6 iput v2, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I :goto_56 add-int/lit8 v1, v1, -0x1 goto :goto_73 .line 1261 :pswitch_59 invoke-direct {p0, v6}, Lcom/google/gson/stream/JsonReader;->push(I)V goto :goto_71 :pswitch_5d if-nez v1, :cond_67 .line 1275 iget-object v2, p0, Lcom/google/gson/stream/JsonReader;->pathNames:[Ljava/lang/String; iget v3, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I sub-int/2addr v3, v6 const/4 v4, 0x0 aput-object v4, v2, v3 .line 1277 :cond_67 iget v2, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I sub-int/2addr v2, v6 iput v2, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I goto :goto_56 :pswitch_6d const/4 v2, 0x3 .line 1265 invoke-direct {p0, v2}, Lcom/google/gson/stream/JsonReader;->push(I)V :goto_71 add-int/lit8 v1, v1, 0x1 .line 1318 :cond_73 :goto_73 iput v0, p0, Lcom/google/gson/stream/JsonReader;->peeked:I if-gtz v1, :cond_2 .line 1321 iget-object v0, p0, Lcom/google/gson/stream/JsonReader;->pathIndices:[I iget v1, p0, Lcom/google/gson/stream/JsonReader;->stackSize:I sub-int/2addr v1, v6 aget v2, v0, v1 add-int/2addr v2, v6 aput v2, v0, v1 return-void :pswitch_data_82 .packed-switch 0x1 :pswitch_6d :pswitch_5d :pswitch_59 :pswitch_51 :pswitch_14 :pswitch_14 :pswitch_14 :pswitch_4d :pswitch_49 :pswitch_45 :pswitch_14 :pswitch_38 :pswitch_2b :pswitch_1e :pswitch_14 :pswitch_16 :pswitch_15 .end packed-switch .end method .method public toString()Ljava/lang/String; .registers 3 .line 1510 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()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; move-result-object v0 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; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 return-object v0 .end method