.class public Lcom/alibaba/fastjson/serializer/PrimitiveArraySerializer; .super Ljava/lang/Object; .source "PrimitiveArraySerializer.java" # interfaces .implements Lcom/alibaba/fastjson/serializer/ObjectSerializer; # static fields .field public static instance:Lcom/alibaba/fastjson/serializer/PrimitiveArraySerializer; # direct methods .method static constructor ()V .locals 1 .line 26 new-instance v0, Lcom/alibaba/fastjson/serializer/PrimitiveArraySerializer; invoke-direct {v0}, Lcom/alibaba/fastjson/serializer/PrimitiveArraySerializer;->()V sput-object v0, Lcom/alibaba/fastjson/serializer/PrimitiveArraySerializer;->instance:Lcom/alibaba/fastjson/serializer/PrimitiveArraySerializer; return-void .end method .method public constructor ()V .locals 0 .line 24 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method # virtual methods .method public final write(Lcom/alibaba/fastjson/serializer/JSONSerializer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;I)V .locals 3 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 29 iget-object p1, p1, Lcom/alibaba/fastjson/serializer/JSONSerializer;->out:Lcom/alibaba/fastjson/serializer/SerializeWriter; if-nez p2, :cond_1 .line 32 sget-object p2, Lcom/alibaba/fastjson/serializer/SerializerFeature;->WriteNullListAsEmpty:Lcom/alibaba/fastjson/serializer/SerializerFeature; invoke-virtual {p1, p2}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->isEnabled(Lcom/alibaba/fastjson/serializer/SerializerFeature;)Z move-result p2 if-eqz p2, :cond_0 const-string p2, "[]" .line 33 invoke-virtual {p1, p2}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->write(Ljava/lang/String;)V goto :goto_0 .line 35 :cond_0 invoke-virtual {p1}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->writeNull()V :goto_0 return-void .line 40 :cond_1 instance-of p3, p2, [I const/16 p4, 0x2c const/16 p5, 0x5d const/4 v0, 0x0 const/16 v1, 0x5b if-eqz p3, :cond_4 .line 41 check-cast p2, [I .line 42 invoke-virtual {p1, v1}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->write(I)V .line 43 :goto_1 array-length p3, p2 if-ge v0, p3, :cond_3 if-eqz v0, :cond_2 .line 45 invoke-virtual {p1, p4}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->write(I)V .line 47 :cond_2 aget p3, p2, v0 invoke-virtual {p1, p3}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->writeInt(I)V add-int/lit8 v0, v0, 0x1 goto :goto_1 .line 49 :cond_3 invoke-virtual {p1, p5}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->write(I)V return-void .line 53 :cond_4 instance-of p3, p2, [S if-eqz p3, :cond_7 .line 54 check-cast p2, [S .line 55 invoke-virtual {p1, v1}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->write(I)V .line 56 :goto_2 array-length p3, p2 if-ge v0, p3, :cond_6 if-eqz v0, :cond_5 .line 58 invoke-virtual {p1, p4}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->write(I)V .line 60 :cond_5 aget-short p3, p2, v0 invoke-virtual {p1, p3}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->writeInt(I)V add-int/lit8 v0, v0, 0x1 goto :goto_2 .line 62 :cond_6 invoke-virtual {p1, p5}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->write(I)V return-void .line 66 :cond_7 instance-of p3, p2, [J if-eqz p3, :cond_a .line 67 check-cast p2, [J .line 69 invoke-virtual {p1, v1}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->write(I)V .line 70 :goto_3 array-length p3, p2 if-ge v0, p3, :cond_9 if-eqz v0, :cond_8 .line 72 invoke-virtual {p1, p4}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->write(I)V .line 74 :cond_8 aget-wide v1, p2, v0 invoke-virtual {p1, v1, v2}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->writeLong(J)V add-int/lit8 v0, v0, 0x1 goto :goto_3 .line 76 :cond_9 invoke-virtual {p1, p5}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->write(I)V return-void .line 80 :cond_a instance-of p3, p2, [Z if-eqz p3, :cond_d .line 81 check-cast p2, [Z .line 82 invoke-virtual {p1, v1}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->write(I)V .line 83 :goto_4 array-length p3, p2 if-ge v0, p3, :cond_c if-eqz v0, :cond_b .line 85 invoke-virtual {p1, p4}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->write(I)V .line 87 :cond_b aget-boolean p3, p2, v0 invoke-virtual {p1, p3}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->write(Z)V add-int/lit8 v0, v0, 0x1 goto :goto_4 .line 89 :cond_c invoke-virtual {p1, p5}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->write(I)V return-void .line 93 :cond_d instance-of p3, p2, [F if-eqz p3, :cond_11 .line 94 check-cast p2, [F .line 95 invoke-virtual {p1, v1}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->write(I)V .line 96 :goto_5 array-length p3, p2 if-ge v0, p3, :cond_10 if-eqz v0, :cond_e .line 98 invoke-virtual {p1, p4}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->write(I)V .line 101 :cond_e aget p3, p2, v0 .line 102 invoke-static {p3}, Ljava/lang/Float;->isNaN(F)Z move-result v1 if-eqz v1, :cond_f .line 103 invoke-virtual {p1}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->writeNull()V goto :goto_6 .line 105 :cond_f invoke-static {p3}, Ljava/lang/Float;->toString(F)Ljava/lang/String; move-result-object p3 invoke-virtual {p1, p3}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->append(Ljava/lang/CharSequence;)Lcom/alibaba/fastjson/serializer/SerializeWriter; :goto_6 add-int/lit8 v0, v0, 0x1 goto :goto_5 .line 108 :cond_10 invoke-virtual {p1, p5}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->write(I)V return-void .line 112 :cond_11 instance-of p3, p2, [D if-eqz p3, :cond_15 .line 113 check-cast p2, [D .line 114 invoke-virtual {p1, v1}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->write(I)V .line 115 :goto_7 array-length p3, p2 if-ge v0, p3, :cond_14 if-eqz v0, :cond_12 .line 117 invoke-virtual {p1, p4}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->write(I)V .line 120 :cond_12 aget-wide v1, p2, v0 .line 121 invoke-static {v1, v2}, Ljava/lang/Double;->isNaN(D)Z move-result p3 if-eqz p3, :cond_13 .line 122 invoke-virtual {p1}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->writeNull()V goto :goto_8 .line 124 :cond_13 invoke-static {v1, v2}, Ljava/lang/Double;->toString(D)Ljava/lang/String; move-result-object p3 invoke-virtual {p1, p3}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->append(Ljava/lang/CharSequence;)Lcom/alibaba/fastjson/serializer/SerializeWriter; :goto_8 add-int/lit8 v0, v0, 0x1 goto :goto_7 .line 127 :cond_14 invoke-virtual {p1, p5}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->write(I)V return-void .line 131 :cond_15 instance-of p3, p2, [B if-eqz p3, :cond_16 .line 132 check-cast p2, [B .line 133 invoke-virtual {p1, p2}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->writeByteArray([B)V return-void .line 137 :cond_16 check-cast p2, [C .line 138 new-instance p3, Ljava/lang/String; invoke-direct {p3, p2}, Ljava/lang/String;->([C)V invoke-virtual {p1, p3}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->writeString(Ljava/lang/String;)V return-void .end method