.class public Lcom/alibaba/fastjson/parser/deserializer/Jdk8DateCodec; .super Ljava/lang/Object; .source "Jdk8DateCodec.java" # interfaces .implements Lcom/alibaba/fastjson/parser/deserializer/ObjectDeserializer; .implements Lcom/alibaba/fastjson/serializer/ObjectSerializer; # static fields .field public static final instance:Lcom/alibaba/fastjson/parser/deserializer/Jdk8DateCodec; # direct methods .method static constructor ()V .locals 1 .line 25 new-instance v0, Lcom/alibaba/fastjson/parser/deserializer/Jdk8DateCodec; invoke-direct {v0}, Lcom/alibaba/fastjson/parser/deserializer/Jdk8DateCodec;->()V sput-object v0, Lcom/alibaba/fastjson/parser/deserializer/Jdk8DateCodec;->instance:Lcom/alibaba/fastjson/parser/deserializer/Jdk8DateCodec; return-void .end method .method public constructor ()V .locals 0 .line 23 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method # virtual methods .method public deserialze(Lcom/alibaba/fastjson/parser/DefaultJSONParser;Ljava/lang/reflect/Type;Ljava/lang/Object;)Ljava/lang/Object; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/alibaba/fastjson/parser/DefaultJSONParser;", "Ljava/lang/reflect/Type;", "Ljava/lang/Object;", ")TT;" } .end annotation .line 29 iget-object p1, p1, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->lexer:Lcom/alibaba/fastjson/parser/JSONLexer; .line 30 invoke-interface {p1}, Lcom/alibaba/fastjson/parser/JSONLexer;->token()I move-result p3 const/4 v0, 0x4 if-ne p3, v0, :cond_a .line 31 invoke-interface {p1}, Lcom/alibaba/fastjson/parser/JSONLexer;->stringVal()Ljava/lang/String; move-result-object p3 .line 32 invoke-interface {p1}, Lcom/alibaba/fastjson/parser/JSONLexer;->nextToken()V .line 34 const-class p1, Ljava/time/LocalDateTime; if-ne p2, p1, :cond_0 .line 35 invoke-static {p3}, Ljava/time/LocalDateTime;->parse(Ljava/lang/CharSequence;)Ljava/time/LocalDateTime; move-result-object p1 return-object p1 .line 38 :cond_0 const-class p1, Ljava/time/LocalDate; if-ne p2, p1, :cond_1 .line 39 invoke-static {p3}, Ljava/time/LocalDate;->parse(Ljava/lang/CharSequence;)Ljava/time/LocalDate; move-result-object p1 return-object p1 .line 42 :cond_1 const-class p1, Ljava/time/LocalTime; if-ne p2, p1, :cond_2 .line 43 invoke-static {p3}, Ljava/time/LocalTime;->parse(Ljava/lang/CharSequence;)Ljava/time/LocalTime; move-result-object p1 return-object p1 .line 46 :cond_2 const-class p1, Ljava/time/ZonedDateTime; if-ne p2, p1, :cond_3 .line 47 invoke-static {p3}, Ljava/time/ZonedDateTime;->parse(Ljava/lang/CharSequence;)Ljava/time/ZonedDateTime; move-result-object p1 return-object p1 .line 50 :cond_3 const-class p1, Ljava/time/OffsetDateTime; if-ne p2, p1, :cond_4 .line 51 invoke-static {p3}, Ljava/time/OffsetDateTime;->parse(Ljava/lang/CharSequence;)Ljava/time/OffsetDateTime; move-result-object p1 return-object p1 .line 54 :cond_4 const-class p1, Ljava/time/OffsetTime; if-ne p2, p1, :cond_5 .line 55 invoke-static {p3}, Ljava/time/OffsetTime;->parse(Ljava/lang/CharSequence;)Ljava/time/OffsetTime; move-result-object p1 return-object p1 .line 58 :cond_5 const-class p1, Ljava/time/ZoneId; if-ne p2, p1, :cond_6 .line 59 invoke-static {p3}, Ljava/time/ZoneId;->of(Ljava/lang/String;)Ljava/time/ZoneId; move-result-object p1 return-object p1 .line 62 :cond_6 const-class p1, Ljava/time/Period; if-ne p2, p1, :cond_7 .line 63 invoke-static {p3}, Ljava/time/Period;->parse(Ljava/lang/CharSequence;)Ljava/time/Period; move-result-object p1 return-object p1 .line 66 :cond_7 const-class p1, Ljava/time/Duration; if-ne p2, p1, :cond_8 .line 67 invoke-static {p3}, Ljava/time/Duration;->parse(Ljava/lang/CharSequence;)Ljava/time/Duration; move-result-object p1 return-object p1 .line 70 :cond_8 const-class p1, Ljava/time/Instant; if-ne p2, p1, :cond_9 .line 71 invoke-static {p3}, Ljava/time/Instant;->parse(Ljava/lang/CharSequence;)Ljava/time/Instant; move-result-object p1 return-object p1 :cond_9 const/4 p1, 0x0 return-object p1 .line 76 :cond_a new-instance p1, Ljava/lang/UnsupportedOperationException; invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;->()V throw p1 .end method .method public getFastMatchToken()I .locals 1 const/4 v0, 0x4 return v0 .end method .method public write(Lcom/alibaba/fastjson/serializer/JSONSerializer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;I)V .locals 0 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 86 iget-object p1, p1, Lcom/alibaba/fastjson/serializer/JSONSerializer;->out:Lcom/alibaba/fastjson/serializer/SerializeWriter; if-nez p2, :cond_0 .line 88 invoke-virtual {p1}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->writeNull()V goto :goto_0 .line 90 :cond_0 invoke-virtual {p2}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p2 invoke-virtual {p1, p2}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->writeString(Ljava/lang/String;)V :goto_0 return-void .end method