k0.smali
.class public final Lcom/alibaba/fastjson/serializer/k0;
.super Lcom/alibaba/fastjson/serializer/x0;
.source "SourceFile"
# interfaces
.implements Lcom/alibaba/fastjson/serializer/o0;
# static fields
.field public static i:Lcom/alibaba/fastjson/serializer/k0;
# direct methods
.method public static constructor <clinit>()V
.registers 1
new-instance v0, Lcom/alibaba/fastjson/serializer/k0;
invoke-direct {v0}, Lcom/alibaba/fastjson/serializer/k0;-><init>()V
sput-object v0, Lcom/alibaba/fastjson/serializer/k0;->i:Lcom/alibaba/fastjson/serializer/k0;
return-void
.end method
.method public constructor <init>()V
.registers 1
invoke-direct {p0}, Lcom/alibaba/fastjson/serializer/x0;-><init>()V
return-void
.end method
# virtual methods
.method public final d(Lcom/alibaba/fastjson/serializer/e0;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;I)V
.registers 24
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
move-object/from16 v7, p0
move-object/from16 v8, p1
move-object/from16 v0, p2
.line 1
iget-object v9, v8, Lcom/alibaba/fastjson/serializer/e0;->j:Lcom/alibaba/fastjson/serializer/y0;
if-nez v0, :cond_e
.line 2
invoke-virtual {v9}, Lcom/alibaba/fastjson/serializer/y0;->K()V
return-void
.line 3
:cond_e
move-object v10, v0
check-cast v10, Ljava/util/Map;
.line 4
invoke-virtual/range {p1 .. p2}, Lcom/alibaba/fastjson/serializer/e0;->i(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_1b
.line 5
invoke-virtual/range {p1 .. p2}, Lcom/alibaba/fastjson/serializer/e0;->u(Ljava/lang/Object;)V
return-void
.line 6
:cond_1b
iget-object v11, v8, Lcom/alibaba/fastjson/serializer/e0;->o:Lcom/alibaba/fastjson/serializer/t0;
move-object/from16 v1, p3
.line 7
invoke-virtual {v8, v11, v0, v1}, Lcom/alibaba/fastjson/serializer/e0;->p(Lcom/alibaba/fastjson/serializer/t0;Ljava/lang/Object;Ljava/lang/Object;)V
const/16 v1, 0x7b
.line 8
:try_start_24
invoke-virtual {v9, v1}, Lcom/alibaba/fastjson/serializer/y0;->write(I)V
.line 9
invoke-virtual/range {p1 .. p1}, Lcom/alibaba/fastjson/serializer/e0;->m()V
.line 10
sget-object v1, Lcom/alibaba/fastjson/serializer/z0;->WriteClassName:Lcom/alibaba/fastjson/serializer/z0;
invoke-virtual {v9, v1}, Lcom/alibaba/fastjson/serializer/y0;->u(Lcom/alibaba/fastjson/serializer/z0;)Z
move-result v1
const/4 v2, 0x1
if-eqz v1, :cond_61
.line 11
iget-object v1, v8, Lcom/alibaba/fastjson/serializer/e0;->i:Lcom/alibaba/fastjson/serializer/v0;
iget-object v1, v1, Lcom/alibaba/fastjson/serializer/v0;->c:Ljava/lang/String;
.line 12
invoke-virtual {v10}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v3
.line 13
const-class v4, Lcom/alibaba/fastjson/e;
if-eq v3, v4, :cond_47
const-class v4, Ljava/util/HashMap;
if-eq v3, v4, :cond_47
const-class v4, Ljava/util/LinkedHashMap;
if-ne v3, v4, :cond_4f
.line 14
:cond_47
invoke-interface {v10, v1}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_4f
const/4 v3, 0x1
goto :goto_50
:cond_4f
const/4 v3, 0x0
:goto_50
if-nez v3, :cond_61
.line 15
invoke-virtual {v9, v1}, Lcom/alibaba/fastjson/serializer/y0;->C(Ljava/lang/String;)V
.line 16
invoke-virtual/range {p2 .. p2}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v9, v1}, Lcom/alibaba/fastjson/serializer/y0;->U(Ljava/lang/String;)V
const/4 v2, 0x0
.line 17
:cond_61
invoke-interface {v10}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object v1
invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v13
const/4 v1, 0x0
move-object v14, v1
move-object v15, v14
move/from16 v16, v2
:goto_6e
invoke-interface {v13}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_2cd
invoke-interface {v13}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/util/Map$Entry;
.line 18
invoke-interface {v1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v6
.line 19
invoke-interface {v1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v1
.line 20
iget-object v2, v8, Lcom/alibaba/fastjson/serializer/x0;->f:Ljava/util/ArrayList;
if-eqz v2, :cond_b6
.line 21
invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
move-result v2
if-lez v2, :cond_b6
if-eqz v1, :cond_ac
.line 22
instance-of v2, v1, Ljava/lang/String;
if-eqz v2, :cond_93
goto :goto_ac
.line 23
:cond_93
invoke-virtual {v1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Class;->isPrimitive()Z
move-result v2
if-nez v2, :cond_a1
instance-of v2, v1, Ljava/lang/Number;
if-eqz v2, :cond_b6
.line 24
:cond_a1
invoke-static {v1}, Lcom/alibaba/fastjson/a;->k(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
.line 25
invoke-virtual {v7, v8, v0, v2}, Lcom/alibaba/fastjson/serializer/x0;->f(Lcom/alibaba/fastjson/serializer/e0;Ljava/lang/Object;Ljava/lang/String;)Z
move-result v2
if-nez v2, :cond_b6
goto :goto_6e
.line 26
:cond_ac
:goto_ac
move-object v2, v1
check-cast v2, Ljava/lang/String;
invoke-virtual {v7, v8, v0, v2}, Lcom/alibaba/fastjson/serializer/x0;->f(Lcom/alibaba/fastjson/serializer/e0;Ljava/lang/Object;Ljava/lang/String;)Z
move-result v2
if-nez v2, :cond_b6
goto :goto_6e
.line 27
:cond_b6
iget-object v2, v7, Lcom/alibaba/fastjson/serializer/x0;->f:Ljava/util/ArrayList;
if-eqz v2, :cond_ea
.line 28
invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
move-result v2
if-lez v2, :cond_ea
if-eqz v1, :cond_e0
.line 29
instance-of v2, v1, Ljava/lang/String;
if-eqz v2, :cond_c7
goto :goto_e0
.line 30
:cond_c7
invoke-virtual {v1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Class;->isPrimitive()Z
move-result v2
if-nez v2, :cond_d5
instance-of v2, v1, Ljava/lang/Number;
if-eqz v2, :cond_ea
.line 31
:cond_d5
invoke-static {v1}, Lcom/alibaba/fastjson/a;->k(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
.line 32
invoke-virtual {v7, v8, v0, v2}, Lcom/alibaba/fastjson/serializer/x0;->f(Lcom/alibaba/fastjson/serializer/e0;Ljava/lang/Object;Ljava/lang/String;)Z
move-result v2
if-nez v2, :cond_ea
goto :goto_6e
.line 33
:cond_e0
:goto_e0
move-object v2, v1
check-cast v2, Ljava/lang/String;
invoke-virtual {v7, v8, v0, v2}, Lcom/alibaba/fastjson/serializer/x0;->f(Lcom/alibaba/fastjson/serializer/e0;Ljava/lang/Object;Ljava/lang/String;)Z
move-result v2
if-nez v2, :cond_ea
goto :goto_6e
.line 34
:cond_ea
iget-object v2, v8, Lcom/alibaba/fastjson/serializer/x0;->c:Ljava/util/ArrayList;
if-eqz v2, :cond_120
.line 35
invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
move-result v2
if-lez v2, :cond_120
if-eqz v1, :cond_115
.line 36
instance-of v2, v1, Ljava/lang/String;
if-eqz v2, :cond_fb
goto :goto_115
.line 37
:cond_fb
invoke-virtual {v1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Class;->isPrimitive()Z
move-result v2
if-nez v2, :cond_109
instance-of v2, v1, Ljava/lang/Number;
if-eqz v2, :cond_120
.line 38
:cond_109
invoke-static {v1}, Lcom/alibaba/fastjson/a;->k(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
.line 39
invoke-virtual {v7, v8, v0, v2, v6}, Lcom/alibaba/fastjson/serializer/x0;->c(Lcom/alibaba/fastjson/serializer/e0;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_120
goto/16 :goto_6e
.line 40
:cond_115
:goto_115
move-object v2, v1
check-cast v2, Ljava/lang/String;
invoke-virtual {v7, v8, v0, v2, v6}, Lcom/alibaba/fastjson/serializer/x0;->c(Lcom/alibaba/fastjson/serializer/e0;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_120
goto/16 :goto_6e
.line 41
:cond_120
iget-object v2, v7, Lcom/alibaba/fastjson/serializer/x0;->c:Ljava/util/ArrayList;
if-eqz v2, :cond_156
.line 42
invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
move-result v2
if-lez v2, :cond_156
if-eqz v1, :cond_14b
.line 43
instance-of v2, v1, Ljava/lang/String;
if-eqz v2, :cond_131
goto :goto_14b
.line 44
:cond_131
invoke-virtual {v1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Class;->isPrimitive()Z
move-result v2
if-nez v2, :cond_13f
instance-of v2, v1, Ljava/lang/Number;
if-eqz v2, :cond_156
.line 45
:cond_13f
invoke-static {v1}, Lcom/alibaba/fastjson/a;->k(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
.line 46
invoke-virtual {v7, v8, v0, v2, v6}, Lcom/alibaba/fastjson/serializer/x0;->c(Lcom/alibaba/fastjson/serializer/e0;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_156
goto/16 :goto_6e
.line 47
:cond_14b
:goto_14b
move-object v2, v1
check-cast v2, Ljava/lang/String;
invoke-virtual {v7, v8, v0, v2, v6}, Lcom/alibaba/fastjson/serializer/x0;->c(Lcom/alibaba/fastjson/serializer/e0;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_156
goto/16 :goto_6e
.line 48
:cond_156
iget-object v2, v8, Lcom/alibaba/fastjson/serializer/x0;->e:Ljava/util/ArrayList;
if-eqz v2, :cond_184
.line 49
invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
move-result v2
if-lez v2, :cond_184
if-eqz v1, :cond_17e
.line 50
instance-of v2, v1, Ljava/lang/String;
if-eqz v2, :cond_167
goto :goto_17e
.line 51
:cond_167
invoke-virtual {v1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Class;->isPrimitive()Z
move-result v2
if-nez v2, :cond_175
instance-of v2, v1, Ljava/lang/Number;
if-eqz v2, :cond_184
.line 52
:cond_175
invoke-static {v1}, Lcom/alibaba/fastjson/a;->k(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
.line 53
invoke-virtual {v7, v8, v0, v1, v6}, Lcom/alibaba/fastjson/serializer/x0;->g(Lcom/alibaba/fastjson/serializer/e0;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
goto :goto_184
.line 54
:cond_17e
:goto_17e
check-cast v1, Ljava/lang/String;
invoke-virtual {v7, v8, v0, v1, v6}, Lcom/alibaba/fastjson/serializer/x0;->g(Lcom/alibaba/fastjson/serializer/e0;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
.line 55
:cond_184
:goto_184
iget-object v2, v7, Lcom/alibaba/fastjson/serializer/x0;->e:Ljava/util/ArrayList;
if-eqz v2, :cond_1b2
.line 56
invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
move-result v2
if-lez v2, :cond_1b2
if-eqz v1, :cond_1ac
.line 57
instance-of v2, v1, Ljava/lang/String;
if-eqz v2, :cond_195
goto :goto_1ac
.line 58
:cond_195
invoke-virtual {v1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Class;->isPrimitive()Z
move-result v2
if-nez v2, :cond_1a3
instance-of v2, v1, Ljava/lang/Number;
if-eqz v2, :cond_1b2
.line 59
:cond_1a3
invoke-static {v1}, Lcom/alibaba/fastjson/a;->k(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
.line 60
invoke-virtual {v7, v8, v0, v1, v6}, Lcom/alibaba/fastjson/serializer/x0;->g(Lcom/alibaba/fastjson/serializer/e0;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
goto :goto_1b2
.line 61
:cond_1ac
:goto_1ac
check-cast v1, Ljava/lang/String;
invoke-virtual {v7, v8, v0, v1, v6}, Lcom/alibaba/fastjson/serializer/x0;->g(Lcom/alibaba/fastjson/serializer/e0;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
:cond_1b2
:goto_1b2
move-object v5, v1
.line 62
iget-object v1, v8, Lcom/alibaba/fastjson/serializer/x0;->d:Ljava/util/ArrayList;
.line 63
iget-object v2, v7, Lcom/alibaba/fastjson/serializer/x0;->h:Ljava/util/ArrayList;
if-eqz v1, :cond_1bf
.line 64
invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
move-result v1
if-gtz v1, :cond_1c7
:cond_1bf
if-eqz v2, :cond_200
.line 65
invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
move-result v1
if-lez v1, :cond_200
:cond_1c7
if-eqz v5, :cond_1ef
.line 66
instance-of v1, v5, Ljava/lang/String;
if-eqz v1, :cond_1ce
goto :goto_1ef
.line 67
:cond_1ce
invoke-virtual {v5}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Class;->isPrimitive()Z
move-result v1
if-nez v1, :cond_1dc
instance-of v1, v5, Ljava/lang/Number;
if-eqz v1, :cond_200
.line 68
:cond_1dc
invoke-static {v5}, Lcom/alibaba/fastjson/a;->k(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v17
const/4 v3, 0x0
move-object/from16 v1, p0
move-object/from16 v2, p1
move-object/from16 v4, p2
move-object v12, v5
move-object/from16 v5, v17
.line 69
invoke-virtual/range {v1 .. v6}, Lcom/alibaba/fastjson/serializer/x0;->h(Lcom/alibaba/fastjson/serializer/e0;Lcom/alibaba/fastjson/serializer/h;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
goto :goto_1fe
:cond_1ef
:goto_1ef
move-object v12, v5
const/4 v3, 0x0
.line 70
move-object v5, v12
check-cast v5, Ljava/lang/String;
move-object/from16 v1, p0
move-object/from16 v2, p1
move-object/from16 v4, p2
invoke-virtual/range {v1 .. v6}, Lcom/alibaba/fastjson/serializer/x0;->h(Lcom/alibaba/fastjson/serializer/e0;Lcom/alibaba/fastjson/serializer/h;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
:goto_1fe
move-object v6, v1
goto :goto_201
:cond_200
move-object v12, v5
.line 71
:goto_201
iget-object v1, v7, Lcom/alibaba/fastjson/serializer/x0;->d:Ljava/util/ArrayList;
.line 72
iget-object v2, v7, Lcom/alibaba/fastjson/serializer/x0;->h:Ljava/util/ArrayList;
if-eqz v1, :cond_20d
.line 73
invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
move-result v1
if-gtz v1, :cond_215
:cond_20d
if-eqz v2, :cond_24a
.line 74
invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
move-result v1
if-lez v1, :cond_24a
:cond_215
if-eqz v12, :cond_23a
.line 75
instance-of v1, v12, Ljava/lang/String;
if-eqz v1, :cond_21c
goto :goto_23a
.line 76
:cond_21c
invoke-virtual {v12}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Class;->isPrimitive()Z
move-result v1
if-nez v1, :cond_22a
instance-of v1, v12, Ljava/lang/Number;
if-eqz v1, :cond_24a
.line 77
:cond_22a
invoke-static {v12}, Lcom/alibaba/fastjson/a;->k(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v5
const/4 v3, 0x0
move-object/from16 v1, p0
move-object/from16 v2, p1
move-object/from16 v4, p2
.line 78
invoke-virtual/range {v1 .. v6}, Lcom/alibaba/fastjson/serializer/x0;->h(Lcom/alibaba/fastjson/serializer/e0;Lcom/alibaba/fastjson/serializer/h;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
goto :goto_248
:cond_23a
:goto_23a
const/4 v3, 0x0
.line 79
move-object v5, v12
check-cast v5, Ljava/lang/String;
move-object/from16 v1, p0
move-object/from16 v2, p1
move-object/from16 v4, p2
invoke-virtual/range {v1 .. v6}, Lcom/alibaba/fastjson/serializer/x0;->h(Lcom/alibaba/fastjson/serializer/e0;Lcom/alibaba/fastjson/serializer/h;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
:goto_248
move-object v3, v1
goto :goto_24b
:cond_24a
move-object v3, v6
:goto_24b
if-nez v3, :cond_257
.line 80
sget v1, Lcom/alibaba/fastjson/serializer/z0;->WRITE_MAP_NULL_FEATURES:I
invoke-virtual {v9, v1}, Lcom/alibaba/fastjson/serializer/y0;->o(I)Z
move-result v1
if-nez v1, :cond_257
goto/16 :goto_6e
.line 81
:cond_257
instance-of v1, v12, Ljava/lang/String;
const/16 v2, 0x2c
if-eqz v1, :cond_274
.line 82
move-object v5, v12
check-cast v5, Ljava/lang/String;
if-nez v16, :cond_265
.line 83
invoke-virtual {v9, v2}, Lcom/alibaba/fastjson/serializer/y0;->write(I)V
.line 84
:cond_265
sget-object v1, Lcom/alibaba/fastjson/serializer/z0;->PrettyFormat:Lcom/alibaba/fastjson/serializer/z0;
invoke-virtual {v9, v1}, Lcom/alibaba/fastjson/serializer/y0;->u(Lcom/alibaba/fastjson/serializer/z0;)Z
move-result v1
if-eqz v1, :cond_270
.line 85
invoke-virtual/range {p1 .. p1}, Lcom/alibaba/fastjson/serializer/e0;->o()V
.line 86
:cond_270
invoke-virtual {v9, v5}, Lcom/alibaba/fastjson/serializer/y0;->C(Ljava/lang/String;)V
goto :goto_2a2
:cond_274
if-nez v16, :cond_279
.line 87
invoke-virtual {v9, v2}, Lcom/alibaba/fastjson/serializer/y0;->write(I)V
.line 88
:cond_279
sget-object v1, Lcom/alibaba/fastjson/serializer/z0;->BrowserCompatible:Lcom/alibaba/fastjson/serializer/z0;
invoke-virtual {v9, v1}, Lcom/alibaba/fastjson/serializer/y0;->u(Lcom/alibaba/fastjson/serializer/z0;)Z
move-result v1
if-nez v1, :cond_296
sget-object v1, Lcom/alibaba/fastjson/serializer/z0;->WriteNonStringKeyAsString:Lcom/alibaba/fastjson/serializer/z0;
.line 89
invoke-virtual {v9, v1}, Lcom/alibaba/fastjson/serializer/y0;->u(Lcom/alibaba/fastjson/serializer/z0;)Z
move-result v1
if-nez v1, :cond_296
sget-object v1, Lcom/alibaba/fastjson/serializer/z0;->BrowserSecure:Lcom/alibaba/fastjson/serializer/z0;
.line 90
invoke-virtual {v9, v1}, Lcom/alibaba/fastjson/serializer/y0;->u(Lcom/alibaba/fastjson/serializer/z0;)Z
move-result v1
if-eqz v1, :cond_292
goto :goto_296
.line 91
:cond_292
invoke-virtual {v8, v12}, Lcom/alibaba/fastjson/serializer/e0;->r(Ljava/lang/Object;)V
goto :goto_29d
.line 92
:cond_296
:goto_296
invoke-static {v12}, Lcom/alibaba/fastjson/a;->k(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
.line 93
invoke-virtual {v8, v1}, Lcom/alibaba/fastjson/serializer/e0;->s(Ljava/lang/String;)V
:goto_29d
const/16 v1, 0x3a
.line 94
invoke-virtual {v9, v1}, Lcom/alibaba/fastjson/serializer/y0;->write(I)V
:goto_2a2
if-nez v3, :cond_2a8
.line 95
invoke-virtual {v9}, Lcom/alibaba/fastjson/serializer/y0;->K()V
goto :goto_2c9
.line 96
:cond_2a8
invoke-virtual {v3}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v6
if-ne v6, v14, :cond_2b8
const/4 v5, 0x0
const/4 v6, 0x0
move-object v1, v15
move-object/from16 v2, p1
move-object v4, v12
.line 97
invoke-interface/range {v1 .. v6}, Lcom/alibaba/fastjson/serializer/o0;->d(Lcom/alibaba/fastjson/serializer/e0;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;I)V
goto :goto_2c9
.line 98
:cond_2b8
invoke-virtual {v8, v6}, Lcom/alibaba/fastjson/serializer/e0;->l(Ljava/lang/Class;)Lcom/alibaba/fastjson/serializer/o0;
move-result-object v14
const/4 v5, 0x0
const/4 v15, 0x0
move-object v1, v14
move-object/from16 v2, p1
move-object v4, v12
move-object v12, v6
move v6, v15
.line 99
invoke-interface/range {v1 .. v6}, Lcom/alibaba/fastjson/serializer/o0;->d(Lcom/alibaba/fastjson/serializer/e0;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;I)V
:try_end_2c7
.catchall {:try_start_24 .. :try_end_2c7} :catchall_2e9
move-object v15, v14
move-object v14, v12
:goto_2c9
const/16 v16, 0x0
goto/16 :goto_6e
.line 100
:cond_2cd
iput-object v11, v8, Lcom/alibaba/fastjson/serializer/e0;->o:Lcom/alibaba/fastjson/serializer/t0;
.line 101
invoke-virtual/range {p1 .. p1}, Lcom/alibaba/fastjson/serializer/e0;->j()V
.line 102
sget-object v0, Lcom/alibaba/fastjson/serializer/z0;->PrettyFormat:Lcom/alibaba/fastjson/serializer/z0;
invoke-virtual {v9, v0}, Lcom/alibaba/fastjson/serializer/y0;->u(Lcom/alibaba/fastjson/serializer/z0;)Z
move-result v0
if-eqz v0, :cond_2e3
invoke-interface {v10}, Ljava/util/Map;->size()I
move-result v0
if-lez v0, :cond_2e3
.line 103
invoke-virtual/range {p1 .. p1}, Lcom/alibaba/fastjson/serializer/e0;->o()V
:cond_2e3
const/16 v0, 0x7d
.line 104
invoke-virtual {v9, v0}, Lcom/alibaba/fastjson/serializer/y0;->write(I)V
return-void
:catchall_2e9
move-exception v0
.line 105
iput-object v11, v8, Lcom/alibaba/fastjson/serializer/e0;->o:Lcom/alibaba/fastjson/serializer/t0;
throw v0
.end method