.class public Lcom/alibaba/fastjson/JSONReader; .super Ljava/lang/Object; .source "JSONReader.java" # interfaces .implements Ljava/io/Closeable; # instance fields .field private context:Lcom/alibaba/fastjson/JSONStreamContext; .field private final parser:Lcom/alibaba/fastjson/parser/DefaultJSONParser; # direct methods .method public constructor (Lcom/alibaba/fastjson/parser/DefaultJSONParser;)V .locals 0 .line 35 invoke-direct {p0}, Ljava/lang/Object;->()V .line 36 iput-object p1, p0, Lcom/alibaba/fastjson/JSONReader;->parser:Lcom/alibaba/fastjson/parser/DefaultJSONParser; return-void .end method .method public constructor (Lcom/alibaba/fastjson/parser/JSONLexer;)V .locals 1 .line 32 new-instance v0, Lcom/alibaba/fastjson/parser/DefaultJSONParser; invoke-direct {v0, p1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->(Lcom/alibaba/fastjson/parser/JSONLexer;)V invoke-direct {p0, v0}, Lcom/alibaba/fastjson/JSONReader;->(Lcom/alibaba/fastjson/parser/DefaultJSONParser;)V return-void .end method .method public constructor (Ljava/io/Reader;)V .locals 1 .line 28 new-instance v0, Lcom/alibaba/fastjson/parser/JSONReaderScanner; invoke-direct {v0, p1}, Lcom/alibaba/fastjson/parser/JSONReaderScanner;->(Ljava/io/Reader;)V invoke-direct {p0, v0}, Lcom/alibaba/fastjson/JSONReader;->(Lcom/alibaba/fastjson/parser/JSONLexer;)V return-void .end method .method private endStructure()V .locals 2 .line 94 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->context:Lcom/alibaba/fastjson/JSONStreamContext; iget-object v0, v0, Lcom/alibaba/fastjson/JSONStreamContext;->parent:Lcom/alibaba/fastjson/JSONStreamContext; iput-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->context:Lcom/alibaba/fastjson/JSONStreamContext; .line 96 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->context:Lcom/alibaba/fastjson/JSONStreamContext; if-nez v0, :cond_0 return-void .line 100 :cond_0 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->context:Lcom/alibaba/fastjson/JSONStreamContext; iget v0, v0, Lcom/alibaba/fastjson/JSONStreamContext;->state:I const/4 v1, -0x1 packed-switch v0, :pswitch_data_0 const/4 v0, -0x1 goto :goto_0 :pswitch_0 const/16 v0, 0x3ed goto :goto_0 :pswitch_1 const/16 v0, 0x3eb goto :goto_0 :pswitch_2 const/16 v0, 0x3ea :goto_0 if-eq v0, v1, :cond_1 .line 117 iget-object v1, p0, Lcom/alibaba/fastjson/JSONReader;->context:Lcom/alibaba/fastjson/JSONStreamContext; iput v0, v1, Lcom/alibaba/fastjson/JSONStreamContext;->state:I :cond_1 return-void :pswitch_data_0 .packed-switch 0x3e9 :pswitch_2 :pswitch_1 :pswitch_2 :pswitch_0 .end packed-switch .end method .method private readAfter()V .locals 4 .line 284 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->context:Lcom/alibaba/fastjson/JSONStreamContext; iget v0, v0, Lcom/alibaba/fastjson/JSONStreamContext;->state:I const/16 v1, 0x3ea const/4 v2, -0x1 packed-switch v0, :pswitch_data_0 .line 302 new-instance v1, Lcom/alibaba/fastjson/JSONException; new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;->()V const-string v3, "illegal state : " 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; invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {v1, v0}, Lcom/alibaba/fastjson/JSONException;->(Ljava/lang/String;)V throw v1 :pswitch_0 const/4 v1, -0x1 goto :goto_0 :pswitch_1 const/16 v1, 0x3ed goto :goto_0 :pswitch_2 const/16 v1, 0x3eb :goto_0 :pswitch_3 if-eq v1, v2, :cond_0 .line 305 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->context:Lcom/alibaba/fastjson/JSONStreamContext; iput v1, v0, Lcom/alibaba/fastjson/JSONStreamContext;->state:I :cond_0 return-void nop :pswitch_data_0 .packed-switch 0x3e9 :pswitch_3 :pswitch_2 :pswitch_3 :pswitch_1 :pswitch_0 .end packed-switch .end method .method private readBefore()V .locals 4 .line 262 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->context:Lcom/alibaba/fastjson/JSONStreamContext; iget v0, v0, Lcom/alibaba/fastjson/JSONStreamContext;->state:I const/16 v1, 0x10 packed-switch v0, :pswitch_data_0 .line 279 new-instance v1, Lcom/alibaba/fastjson/JSONException; new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;->()V const-string v3, "illegal state : " 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; invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {v1, v0}, Lcom/alibaba/fastjson/JSONException;->(Ljava/lang/String;)V throw v1 .line 272 :pswitch_0 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->parser:Lcom/alibaba/fastjson/parser/DefaultJSONParser; invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->accept(I)V goto :goto_0 .line 269 :pswitch_1 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->parser:Lcom/alibaba/fastjson/parser/DefaultJSONParser; const/16 v2, 0x12 invoke-virtual {v0, v1, v2}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->accept(II)V goto :goto_0 .line 266 :pswitch_2 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->parser:Lcom/alibaba/fastjson/parser/DefaultJSONParser; const/16 v1, 0x11 invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->accept(I)V :goto_0 :pswitch_3 return-void :pswitch_data_0 .packed-switch 0x3e9 :pswitch_3 :pswitch_2 :pswitch_1 :pswitch_3 :pswitch_0 .end packed-switch .end method .method private startStructure()V .locals 3 .line 76 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->context:Lcom/alibaba/fastjson/JSONStreamContext; iget v0, v0, Lcom/alibaba/fastjson/JSONStreamContext;->state:I packed-switch v0, :pswitch_data_0 .line 89 new-instance v0, Lcom/alibaba/fastjson/JSONException; new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "illegal state : " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v2, p0, Lcom/alibaba/fastjson/JSONReader;->context:Lcom/alibaba/fastjson/JSONStreamContext; iget v2, v2, Lcom/alibaba/fastjson/JSONStreamContext;->state:I invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;->(Ljava/lang/String;)V throw v0 .line 83 :pswitch_0 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->parser:Lcom/alibaba/fastjson/parser/DefaultJSONParser; const/16 v1, 0x10 invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->accept(I)V goto :goto_0 .line 79 :pswitch_1 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->parser:Lcom/alibaba/fastjson/parser/DefaultJSONParser; const/16 v1, 0x11 invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->accept(I)V :goto_0 :pswitch_2 return-void :pswitch_data_0 .packed-switch 0x3e9 :pswitch_2 :pswitch_1 :pswitch_0 :pswitch_2 :pswitch_0 .end packed-switch .end method # virtual methods .method public close()V .locals 1 .line 149 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->parser:Lcom/alibaba/fastjson/parser/DefaultJSONParser; invoke-static {v0}, Lcom/alibaba/fastjson/util/IOUtils;->close(Ljava/io/Closeable;)V return-void .end method .method public config(Lcom/alibaba/fastjson/parser/Feature;Z)V .locals 1 .line 40 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->parser:Lcom/alibaba/fastjson/parser/DefaultJSONParser; invoke-virtual {v0, p1, p2}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->config(Lcom/alibaba/fastjson/parser/Feature;Z)V return-void .end method .method public endArray()V .locals 2 .line 71 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->parser:Lcom/alibaba/fastjson/parser/DefaultJSONParser; const/16 v1, 0xf invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->accept(I)V .line 72 invoke-direct {p0}, Lcom/alibaba/fastjson/JSONReader;->endStructure()V return-void .end method .method public endObject()V .locals 2 .line 55 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->parser:Lcom/alibaba/fastjson/parser/DefaultJSONParser; const/16 v1, 0xd invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->accept(I)V .line 56 invoke-direct {p0}, Lcom/alibaba/fastjson/JSONReader;->endStructure()V return-void .end method .method public hasNext()Z .locals 4 .line 122 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->context:Lcom/alibaba/fastjson/JSONStreamContext; if-eqz v0, :cond_2 .line 126 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->parser:Lcom/alibaba/fastjson/parser/DefaultJSONParser; iget-object v0, v0, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->lexer:Lcom/alibaba/fastjson/parser/JSONLexer; invoke-interface {v0}, Lcom/alibaba/fastjson/parser/JSONLexer;->token()I move-result v0 .line 127 iget-object v1, p0, Lcom/alibaba/fastjson/JSONReader;->context:Lcom/alibaba/fastjson/JSONStreamContext; iget v1, v1, Lcom/alibaba/fastjson/JSONStreamContext;->state:I const/4 v2, 0x0 const/4 v3, 0x1 packed-switch v1, :pswitch_data_0 .line 136 :pswitch_0 new-instance v0, Lcom/alibaba/fastjson/JSONException; new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;->()V const-string v3, "illegal state : " 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; invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;->(Ljava/lang/String;)V throw v0 :pswitch_1 const/16 v1, 0xf if-eq v0, v1, :cond_0 const/4 v2, 0x1 :cond_0 return v2 :pswitch_2 const/16 v1, 0xd if-eq v0, v1, :cond_1 const/4 v2, 0x1 :cond_1 return v2 .line 123 :cond_2 new-instance v0, Lcom/alibaba/fastjson/JSONException; const-string v1, "context is null" invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;->(Ljava/lang/String;)V throw v0 :pswitch_data_0 .packed-switch 0x3e9 :pswitch_2 :pswitch_0 :pswitch_2 :pswitch_1 :pswitch_1 .end packed-switch .end method .method public peek()I .locals 2 .line 141 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->context:Lcom/alibaba/fastjson/JSONStreamContext; if-eqz v0, :cond_0 .line 145 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->parser:Lcom/alibaba/fastjson/parser/DefaultJSONParser; iget-object v0, v0, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->lexer:Lcom/alibaba/fastjson/parser/JSONLexer; invoke-interface {v0}, Lcom/alibaba/fastjson/parser/JSONLexer;->token()I move-result v0 return v0 .line 142 :cond_0 new-instance v0, Lcom/alibaba/fastjson/JSONException; const-string v1, "context is null" invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONException;->(Ljava/lang/String;)V throw v0 .end method .method public readInteger()Ljava/lang/Integer; .locals 1 .line 154 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->context:Lcom/alibaba/fastjson/JSONStreamContext; if-nez v0, :cond_0 .line 155 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->parser:Lcom/alibaba/fastjson/parser/DefaultJSONParser; invoke-virtual {v0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->parse()Ljava/lang/Object; move-result-object v0 goto :goto_0 .line 157 :cond_0 invoke-direct {p0}, Lcom/alibaba/fastjson/JSONReader;->readBefore()V .line 158 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->parser:Lcom/alibaba/fastjson/parser/DefaultJSONParser; invoke-virtual {v0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->parse()Ljava/lang/Object; move-result-object v0 .line 159 invoke-direct {p0}, Lcom/alibaba/fastjson/JSONReader;->readAfter()V .line 162 :goto_0 invoke-static {v0}, Lcom/alibaba/fastjson/util/TypeUtils;->castToInt(Ljava/lang/Object;)Ljava/lang/Integer; move-result-object v0 return-object v0 .end method .method public readLong()Ljava/lang/Long; .locals 1 .line 167 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->context:Lcom/alibaba/fastjson/JSONStreamContext; if-nez v0, :cond_0 .line 168 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->parser:Lcom/alibaba/fastjson/parser/DefaultJSONParser; invoke-virtual {v0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->parse()Ljava/lang/Object; move-result-object v0 goto :goto_0 .line 170 :cond_0 invoke-direct {p0}, Lcom/alibaba/fastjson/JSONReader;->readBefore()V .line 171 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->parser:Lcom/alibaba/fastjson/parser/DefaultJSONParser; invoke-virtual {v0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->parse()Ljava/lang/Object; move-result-object v0 .line 172 invoke-direct {p0}, Lcom/alibaba/fastjson/JSONReader;->readAfter()V .line 175 :goto_0 invoke-static {v0}, Lcom/alibaba/fastjson/util/TypeUtils;->castToLong(Ljava/lang/Object;)Ljava/lang/Long; move-result-object v0 return-object v0 .end method .method public readObject()Ljava/lang/Object; .locals 2 .line 229 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->context:Lcom/alibaba/fastjson/JSONStreamContext; if-nez v0, :cond_0 .line 230 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->parser:Lcom/alibaba/fastjson/parser/DefaultJSONParser; invoke-virtual {v0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->parse()Ljava/lang/Object; move-result-object v0 return-object v0 .line 233 :cond_0 invoke-direct {p0}, Lcom/alibaba/fastjson/JSONReader;->readBefore()V .line 235 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->context:Lcom/alibaba/fastjson/JSONStreamContext; iget v0, v0, Lcom/alibaba/fastjson/JSONStreamContext;->state:I const/16 v1, 0x3e9 if-eq v0, v1, :cond_1 const/16 v1, 0x3eb if-eq v0, v1, :cond_1 .line 241 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->parser:Lcom/alibaba/fastjson/parser/DefaultJSONParser; invoke-virtual {v0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->parse()Ljava/lang/Object; move-result-object v0 goto :goto_0 .line 238 :cond_1 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->parser:Lcom/alibaba/fastjson/parser/DefaultJSONParser; invoke-virtual {v0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->parseKey()Ljava/lang/Object; move-result-object v0 .line 245 :goto_0 invoke-direct {p0}, Lcom/alibaba/fastjson/JSONReader;->readAfter()V return-object v0 .end method .method public readObject(Lcom/alibaba/fastjson/TypeReference;)Ljava/lang/Object; .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/alibaba/fastjson/TypeReference<", "TT;>;)TT;" } .end annotation .line 192 invoke-virtual {p1}, Lcom/alibaba/fastjson/TypeReference;->getType()Ljava/lang/reflect/Type; move-result-object p1 invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/JSONReader;->readObject(Ljava/lang/reflect/Type;)Ljava/lang/Object; move-result-object p1 return-object p1 .end method .method public readObject(Ljava/lang/Class;)Ljava/lang/Object; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Class<", "TT;>;)TT;" } .end annotation .line 207 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->context:Lcom/alibaba/fastjson/JSONStreamContext; if-nez v0, :cond_0 .line 208 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->parser:Lcom/alibaba/fastjson/parser/DefaultJSONParser; invoke-virtual {v0, p1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->parseObject(Ljava/lang/Class;)Ljava/lang/Object; move-result-object p1 return-object p1 .line 211 :cond_0 invoke-direct {p0}, Lcom/alibaba/fastjson/JSONReader;->readBefore()V .line 212 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->parser:Lcom/alibaba/fastjson/parser/DefaultJSONParser; invoke-virtual {v0, p1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->parseObject(Ljava/lang/Class;)Ljava/lang/Object; move-result-object p1 .line 213 invoke-direct {p0}, Lcom/alibaba/fastjson/JSONReader;->readAfter()V return-object p1 .end method .method public readObject(Ljava/lang/reflect/Type;)Ljava/lang/Object; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/reflect/Type;", ")TT;" } .end annotation .line 196 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->context:Lcom/alibaba/fastjson/JSONStreamContext; if-nez v0, :cond_0 .line 197 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->parser:Lcom/alibaba/fastjson/parser/DefaultJSONParser; invoke-virtual {v0, p1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->parseObject(Ljava/lang/reflect/Type;)Ljava/lang/Object; move-result-object p1 return-object p1 .line 200 :cond_0 invoke-direct {p0}, Lcom/alibaba/fastjson/JSONReader;->readBefore()V .line 201 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->parser:Lcom/alibaba/fastjson/parser/DefaultJSONParser; invoke-virtual {v0, p1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->parseObject(Ljava/lang/reflect/Type;)Ljava/lang/Object; move-result-object p1 .line 202 invoke-direct {p0}, Lcom/alibaba/fastjson/JSONReader;->readAfter()V return-object p1 .end method .method public readObject(Ljava/util/Map;)Ljava/lang/Object; .locals 1 .line 251 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->context:Lcom/alibaba/fastjson/JSONStreamContext; if-nez v0, :cond_0 .line 252 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->parser:Lcom/alibaba/fastjson/parser/DefaultJSONParser; invoke-virtual {v0, p1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->parseObject(Ljava/util/Map;)Ljava/lang/Object; move-result-object p1 return-object p1 .line 255 :cond_0 invoke-direct {p0}, Lcom/alibaba/fastjson/JSONReader;->readBefore()V .line 256 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->parser:Lcom/alibaba/fastjson/parser/DefaultJSONParser; invoke-virtual {v0, p1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->parseObject(Ljava/util/Map;)Ljava/lang/Object; move-result-object p1 .line 257 invoke-direct {p0}, Lcom/alibaba/fastjson/JSONReader;->readAfter()V return-object p1 .end method .method public readObject(Ljava/lang/Object;)V .locals 1 .line 218 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->context:Lcom/alibaba/fastjson/JSONStreamContext; if-nez v0, :cond_0 .line 219 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->parser:Lcom/alibaba/fastjson/parser/DefaultJSONParser; invoke-virtual {v0, p1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->parseObject(Ljava/lang/Object;)V return-void .line 223 :cond_0 invoke-direct {p0}, Lcom/alibaba/fastjson/JSONReader;->readBefore()V .line 224 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->parser:Lcom/alibaba/fastjson/parser/DefaultJSONParser; invoke-virtual {v0, p1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->parseObject(Ljava/lang/Object;)V .line 225 invoke-direct {p0}, Lcom/alibaba/fastjson/JSONReader;->readAfter()V return-void .end method .method public readString()Ljava/lang/String; .locals 1 .line 180 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->context:Lcom/alibaba/fastjson/JSONStreamContext; if-nez v0, :cond_0 .line 181 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->parser:Lcom/alibaba/fastjson/parser/DefaultJSONParser; invoke-virtual {v0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->parse()Ljava/lang/Object; move-result-object v0 goto :goto_0 .line 183 :cond_0 invoke-direct {p0}, Lcom/alibaba/fastjson/JSONReader;->readBefore()V .line 184 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->parser:Lcom/alibaba/fastjson/parser/DefaultJSONParser; invoke-virtual {v0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->parse()Ljava/lang/Object; move-result-object v0 .line 185 invoke-direct {p0}, Lcom/alibaba/fastjson/JSONReader;->readAfter()V .line 188 :goto_0 invoke-static {v0}, Lcom/alibaba/fastjson/util/TypeUtils;->castToString(Ljava/lang/Object;)Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public startArray()V .locals 3 .line 60 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->context:Lcom/alibaba/fastjson/JSONStreamContext; const/16 v1, 0x3ec if-nez v0, :cond_0 .line 61 new-instance v0, Lcom/alibaba/fastjson/JSONStreamContext; const/4 v2, 0x0 invoke-direct {v0, v2, v1}, Lcom/alibaba/fastjson/JSONStreamContext;->(Lcom/alibaba/fastjson/JSONStreamContext;I)V iput-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->context:Lcom/alibaba/fastjson/JSONStreamContext; goto :goto_0 .line 63 :cond_0 invoke-direct {p0}, Lcom/alibaba/fastjson/JSONReader;->startStructure()V .line 65 new-instance v0, Lcom/alibaba/fastjson/JSONStreamContext; iget-object v2, p0, Lcom/alibaba/fastjson/JSONReader;->context:Lcom/alibaba/fastjson/JSONStreamContext; invoke-direct {v0, v2, v1}, Lcom/alibaba/fastjson/JSONStreamContext;->(Lcom/alibaba/fastjson/JSONStreamContext;I)V iput-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->context:Lcom/alibaba/fastjson/JSONStreamContext; .line 67 :goto_0 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->parser:Lcom/alibaba/fastjson/parser/DefaultJSONParser; const/16 v1, 0xe invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->accept(I)V return-void .end method .method public startObject()V .locals 3 .line 44 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->context:Lcom/alibaba/fastjson/JSONStreamContext; const/16 v1, 0x3e9 if-nez v0, :cond_0 .line 45 new-instance v0, Lcom/alibaba/fastjson/JSONStreamContext; const/4 v2, 0x0 invoke-direct {v0, v2, v1}, Lcom/alibaba/fastjson/JSONStreamContext;->(Lcom/alibaba/fastjson/JSONStreamContext;I)V iput-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->context:Lcom/alibaba/fastjson/JSONStreamContext; goto :goto_0 .line 47 :cond_0 invoke-direct {p0}, Lcom/alibaba/fastjson/JSONReader;->startStructure()V .line 48 new-instance v0, Lcom/alibaba/fastjson/JSONStreamContext; iget-object v2, p0, Lcom/alibaba/fastjson/JSONReader;->context:Lcom/alibaba/fastjson/JSONStreamContext; invoke-direct {v0, v2, v1}, Lcom/alibaba/fastjson/JSONStreamContext;->(Lcom/alibaba/fastjson/JSONStreamContext;I)V iput-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->context:Lcom/alibaba/fastjson/JSONStreamContext; .line 51 :goto_0 iget-object v0, p0, Lcom/alibaba/fastjson/JSONReader;->parser:Lcom/alibaba/fastjson/parser/DefaultJSONParser; const/16 v1, 0xc const/16 v2, 0x12 invoke-virtual {v0, v1, v2}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->accept(II)V return-void .end method