JavaBeanSerializer.smali
.class public Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;
.super Lcom/tradplus/ads/common/serialization/serializer/SerializeFilterable;
# interfaces
.implements Lcom/tradplus/ads/common/serialization/serializer/ObjectSerializer;
# instance fields
.field protected final a:[Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
.field protected final b:[Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
.field protected c:Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;
.field private volatile transient d:[J
.field private volatile transient e:[S
# direct methods
.method public constructor <init>(Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;)V
.registers 8
invoke-direct {p0}, Lcom/tradplus/ads/common/serialization/serializer/SerializeFilterable;-><init>()V
iput-object p1, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->c:Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;
iget-object v0, p1, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;->f:[Lcom/tradplus/ads/common/serialization/util/FieldInfo;
array-length v0, v0
new-array v0, v0, [Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
iput-object v0, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->b:[Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
const/4 v0, 0x0
const/4 v1, 0x0
:goto_e
iget-object v2, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->b:[Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
array-length v3, v2
if-ge v1, v3, :cond_23
new-instance v3, Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
iget-object v4, p1, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;->a:Ljava/lang/Class;
iget-object v5, p1, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;->f:[Lcom/tradplus/ads/common/serialization/util/FieldInfo;
aget-object v5, v5, v1
invoke-direct {v3, v4, v5}, Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;-><init>(Ljava/lang/Class;Lcom/tradplus/ads/common/serialization/util/FieldInfo;)V
aput-object v3, v2, v1
add-int/lit8 v1, v1, 0x1
goto :goto_e
:cond_23
iget-object v1, p1, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;->e:[Lcom/tradplus/ads/common/serialization/util/FieldInfo;
iget-object v3, p1, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;->f:[Lcom/tradplus/ads/common/serialization/util/FieldInfo;
if-ne v1, v3, :cond_2c
iput-object v2, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->a:[Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
goto :goto_57
:cond_2c
array-length v1, v1
new-array v1, v1, [Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
iput-object v1, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->a:[Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
const/4 v1, 0x0
:goto_32
iget-object v2, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->a:[Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
array-length v2, v2
if-ge v1, v2, :cond_4c
iget-object v2, p1, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;->e:[Lcom/tradplus/ads/common/serialization/util/FieldInfo;
aget-object v2, v2, v1
iget-object v2, v2, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;
invoke-virtual {p0, v2}, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->getFieldSerializer(Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
move-result-object v2
if-nez v2, :cond_45
const/4 v1, 0x1
goto :goto_4d
:cond_45
iget-object v3, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->a:[Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
aput-object v2, v3, v1
add-int/lit8 v1, v1, 0x1
goto :goto_32
:cond_4c
const/4 v1, 0x0
:goto_4d
if-eqz v1, :cond_57
iget-object v1, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->b:[Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
iget-object v2, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->a:[Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
array-length v3, v1
invoke-static {v1, v0, v2, v0, v3}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
:cond_57
:goto_57
iget-object p1, p1, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;->d:Lcom/tradplus/ads/common/serialization/annotation/JSONType;
if-eqz p1, :cond_79
invoke-interface {p1}, Lcom/tradplus/ads/common/serialization/annotation/JSONType;->serialzeFilters()[Ljava/lang/Class;
move-result-object p1
array-length v1, p1
const/4 v2, 0x0
:goto_61
if-ge v2, v1, :cond_79
aget-object v3, p1, v2
:try_start_65
new-array v4, v0, [Ljava/lang/Class;
invoke-virtual {v3, v4}, Ljava/lang/Class;->getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
move-result-object v3
new-array v4, v0, [Ljava/lang/Object;
invoke-virtual {v3, v4}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/tradplus/ads/common/serialization/serializer/SerializeFilter;
invoke-virtual {p0, v3}, Lcom/tradplus/ads/common/serialization/serializer/SerializeFilterable;->addFilter(Lcom/tradplus/ads/common/serialization/serializer/SerializeFilter;)V
:try_end_76
.catch Ljava/lang/Exception; {:try_start_65 .. :try_end_76} :catch_76
:catch_76
add-int/lit8 v2, v2, 0x1
goto :goto_61
:cond_79
return-void
.end method
.method public constructor <init>(Ljava/lang/Class;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;)V"
}
.end annotation
const/4 v0, 0x0
invoke-direct {p0, p1, v0}, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;-><init>(Ljava/lang/Class;Ljava/util/Map;)V
return-void
.end method
.method public constructor <init>(Ljava/lang/Class;Ljava/util/Map;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;)V"
}
.end annotation
const/4 v0, 0x0
invoke-static {p1, p2, v0}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->buildBeanInfo(Ljava/lang/Class;Ljava/util/Map;Lcom/tradplus/ads/common/serialization/PropertyNamingStrategy;)Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;
move-result-object p1
invoke-direct {p0, p1}, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;-><init>(Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;)V
return-void
.end method
.method public varargs constructor <init>(Ljava/lang/Class;[Ljava/lang/String;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;[",
"Ljava/lang/String;",
")V"
}
.end annotation
invoke-static {p2}, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->a([Ljava/lang/String;)Ljava/util/Map;
move-result-object p2
invoke-direct {p0, p1, p2}, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;-><init>(Ljava/lang/Class;Ljava/util/Map;)V
return-void
.end method
.method static varargs a([Ljava/lang/String;)Ljava/util/Map;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Ljava/lang/String;",
")",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
array-length v1, p0
const/4 v2, 0x0
:goto_7
if-ge v2, v1, :cond_11
aget-object v3, p0, v2
invoke-interface {v0, v3, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
add-int/lit8 v2, v2, 0x1
goto :goto_7
:cond_11
return-object v0
.end method
# virtual methods
.method protected a(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;Ljava/lang/Object;C)C
.registers 6
iget-object v0, p1, Lcom/tradplus/ads/common/serialization/serializer/SerializeFilterable;->f:Ljava/util/List;
if-eqz v0, :cond_19
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_8
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_19
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/tradplus/ads/common/serialization/serializer/BeforeFilter;
invoke-virtual {v1, p1, p2, p3}, Lcom/tradplus/ads/common/serialization/serializer/BeforeFilter;->a(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;Ljava/lang/Object;C)C
move-result p3
goto :goto_8
:cond_19
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/serializer/SerializeFilterable;->f:Ljava/util/List;
if-eqz v0, :cond_32
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_21
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_32
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/tradplus/ads/common/serialization/serializer/BeforeFilter;
invoke-virtual {v1, p1, p2, p3}, Lcom/tradplus/ads/common/serialization/serializer/BeforeFilter;->a(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;Ljava/lang/Object;C)C
move-result p3
goto :goto_21
:cond_32
return p3
.end method
.method protected a(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;IZ)V
.registers 41
move-object/from16 v8, p0
move-object/from16 v9, p1
move-object/from16 v10, p2
move-object/from16 v11, p3
move-object/from16 v12, p4
move/from16 v13, p5
iget-object v14, v9, Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;->out:Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;
if-nez v10, :cond_14
invoke-virtual {v14}, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;->writeNull()V
return-void
:cond_14
invoke-virtual {v8, v9, v10, v13}, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->writeReference(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;Ljava/lang/Object;I)Z
move-result v1
if-eqz v1, :cond_1b
return-void
:cond_1b
iget-boolean v1, v14, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;->f:Z
if-eqz v1, :cond_22
iget-object v1, v8, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->b:[Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
goto :goto_24
:cond_22
iget-object v1, v8, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->a:[Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
:goto_24
move-object v15, v1
iget-object v7, v9, Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;->c:Lcom/tradplus/ads/common/serialization/serializer/SerialContext;
iget-object v1, v8, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->c:Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;
iget-object v1, v1, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;->a:Ljava/lang/Class;
invoke-virtual {v1}, Ljava/lang/Class;->isEnum()Z
move-result v1
if-nez v1, :cond_41
iget-object v1, v8, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->c:Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;
iget v5, v1, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;->g:I
move-object/from16 v1, p1
move-object v2, v7
move-object/from16 v3, p2
move-object/from16 v4, p3
move/from16 v6, p5
invoke-virtual/range {v1 .. v6}, Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;->setContext(Lcom/tradplus/ads/common/serialization/serializer/SerialContext;Ljava/lang/Object;Ljava/lang/Object;II)V
:cond_41
invoke-virtual {v8, v9, v13}, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->a(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;I)Z
move-result v16
if-eqz v16, :cond_4a
const/16 v1, 0x5b
goto :goto_4c
:cond_4a
const/16 v1, 0x7b
:goto_4c
if-eqz v16, :cond_53
const/16 v2, 0x5d
const/16 v6, 0x5d
goto :goto_57
:cond_53
const/16 v2, 0x7d
const/16 v6, 0x7d
:goto_57
const/16 v17, 0x0
if-nez p6, :cond_6a
:try_start_5b
invoke-virtual {v14, v1}, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;->append(C)Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;
:try_end_5e
.catch Ljava/lang/Exception; {:try_start_5b .. :try_end_5e} :catch_64
.catchall {:try_start_5b .. :try_end_5e} :catchall_5f
goto :goto_6a
:catchall_5f
move-exception v0
move-object v1, v0
move-object v2, v7
goto/16 :goto_5c5
:catch_64
move-exception v0
move-object v3, v0
move-object v2, v7
move-object v1, v10
goto/16 :goto_519
:cond_6a
:goto_6a
:try_start_6a
array-length v1, v15
:try_end_6b
.catch Ljava/lang/Exception; {:try_start_6a .. :try_end_6b} :catch_515
.catchall {:try_start_6a .. :try_end_6b} :catchall_510
if-lez v1, :cond_7b
:try_start_6d
sget-object v1, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->PrettyFormat:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
invoke-virtual {v14, v1}, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;->isEnabled(Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;)Z
move-result v1
if-eqz v1, :cond_7b
invoke-virtual/range {p1 .. p1}, Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;->incrementIndent()V
invoke-virtual/range {p1 .. p1}, Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;->println()V
:try_end_7b
.catch Ljava/lang/Exception; {:try_start_6d .. :try_end_7b} :catch_64
.catchall {:try_start_6d .. :try_end_7b} :catchall_5f
:cond_7b
:try_start_7b
iget-object v1, v8, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->c:Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;
iget v1, v1, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;->g:I
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteClassName:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
iget v2, v2, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I
:try_end_83
.catch Ljava/lang/Exception; {:try_start_7b .. :try_end_83} :catch_515
.catchall {:try_start_7b .. :try_end_83} :catchall_510
and-int/2addr v1, v2
if-nez v1, :cond_93
:try_start_86
sget-object v1, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteClassName:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
iget v1, v1, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I
and-int/2addr v1, v13
if-nez v1, :cond_93
invoke-virtual {v9, v12, v10}, Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;->isWriteClassName(Ljava/lang/reflect/Type;Ljava/lang/Object;)Z
move-result v1
:try_end_91
.catch Ljava/lang/Exception; {:try_start_86 .. :try_end_91} :catch_64
.catchall {:try_start_86 .. :try_end_91} :catchall_5f
if-eqz v1, :cond_ae
:cond_93
:try_start_93
invoke-virtual/range {p2 .. p2}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
:try_end_97
.catch Ljava/lang/Exception; {:try_start_93 .. :try_end_97} :catch_515
.catchall {:try_start_93 .. :try_end_97} :catchall_510
if-eq v1, v12, :cond_a2
:try_start_99
instance-of v2, v12, Ljava/lang/reflect/WildcardType;
if-eqz v2, :cond_a2
invoke-static/range {p4 .. p4}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->getClass(Ljava/lang/reflect/Type;)Ljava/lang/Class;
move-result-object v2
goto :goto_a3
:cond_a2
move-object v2, v12
:goto_a3
if-eq v1, v2, :cond_ae
iget-object v1, v8, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->c:Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;
iget-object v1, v1, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;->c:Ljava/lang/String;
invoke-virtual {v8, v9, v1, v10}, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->a(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;Ljava/lang/String;Ljava/lang/Object;)V
:try_end_ac
.catch Ljava/lang/Exception; {:try_start_99 .. :try_end_ac} :catch_64
.catchall {:try_start_99 .. :try_end_ac} :catchall_5f
const/4 v1, 0x1
goto :goto_af
:cond_ae
const/4 v1, 0x0
:goto_af
const/16 v3, 0x2c
if-eqz v1, :cond_b6
const/16 v1, 0x2c
goto :goto_b7
:cond_b6
const/4 v1, 0x0
:goto_b7
:try_start_b7
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteClassName:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
invoke-virtual {v14, v2}, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;->isEnabled(Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;)Z
move-result v18
invoke-virtual {v8, v9, v10, v1}, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->a(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;Ljava/lang/Object;C)C
move-result v1
if-ne v1, v3, :cond_c5
const/4 v1, 0x1
goto :goto_c6
:cond_c5
const/4 v1, 0x0
:goto_c6
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->SkipTransientField:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
invoke-virtual {v14, v2}, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;->isEnabled(Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;)Z
move-result v19
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->IgnoreNonFieldGetter:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
invoke-virtual {v14, v2}, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;->isEnabled(Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;)Z
move-result v20
:try_end_d2
.catch Ljava/lang/Exception; {:try_start_b7 .. :try_end_d2} :catch_515
.catchall {:try_start_b7 .. :try_end_d2} :catchall_510
move/from16 v21, v1
move-object/from16 v1, v17
const/4 v2, 0x0
:goto_d7
:try_start_d7
array-length v3, v15
:try_end_d8
.catch Ljava/lang/Exception; {:try_start_d7 .. :try_end_d8} :catch_507
.catchall {:try_start_d7 .. :try_end_d8} :catchall_510
if-ge v2, v3, :cond_4bc
:try_start_da
aget-object v3, v15, v2
iget-object v4, v3, Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;->fieldInfo:Lcom/tradplus/ads/common/serialization/util/FieldInfo;
iget-object v4, v4, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->field:Ljava/lang/reflect/Field;
iget-object v13, v3, Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;->fieldInfo:Lcom/tradplus/ads/common/serialization/util/FieldInfo;
iget-object v11, v13, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;
move-object/from16 v24, v15
iget-object v15, v13, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;
iget v5, v14, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;->c:I
:try_end_ea
.catch Ljava/lang/Exception; {:try_start_da .. :try_end_ea} :catch_4b4
.catchall {:try_start_da .. :try_end_ea} :catchall_5f
move-object/from16 v26, v1
:try_start_ec
iget v1, v13, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->serialzeFeatures:I
move/from16 v27, v2
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->UseSingleQuotes:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
invoke-static {v5, v1, v2}, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->isEnabled(IILcom/tradplus/ads/common/serialization/serializer/SerializerFeature;)Z
move-result v28
iget-boolean v1, v14, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;->e:Z
:try_end_f8
.catch Ljava/lang/Exception; {:try_start_ec .. :try_end_f8} :catch_4b2
.catchall {:try_start_ec .. :try_end_f8} :catchall_5f
if-eqz v1, :cond_ff
if-nez v28, :cond_ff
const/16 v29, 0x1
goto :goto_101
:cond_ff
const/16 v29, 0x0
:goto_101
if-eqz v19, :cond_110
if-eqz v13, :cond_110
:try_start_105
iget-boolean v1, v13, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldTransient:Z
:try_end_107
.catch Ljava/lang/Exception; {:try_start_105 .. :try_end_107} :catch_10a
.catchall {:try_start_105 .. :try_end_107} :catchall_5f
if-eqz v1, :cond_110
goto :goto_114
:catch_10a
move-exception v0
move-object v3, v0
move-object v2, v7
move-object v1, v10
goto/16 :goto_50d
:cond_110
if-eqz v20, :cond_11e
if-nez v4, :cond_11e
:cond_114
:goto_114
move/from16 v32, v6
move-object/from16 v33, v7
const/4 v4, 0x1
const/4 v6, 0x0
const/16 v10, 0x2c
goto/16 :goto_49e
:cond_11e
:try_start_11e
invoke-virtual {v8, v9, v10, v11}, Lcom/tradplus/ads/common/serialization/serializer/SerializeFilterable;->applyName(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;Ljava/lang/Object;Ljava/lang/String;)Z
move-result v1
:try_end_122
.catch Ljava/lang/Exception; {:try_start_11e .. :try_end_122} :catch_4b2
.catchall {:try_start_11e .. :try_end_122} :catchall_5f
if-eqz v1, :cond_12f
:try_start_124
iget-object v1, v13, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->label:Ljava/lang/String;
invoke-virtual {v8, v9, v1}, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->a(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;Ljava/lang/String;)Z
move-result v1
:try_end_12a
.catch Ljava/lang/Exception; {:try_start_124 .. :try_end_12a} :catch_10a
.catchall {:try_start_124 .. :try_end_12a} :catchall_5f
if-nez v1, :cond_12d
goto :goto_12f
:cond_12d
const/4 v1, 0x0
goto :goto_132
:cond_12f
:goto_12f
if-eqz v16, :cond_114
const/4 v1, 0x1
:goto_132
:try_start_132
iget-object v2, v8, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->c:Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;
iget-object v2, v2, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;->c:Ljava/lang/String;
:try_end_136
.catch Ljava/lang/Exception; {:try_start_132 .. :try_end_136} :catch_4b2
.catchall {:try_start_132 .. :try_end_136} :catchall_5f
if-eqz v2, :cond_149
:try_start_138
iget-object v2, v8, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->c:Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;
iget-object v2, v2, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;->c:Ljava/lang/String;
invoke-virtual {v11, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_149
invoke-virtual {v9, v12, v10}, Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;->isWriteClassName(Ljava/lang/reflect/Type;Ljava/lang/Object;)Z
move-result v2
:try_end_146
.catch Ljava/lang/Exception; {:try_start_138 .. :try_end_146} :catch_10a
.catchall {:try_start_138 .. :try_end_146} :catchall_5f
if-eqz v2, :cond_149
goto :goto_114
:cond_149
if-eqz v1, :cond_14e
:goto_14b
move-object/from16 v1, v17
goto :goto_160
:cond_14e
:try_start_14e
invoke-virtual {v3, v10}, Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;->getPropertyValueDirect(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
:try_end_152
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_14e .. :try_end_152} :catch_153
.catch Ljava/lang/Exception; {:try_start_14e .. :try_end_152} :catch_10a
.catchall {:try_start_14e .. :try_end_152} :catchall_5f
goto :goto_160
:catch_153
move-exception v0
move-object v1, v0
:try_start_155
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->IgnoreErrorGetter:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
invoke-virtual {v14, v2}, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;->isEnabled(Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;)Z
move-result v2
:try_end_15b
.catch Ljava/lang/Exception; {:try_start_155 .. :try_end_15b} :catch_496
.catchall {:try_start_155 .. :try_end_15b} :catchall_5f
if-eqz v2, :cond_48c
move-object/from16 v26, v3
goto :goto_14b
:goto_160
:try_start_160
invoke-virtual {v8, v9, v10, v11, v1}, Lcom/tradplus/ads/common/serialization/serializer/SerializeFilterable;->apply(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_167
goto :goto_114
:cond_167
const-class v2, Ljava/lang/String;
:try_end_169
.catch Ljava/lang/Exception; {:try_start_160 .. :try_end_169} :catch_4b2
.catchall {:try_start_160 .. :try_end_169} :catchall_5f
if-ne v15, v2, :cond_17d
:try_start_16b
const-string v2, "trim"
iget-object v4, v13, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->format:Ljava/lang/String;
invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_17d
if-eqz v1, :cond_17d
check-cast v1, Ljava/lang/String;
invoke-virtual {v1}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v1
:try_end_17d
.catch Ljava/lang/Exception; {:try_start_16b .. :try_end_17d} :catch_10a
.catchall {:try_start_16b .. :try_end_17d} :catchall_5f
:cond_17d
move-object v5, v1
:try_start_17e
invoke-virtual {v8, v9, v10, v11, v5}, Lcom/tradplus/ads/common/serialization/serializer/SerializeFilterable;->a(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
move-result-object v4
iget-object v2, v3, Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;->c:Lcom/tradplus/ads/common/serialization/serializer/BeanContext;
:try_end_184
.catch Ljava/lang/Exception; {:try_start_17e .. :try_end_184} :catch_4b2
.catchall {:try_start_17e .. :try_end_184} :catchall_5f
move-object/from16 v1, p0
move-object/from16 v30, v2
move-object/from16 v2, p1
move-object v12, v3
const/16 v10, 0x2c
move-object/from16 v3, v30
move-object/from16 v31, v4
const/16 v23, 0x0
move-object/from16 v4, p2
move-object/from16 v22, v5
move-object v5, v11
move/from16 v32, v6
move-object/from16 v6, v22
move-object/from16 v33, v7
move/from16 v7, p5
:try_start_1a0
invoke-virtual/range {v1 .. v7}, Lcom/tradplus/ads/common/serialization/serializer/SerializeFilterable;->a(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;Lcom/tradplus/ads/common/serialization/serializer/BeanContext;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;I)Ljava/lang/Object;
move-result-object v1
:try_end_1a4
.catch Ljava/lang/Exception; {:try_start_1a0 .. :try_end_1a4} :catch_487
.catchall {:try_start_1a0 .. :try_end_1a4} :catchall_4e6
const-string v2, ""
if-nez v1, :cond_2b3
:try_start_1a8
iget v3, v13, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->serialzeFeatures:I
invoke-virtual {v13}, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->getAnnotation()Lcom/tradplus/ads/common/serialization/annotation/JSONField;
move-result-object v4
iget-object v5, v8, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->c:Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;
iget-object v5, v5, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;->d:Lcom/tradplus/ads/common/serialization/annotation/JSONType;
if-eqz v5, :cond_1c1
iget-object v5, v8, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->c:Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;
iget-object v5, v5, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;->d:Lcom/tradplus/ads/common/serialization/annotation/JSONType;
invoke-interface {v5}, Lcom/tradplus/ads/common/serialization/annotation/JSONType;->serialzeFeatures()[Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
move-result-object v5
invoke-static {v5}, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->of([Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;)I
move-result v5
or-int/2addr v3, v5
:cond_1c1
if-eqz v4, :cond_1d3
invoke-interface {v4}, Lcom/tradplus/ads/common/serialization/annotation/JSONField;->defaultValue()Ljava/lang/String;
move-result-object v5
invoke-virtual {v2, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v5
if-nez v5, :cond_1d3
invoke-interface {v4}, Lcom/tradplus/ads/common/serialization/annotation/JSONField;->defaultValue()Ljava/lang/String;
move-result-object v1
goto/16 :goto_2b3
:cond_1d3
const-class v4, Ljava/lang/Boolean;
if-ne v15, v4, :cond_204
sget-object v4, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteNullBooleanAsFalse:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
iget v4, v4, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I
sget-object v5, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteMapNullValue:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
iget v5, v5, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I
or-int/2addr v5, v4
if-nez v16, :cond_1ed
and-int v6, v3, v5
if-nez v6, :cond_1ed
iget v6, v14, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;->c:I
and-int/2addr v5, v6
if-nez v5, :cond_1ed
goto/16 :goto_36e
:cond_1ed
and-int v5, v3, v4
if-eqz v5, :cond_1f7
:goto_1f1
invoke-static/range {v23 .. v23}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v1
goto/16 :goto_2b3
:cond_1f7
iget v5, v14, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;->c:I
and-int/2addr v4, v5
if-eqz v4, :cond_2b3
sget-object v4, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteMapNullValue:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
iget v4, v4, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I
and-int/2addr v3, v4
if-nez v3, :cond_2b3
goto :goto_1f1
:cond_204
const-class v4, Ljava/lang/String;
if-ne v15, v4, :cond_232
sget-object v4, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteNullStringAsEmpty:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
iget v4, v4, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I
sget-object v5, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteMapNullValue:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
iget v5, v5, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I
or-int/2addr v5, v4
if-nez v16, :cond_21e
and-int v6, v3, v5
if-nez v6, :cond_21e
iget v6, v14, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;->c:I
and-int/2addr v5, v6
if-nez v5, :cond_21e
goto/16 :goto_36e
:cond_21e
and-int v5, v3, v4
if-eqz v5, :cond_225
:goto_222
move-object v1, v2
goto/16 :goto_2b3
:cond_225
iget v5, v14, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;->c:I
and-int/2addr v4, v5
if-eqz v4, :cond_2b3
sget-object v4, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteMapNullValue:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
iget v4, v4, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I
and-int/2addr v3, v4
if-nez v3, :cond_2b3
goto :goto_222
:cond_232
const-class v4, Ljava/lang/Number;
invoke-virtual {v4, v15}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v4
if-eqz v4, :cond_266
sget-object v4, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteNullNumberAsZero:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
iget v4, v4, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I
sget-object v5, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteMapNullValue:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
iget v5, v5, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I
or-int/2addr v5, v4
if-nez v16, :cond_250
and-int v6, v3, v5
if-nez v6, :cond_250
iget v6, v14, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;->c:I
and-int/2addr v5, v6
if-nez v5, :cond_250
goto/16 :goto_36e
:cond_250
and-int v5, v3, v4
if-eqz v5, :cond_259
:goto_254
invoke-static/range {v23 .. v23}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
goto :goto_2b3
:cond_259
iget v5, v14, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;->c:I
and-int/2addr v4, v5
if-eqz v4, :cond_2b3
sget-object v4, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteMapNullValue:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
iget v4, v4, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I
and-int/2addr v3, v4
if-nez v3, :cond_2b3
goto :goto_254
:cond_266
const-class v4, Ljava/util/Collection;
invoke-virtual {v4, v15}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v4
if-eqz v4, :cond_29a
sget-object v4, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteNullListAsEmpty:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
iget v4, v4, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I
sget-object v5, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteMapNullValue:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
iget v5, v5, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I
or-int/2addr v5, v4
if-nez v16, :cond_284
and-int v6, v3, v5
if-nez v6, :cond_284
iget v6, v14, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;->c:I
and-int/2addr v5, v6
if-nez v5, :cond_284
goto/16 :goto_36e
:cond_284
and-int v5, v3, v4
if-eqz v5, :cond_28d
:goto_288
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object v1
goto :goto_2b3
:cond_28d
iget v5, v14, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;->c:I
and-int/2addr v4, v5
if-eqz v4, :cond_2b3
sget-object v4, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteMapNullValue:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
iget v4, v4, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I
and-int/2addr v3, v4
if-nez v3, :cond_2b3
goto :goto_288
:cond_29a
if-nez v16, :cond_2b3
iget-boolean v4, v12, Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;->a:Z
if-nez v4, :cond_2b3
sget-object v4, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteMapNullValue:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
iget v4, v4, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I
invoke-virtual {v14, v4}, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;->isEnabled(I)Z
move-result v4
if-nez v4, :cond_2b3
sget-object v4, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteMapNullValue:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
iget v4, v4, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I
and-int/2addr v3, v4
if-nez v3, :cond_2b3
goto/16 :goto_36e
:cond_2b3
:goto_2b3
if-eqz v1, :cond_35b
iget-boolean v3, v14, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;->j:Z
if-nez v3, :cond_2cd
iget v3, v13, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->serialzeFeatures:I
sget-object v4, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->NotWriteDefaultValue:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
iget v4, v4, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I
and-int/2addr v3, v4
if-nez v3, :cond_2cd
iget-object v3, v8, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->c:Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;
iget v3, v3, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;->g:I
sget-object v4, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->NotWriteDefaultValue:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
iget v4, v4, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I
and-int/2addr v3, v4
if-eqz v3, :cond_35b
:cond_2cd
iget-object v3, v13, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;
sget-object v4, Ljava/lang/Byte;->TYPE:Ljava/lang/Class;
if-ne v3, v4, :cond_2e2
instance-of v4, v1, Ljava/lang/Byte;
if-eqz v4, :cond_2e2
move-object v4, v1
check-cast v4, Ljava/lang/Byte;
invoke-virtual {v4}, Ljava/lang/Byte;->byteValue()B
move-result v4
if-nez v4, :cond_2e2
goto/16 :goto_36e
:cond_2e2
sget-object v4, Ljava/lang/Short;->TYPE:Ljava/lang/Class;
if-ne v3, v4, :cond_2f5
instance-of v4, v1, Ljava/lang/Short;
if-eqz v4, :cond_2f5
move-object v4, v1
check-cast v4, Ljava/lang/Short;
invoke-virtual {v4}, Ljava/lang/Short;->shortValue()S
move-result v4
if-nez v4, :cond_2f5
goto/16 :goto_36e
:cond_2f5
sget-object v4, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
if-ne v3, v4, :cond_308
instance-of v4, v1, Ljava/lang/Integer;
if-eqz v4, :cond_308
move-object v4, v1
check-cast v4, Ljava/lang/Integer;
invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
move-result v4
if-nez v4, :cond_308
goto/16 :goto_36e
:cond_308
sget-object v4, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
if-ne v3, v4, :cond_31e
instance-of v4, v1, Ljava/lang/Long;
if-eqz v4, :cond_31e
move-object v4, v1
check-cast v4, Ljava/lang/Long;
invoke-virtual {v4}, Ljava/lang/Long;->longValue()J
move-result-wide v4
const-wide/16 v6, 0x0
cmp-long v25, v4, v6
if-nez v25, :cond_31e
goto :goto_36e
:cond_31e
sget-object v4, Ljava/lang/Float;->TYPE:Ljava/lang/Class;
if-ne v3, v4, :cond_333
instance-of v4, v1, Ljava/lang/Float;
if-eqz v4, :cond_333
move-object v4, v1
check-cast v4, Ljava/lang/Float;
invoke-virtual {v4}, Ljava/lang/Float;->floatValue()F
move-result v4
const/4 v5, 0x0
cmpl-float v4, v4, v5
if-nez v4, :cond_333
goto :goto_36e
:cond_333
sget-object v4, Ljava/lang/Double;->TYPE:Ljava/lang/Class;
if-ne v3, v4, :cond_349
instance-of v4, v1, Ljava/lang/Double;
if-eqz v4, :cond_349
move-object v4, v1
check-cast v4, Ljava/lang/Double;
invoke-virtual {v4}, Ljava/lang/Double;->doubleValue()D
move-result-wide v4
const-wide/16 v6, 0x0
cmpl-double v25, v4, v6
if-nez v25, :cond_349
goto :goto_36e
:cond_349
sget-object v4, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
if-ne v3, v4, :cond_35b
instance-of v3, v1, Ljava/lang/Boolean;
if-eqz v3, :cond_35b
move-object v3, v1
check-cast v3, Ljava/lang/Boolean;
invoke-virtual {v3}, Ljava/lang/Boolean;->booleanValue()Z
move-result v3
if-nez v3, :cond_35b
goto :goto_36e
:cond_35b
if-eqz v21, :cond_380
iget-boolean v3, v13, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->unwrapped:Z
if-eqz v3, :cond_372
instance-of v3, v1, Ljava/util/Map;
if-eqz v3, :cond_372
move-object v3, v1
check-cast v3, Ljava/util/Map;
invoke-interface {v3}, Ljava/util/Map;->size()I
move-result v3
if-nez v3, :cond_372
:goto_36e
const/4 v4, 0x1
const/4 v6, 0x0
goto/16 :goto_49e
:cond_372
invoke-virtual {v14, v10}, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;->write(I)V
sget-object v3, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->PrettyFormat:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
invoke-virtual {v14, v3}, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;->isEnabled(Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;)Z
move-result v3
if-eqz v3, :cond_380
invoke-virtual/range {p1 .. p1}, Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;->println()V
:cond_380
move-object/from16 v3, v31
if-eq v3, v11, :cond_392
if-nez v16, :cond_38b
const/4 v4, 0x1
invoke-virtual {v14, v3, v4}, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;->writeFieldName(Ljava/lang/String;Z)V
goto :goto_38c
:cond_38b
const/4 v4, 0x1
:cond_38c
:goto_38c
invoke-virtual {v9, v1}, Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;->write(Ljava/lang/Object;)V
const/4 v6, 0x0
goto/16 :goto_44b
:cond_392
move-object/from16 v3, v22
const/4 v4, 0x1
if-eq v3, v1, :cond_39d
if-nez v16, :cond_38c
invoke-virtual {v12, v9}, Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;->writePrefix(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;)V
goto :goto_38c
:cond_39d
if-nez v16, :cond_3d9
const-class v3, Ljava/util/Map;
invoke-virtual {v3, v15}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v3
invoke-virtual {v15}, Ljava/lang/Class;->isPrimitive()Z
move-result v5
if-nez v5, :cond_3b7
invoke-virtual {v15}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v5
const-string v6, "java."
invoke-virtual {v5, v6}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v5
if-eqz v5, :cond_3bb
:cond_3b7
const-class v5, Ljava/lang/Object;
if-ne v15, v5, :cond_3bd
:cond_3bb
const/4 v5, 0x1
goto :goto_3be
:cond_3bd
const/4 v5, 0x0
:goto_3be
if-nez v18, :cond_3c8
iget-boolean v6, v13, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->unwrapped:Z
if-eqz v6, :cond_3c8
if-nez v3, :cond_3d9
if-nez v5, :cond_3d9
:cond_3c8
if-eqz v29, :cond_3d4
iget-object v3, v13, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name_chars:[C
iget-object v5, v13, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name_chars:[C
array-length v5, v5
const/4 v6, 0x0
invoke-virtual {v14, v3, v6, v5}, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;->write([CII)V
goto :goto_3da
:cond_3d4
const/4 v6, 0x0
invoke-virtual {v12, v9}, Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;->writePrefix(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;)V
goto :goto_3da
:cond_3d9
const/4 v6, 0x0
:goto_3da
if-nez v16, :cond_448
invoke-virtual {v13}, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->getAnnotation()Lcom/tradplus/ads/common/serialization/annotation/JSONField;
move-result-object v3
const-class v5, Ljava/lang/String;
if-ne v15, v5, :cond_432
if-eqz v3, :cond_3ee
invoke-interface {v3}, Lcom/tradplus/ads/common/serialization/annotation/JSONField;->serializeUsing()Ljava/lang/Class;
move-result-object v3
const-class v5, Ljava/lang/Void;
if-ne v3, v5, :cond_432
:cond_3ee
if-nez v1, :cond_425
iget v3, v12, Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;->b:I
iget-object v5, v8, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->c:Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;
iget-object v5, v5, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;->d:Lcom/tradplus/ads/common/serialization/annotation/JSONType;
if-eqz v5, :cond_405
iget-object v5, v8, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->c:Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;
iget-object v5, v5, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;->d:Lcom/tradplus/ads/common/serialization/annotation/JSONType;
invoke-interface {v5}, Lcom/tradplus/ads/common/serialization/annotation/JSONType;->serialzeFeatures()[Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
move-result-object v5
invoke-static {v5}, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->of([Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;)I
move-result v5
or-int/2addr v3, v5
:cond_405
iget v5, v14, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;->c:I
sget-object v7, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteNullStringAsEmpty:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
iget v7, v7, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I
and-int/2addr v5, v7
if-eqz v5, :cond_419
sget-object v5, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteMapNullValue:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
iget v5, v5, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I
and-int/2addr v5, v3
if-nez v5, :cond_419
:goto_415
invoke-virtual {v14, v2}, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;->writeString(Ljava/lang/String;)V
goto :goto_44b
:cond_419
sget-object v5, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteNullStringAsEmpty:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
iget v5, v5, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I
and-int/2addr v3, v5
if-eqz v3, :cond_421
goto :goto_415
:cond_421
invoke-virtual {v14}, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;->writeNull()V
goto :goto_44b
:cond_425
move-object v2, v1
check-cast v2, Ljava/lang/String;
if-eqz v28, :cond_42e
invoke-virtual {v14, v2}, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;->a(Ljava/lang/String;)V
goto :goto_44b
:cond_42e
invoke-virtual {v14, v2, v6}, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;->writeStringWithDoubleQuote(Ljava/lang/String;C)V
goto :goto_44b
:cond_432
iget-boolean v2, v13, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->unwrapped:Z
if-eqz v2, :cond_448
instance-of v2, v1, Ljava/util/Map;
if-eqz v2, :cond_448
move-object v2, v1
check-cast v2, Ljava/util/Map;
invoke-interface {v2}, Ljava/util/Map;->size()I
move-result v2
if-nez v2, :cond_448
move-object/from16 v1, v26
const/16 v21, 0x0
goto :goto_4a0
:cond_448
invoke-virtual {v12, v9, v1}, Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;->writeValue(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;Ljava/lang/Object;)V
:goto_44b
iget-boolean v2, v13, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->unwrapped:Z
if-eqz v2, :cond_47f
instance-of v2, v1, Ljava/util/Map;
if-eqz v2, :cond_47f
check-cast v1, Ljava/util/Map;
invoke-interface {v1}, Ljava/util/Map;->size()I
move-result v2
if-nez v2, :cond_45d
:goto_45b
const/4 v1, 0x1
goto :goto_480
:cond_45d
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteMapNullValue:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
invoke-virtual {v9, v2}, Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;->isEnabled(Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;)Z
move-result v2
if-nez v2, :cond_47f
invoke-interface {v1}, Ljava/util/Map;->values()Ljava/util/Collection;
move-result-object v1
invoke-interface {v1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v1
:cond_46d
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_47b
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
:try_end_477
.catch Ljava/lang/Exception; {:try_start_1a8 .. :try_end_477} :catch_487
.catchall {:try_start_1a8 .. :try_end_477} :catchall_4e6
if-eqz v2, :cond_46d
const/4 v1, 0x1
goto :goto_47c
:cond_47b
const/4 v1, 0x0
:goto_47c
if-nez v1, :cond_47f
goto :goto_45b
:cond_47f
const/4 v1, 0x0
:goto_480
if-nez v1, :cond_49e
move-object/from16 v1, v26
const/16 v21, 0x1
goto :goto_4a0
:catch_487
move-exception v0
move-object/from16 v1, p2
goto/16 :goto_4ed
:cond_48c
move-object v12, v3
move-object/from16 v33, v7
:try_start_48f
throw v1
:try_end_490
.catch Ljava/lang/Exception; {:try_start_48f .. :try_end_490} :catch_490
.catchall {:try_start_48f .. :try_end_490} :catchall_4e6
:catch_490
move-exception v0
move-object/from16 v1, p2
move-object v3, v0
goto/16 :goto_4f0
:catch_496
move-exception v0
move-object v12, v3
move-object/from16 v1, p2
move-object v3, v0
move-object v2, v7
goto/16 :goto_51b
:cond_49e
:goto_49e
move-object/from16 v1, v26
:goto_4a0
add-int/lit8 v2, v27, 0x1
move-object/from16 v10, p2
move-object/from16 v11, p3
move-object/from16 v12, p4
move/from16 v13, p5
move-object/from16 v15, v24
move/from16 v6, v32
move-object/from16 v7, v33
goto/16 :goto_d7
:catch_4b2
move-exception v0
goto :goto_4b7
:catch_4b4
move-exception v0
move-object/from16 v26, v1
:goto_4b7
move-object/from16 v1, p2
move-object v3, v0
move-object v2, v7
goto :goto_50d
:cond_4bc
move-object/from16 v26, v1
move/from16 v32, v6
move-object/from16 v33, v7
move-object/from16 v24, v15
const/4 v6, 0x0
const/16 v10, 0x2c
if-eqz v21, :cond_4cc
move-object/from16 v1, p2
goto :goto_4cf
:cond_4cc
move-object/from16 v1, p2
const/4 v10, 0x0
:goto_4cf
:try_start_4cf
invoke-virtual {v8, v9, v1, v10}, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->b(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;Ljava/lang/Object;C)C
move-object/from16 v2, v24
array-length v2, v2
:try_end_4d5
.catch Ljava/lang/Exception; {:try_start_4cf .. :try_end_4d5} :catch_503
.catchall {:try_start_4cf .. :try_end_4d5} :catchall_4ff
if-lez v2, :cond_4f3
:try_start_4d7
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->PrettyFormat:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
invoke-virtual {v14, v2}, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;->isEnabled(Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;)Z
move-result v2
if-eqz v2, :cond_4f3
invoke-virtual/range {p1 .. p1}, Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;->decrementIdent()V
invoke-virtual/range {p1 .. p1}, Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;->println()V
goto :goto_4f3
:catchall_4e6
move-exception v0
move-object v1, v0
move-object/from16 v2, v33
goto/16 :goto_5c5
:catch_4ec
move-exception v0
:goto_4ed
move-object v3, v0
move-object/from16 v12, v26
:goto_4f0
move-object/from16 v2, v33
goto :goto_51b
:cond_4f3
:goto_4f3
if-nez p6, :cond_4fa
move/from16 v2, v32
invoke-virtual {v14, v2}, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;->append(C)Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;
:try_end_4fa
.catch Ljava/lang/Exception; {:try_start_4d7 .. :try_end_4fa} :catch_4ec
.catchall {:try_start_4d7 .. :try_end_4fa} :catchall_4e6
:cond_4fa
move-object/from16 v2, v33
iput-object v2, v9, Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;->c:Lcom/tradplus/ads/common/serialization/serializer/SerialContext;
return-void
:catchall_4ff
move-exception v0
move-object/from16 v2, v33
goto :goto_512
:catch_503
move-exception v0
move-object/from16 v2, v33
goto :goto_50c
:catch_507
move-exception v0
move-object/from16 v26, v1
move-object v2, v7
move-object v1, v10
:goto_50c
move-object v3, v0
:goto_50d
move-object/from16 v12, v26
goto :goto_51b
:catchall_510
move-exception v0
move-object v2, v7
:goto_512
move-object v1, v0
goto/16 :goto_5c5
:catch_515
move-exception v0
move-object v2, v7
move-object v1, v10
move-object v3, v0
:goto_519
move-object/from16 v12, v17
:goto_51b
:try_start_51b
const-string v4, "write javaBean error, fastjson version 1.2.74"
if-eqz v1, :cond_53b
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v4, ", class "
invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
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 {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
:try_end_53b
.catchall {:try_start_51b .. :try_end_53b} :catchall_5c2
:cond_53b
const-string v1, ", fieldName : "
move-object/from16 v5, p3
if-eqz v5, :cond_554
:try_start_541
new-instance v6, Ljava/lang/StringBuilder;
invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v6, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
goto :goto_591
:cond_554
if-eqz v12, :cond_591
iget-object v5, v12, Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;->fieldInfo:Lcom/tradplus/ads/common/serialization/util/FieldInfo;
if-eqz v5, :cond_591
iget-object v5, v12, Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;->fieldInfo:Lcom/tradplus/ads/common/serialization/util/FieldInfo;
iget-object v6, v5, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->method:Ljava/lang/reflect/Method;
if-eqz v6, :cond_57b
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v4, ", method : "
invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v4, v5, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->method:Ljava/lang/reflect/Method;
invoke-virtual {v4}, Ljava/lang/reflect/Method;->getName()Ljava/lang/String;
move-result-object v4
invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
goto :goto_591
:cond_57b
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, v12, Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;->fieldInfo:Lcom/tradplus/ads/common/serialization/util/FieldInfo;
iget-object v1, v1, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;
invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
:cond_591
:goto_591
invoke-virtual {v3}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v1
if-eqz v1, :cond_5af
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v4, ", "
invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v4
invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
:cond_5af
instance-of v1, v3, Ljava/lang/reflect/InvocationTargetException;
if-eqz v1, :cond_5b7
invoke-virtual {v3}, Ljava/lang/Exception;->getCause()Ljava/lang/Throwable;
move-result-object v17
:cond_5b7
if-nez v17, :cond_5ba
goto :goto_5bc
:cond_5ba
move-object/from16 v3, v17
:goto_5bc
new-instance v1, Lcom/tradplus/ads/common/serialization/JSONException;
invoke-direct {v1, v4, v3}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v1
:try_end_5c2
.catchall {:try_start_541 .. :try_end_5c2} :catchall_5c2
:catchall_5c2
move-exception v0
goto/16 :goto_512
:goto_5c5
iput-object v2, v9, Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;->c:Lcom/tradplus/ads/common/serialization/serializer/SerialContext;
goto :goto_5c9
:goto_5c8
throw v1
:goto_5c9
goto :goto_5c8
.end method
.method protected a(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;Ljava/lang/String;Ljava/lang/Object;)V
.registers 6
if-nez p2, :cond_6
iget-object p2, p1, Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;->a:Lcom/tradplus/ads/common/serialization/serializer/SerializeConfig;
iget-object p2, p2, Lcom/tradplus/ads/common/serialization/serializer/SerializeConfig;->a:Ljava/lang/String;
:cond_6
iget-object v0, p1, Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;->out:Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;
const/4 v1, 0x0
invoke-virtual {v0, p2, v1}, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;->writeFieldName(Ljava/lang/String;Z)V
iget-object p2, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->c:Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;
iget-object p2, p2, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;->b:Ljava/lang/String;
if-nez p2, :cond_24
invoke-virtual {p3}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object p2
invoke-static {p2}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->isProxy(Ljava/lang/Class;)Z
move-result p3
if-eqz p3, :cond_20
invoke-virtual {p2}, Ljava/lang/Class;->getSuperclass()Ljava/lang/Class;
move-result-object p2
:cond_20
invoke-virtual {p2}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object p2
:cond_24
invoke-virtual {p1, p2}, Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;->write(Ljava/lang/String;)V
return-void
.end method
.method protected a(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;I)Z
.registers 5
sget-object v0, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->BeanToArray:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
iget v0, v0, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I
iget-object v1, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->c:Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;
iget v1, v1, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;->g:I
and-int/2addr v1, v0
if-nez v1, :cond_18
iget-object p1, p1, Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;->out:Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;
iget-boolean p1, p1, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;->h:Z
if-nez p1, :cond_18
and-int p1, p2, v0
if-eqz p1, :cond_16
goto :goto_18
:cond_16
const/4 p1, 0x0
goto :goto_19
:cond_18
:goto_18
const/4 p1, 0x1
:goto_19
return p1
.end method
.method protected a(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;Ljava/lang/String;)Z
.registers 5
iget-object p1, p1, Lcom/tradplus/ads/common/serialization/serializer/SerializeFilterable;->l:Ljava/util/List;
const/4 v0, 0x0
if-eqz p1, :cond_1c
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:cond_9
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_1c
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/tradplus/ads/common/serialization/serializer/LabelFilter;
invoke-interface {v1, p2}, Lcom/tradplus/ads/common/serialization/serializer/LabelFilter;->apply(Ljava/lang/String;)Z
move-result v1
if-nez v1, :cond_9
return v0
:cond_1c
iget-object p1, p0, Lcom/tradplus/ads/common/serialization/serializer/SerializeFilterable;->l:Ljava/util/List;
if-eqz p1, :cond_37
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:cond_24
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_37
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/tradplus/ads/common/serialization/serializer/LabelFilter;
invoke-interface {v1, p2}, Lcom/tradplus/ads/common/serialization/serializer/LabelFilter;->apply(Ljava/lang/String;)Z
move-result v1
if-nez v1, :cond_24
return v0
:cond_37
const/4 p1, 0x1
return p1
.end method
.method protected b(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;Ljava/lang/Object;C)C
.registers 6
iget-object v0, p1, Lcom/tradplus/ads/common/serialization/serializer/SerializeFilterable;->g:Ljava/util/List;
if-eqz v0, :cond_19
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_8
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_19
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/tradplus/ads/common/serialization/serializer/AfterFilter;
invoke-virtual {v1, p1, p2, p3}, Lcom/tradplus/ads/common/serialization/serializer/AfterFilter;->a(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;Ljava/lang/Object;C)C
move-result p3
goto :goto_8
:cond_19
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/serializer/SerializeFilterable;->g:Ljava/util/List;
if-eqz v0, :cond_32
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_21
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_32
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/tradplus/ads/common/serialization/serializer/AfterFilter;
invoke-virtual {v1, p1, p2, p3}, Lcom/tradplus/ads/common/serialization/serializer/AfterFilter;->a(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;Ljava/lang/Object;C)C
move-result p3
goto :goto_21
:cond_32
return p3
.end method
.method public getFieldNames(Ljava/lang/Object;)Ljava/util/Set;
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Object;",
")",
"Ljava/util/Set<",
"Ljava/lang/String;",
">;"
}
.end annotation
new-instance v0, Ljava/util/HashSet;
invoke-direct {v0}, Ljava/util/HashSet;-><init>()V
iget-object v1, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->b:[Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
array-length v2, v1
const/4 v3, 0x0
:goto_9
if-ge v3, v2, :cond_1d
aget-object v4, v1, v3
invoke-virtual {v4, p1}, Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;->getPropertyValueDirect(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v5
if-eqz v5, :cond_1a
iget-object v4, v4, Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;->fieldInfo:Lcom/tradplus/ads/common/serialization/util/FieldInfo;
iget-object v4, v4, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;
invoke-interface {v0, v4}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
:cond_1a
add-int/lit8 v3, v3, 0x1
goto :goto_9
:cond_1d
return-object v0
.end method
.method public getFieldSerializer(J)Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
.registers 15
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->d:[J
const/4 v1, 0x0
const/4 v2, 0x0
if-nez v0, :cond_55
invoke-static {}, Lcom/tradplus/ads/common/serialization/PropertyNamingStrategy;->values()[Lcom/tradplus/ads/common/serialization/PropertyNamingStrategy;
move-result-object v0
iget-object v3, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->b:[Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
array-length v3, v3
array-length v4, v0
mul-int v3, v3, v4
new-array v3, v3, [J
const/4 v4, 0x0
const/4 v5, 0x0
:goto_14
iget-object v6, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->b:[Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
array-length v7, v6
if-ge v4, v7, :cond_48
aget-object v6, v6, v4
iget-object v6, v6, Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;->fieldInfo:Lcom/tradplus/ads/common/serialization/util/FieldInfo;
iget-object v6, v6, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;
add-int/lit8 v7, v5, 0x1
invoke-static {v6}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->fnv1a_64(Ljava/lang/String;)J
move-result-wide v8
aput-wide v8, v3, v5
const/4 v5, 0x0
:goto_28
array-length v8, v0
if-ge v5, v8, :cond_44
aget-object v8, v0, v5
invoke-virtual {v8, v6}, Lcom/tradplus/ads/common/serialization/PropertyNamingStrategy;->translate(Ljava/lang/String;)Ljava/lang/String;
move-result-object v8
invoke-virtual {v6, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v9
if-eqz v9, :cond_38
goto :goto_41
:cond_38
add-int/lit8 v9, v7, 0x1
invoke-static {v8}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->fnv1a_64(Ljava/lang/String;)J
move-result-wide v10
aput-wide v10, v3, v7
move v7, v9
:goto_41
add-int/lit8 v5, v5, 0x1
goto :goto_28
:cond_44
add-int/lit8 v4, v4, 0x1
move v5, v7
goto :goto_14
:cond_48
invoke-static {v3, v2, v5}, Ljava/util/Arrays;->sort([JII)V
new-array v4, v5, [J
iput-object v4, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->d:[J
iget-object v4, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->d:[J
invoke-static {v3, v2, v4, v2, v5}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
goto :goto_56
:cond_55
move-object v0, v1
:goto_56
iget-object v3, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->d:[J
invoke-static {v3, p1, p2}, Ljava/util/Arrays;->binarySearch([JJ)I
move-result p1
if-gez p1, :cond_5f
return-object v1
:cond_5f
iget-object p2, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->e:[S
const/4 v3, -0x1
if-nez p2, :cond_b5
if-nez v0, :cond_6a
invoke-static {}, Lcom/tradplus/ads/common/serialization/PropertyNamingStrategy;->values()[Lcom/tradplus/ads/common/serialization/PropertyNamingStrategy;
move-result-object v0
:cond_6a
iget-object p2, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->d:[J
array-length p2, p2
new-array p2, p2, [S
invoke-static {p2, v3}, Ljava/util/Arrays;->fill([SS)V
const/4 v4, 0x0
:goto_73
iget-object v5, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->b:[Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
array-length v6, v5
if-ge v4, v6, :cond_b3
aget-object v5, v5, v4
iget-object v5, v5, Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;->fieldInfo:Lcom/tradplus/ads/common/serialization/util/FieldInfo;
iget-object v5, v5, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;
iget-object v6, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->d:[J
invoke-static {v5}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->fnv1a_64(Ljava/lang/String;)J
move-result-wide v7
invoke-static {v6, v7, v8}, Ljava/util/Arrays;->binarySearch([JJ)I
move-result v6
if-ltz v6, :cond_8d
int-to-short v7, v4
aput-short v7, p2, v6
:cond_8d
const/4 v6, 0x0
:goto_8e
array-length v7, v0
if-ge v6, v7, :cond_b0
aget-object v7, v0, v6
invoke-virtual {v7, v5}, Lcom/tradplus/ads/common/serialization/PropertyNamingStrategy;->translate(Ljava/lang/String;)Ljava/lang/String;
move-result-object v7
invoke-virtual {v5, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v8
if-eqz v8, :cond_9e
goto :goto_ad
:cond_9e
iget-object v8, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->d:[J
invoke-static {v7}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->fnv1a_64(Ljava/lang/String;)J
move-result-wide v9
invoke-static {v8, v9, v10}, Ljava/util/Arrays;->binarySearch([JJ)I
move-result v7
if-ltz v7, :cond_ad
int-to-short v8, v4
aput-short v8, p2, v7
:cond_ad
:goto_ad
add-int/lit8 v6, v6, 0x1
goto :goto_8e
:cond_b0
add-int/lit8 v4, v4, 0x1
goto :goto_73
:cond_b3
iput-object p2, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->e:[S
:cond_b5
iget-object p2, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->e:[S
aget-short p1, p2, p1
if-eq p1, v3, :cond_c0
iget-object p2, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->b:[Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
aget-object p1, p2, p1
return-object p1
:cond_c0
return-object v1
.end method
.method public getFieldSerializer(Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
.registers 7
const/4 v0, 0x0
if-nez p1, :cond_4
return-object v0
:cond_4
const/4 v1, 0x0
iget-object v2, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->b:[Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
array-length v2, v2
add-int/lit8 v2, v2, -0x1
:goto_a
if-gt v1, v2, :cond_2d
add-int v3, v1, v2
ushr-int/lit8 v3, v3, 0x1
iget-object v4, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->b:[Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
aget-object v4, v4, v3
iget-object v4, v4, Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;->fieldInfo:Lcom/tradplus/ads/common/serialization/util/FieldInfo;
iget-object v4, v4, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;
invoke-virtual {v4, p1}, Ljava/lang/String;->compareTo(Ljava/lang/String;)I
move-result v4
if-gez v4, :cond_22
add-int/lit8 v3, v3, 0x1
move v1, v3
goto :goto_a
:cond_22
if-lez v4, :cond_28
add-int/lit8 v3, v3, -0x1
move v2, v3
goto :goto_a
:cond_28
iget-object p1, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->b:[Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
aget-object p1, p1, v3
return-object p1
:cond_2d
return-object v0
.end method
.method public getFieldValue(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
.registers 6
const-string v0, "getFieldValue error."
invoke-virtual {p0, p2}, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->getFieldSerializer(Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
move-result-object v1
if-eqz v1, :cond_39
:try_start_8
invoke-virtual {v1, p1}, Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;->getPropertyValue(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
:try_end_c
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_8 .. :try_end_c} :catch_23
.catch Ljava/lang/IllegalAccessException; {:try_start_8 .. :try_end_c} :catch_d
return-object p1
:catch_d
move-exception p1
new-instance v1, Lcom/tradplus/ads/common/serialization/JSONException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {v1, p2, p1}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v1
:catch_23
move-exception p1
new-instance v1, Lcom/tradplus/ads/common/serialization/JSONException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {v1, p2, p1}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v1
:cond_39
new-instance p1, Lcom/tradplus/ads/common/serialization/JSONException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "field not found. "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public getFieldValue(Ljava/lang/Object;Ljava/lang/String;JZ)Ljava/lang/Object;
.registers 7
const-string v0, "getFieldValue error."
invoke-virtual {p0, p3, p4}, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->getFieldSerializer(J)Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
move-result-object p3
if-nez p3, :cond_23
if-nez p5, :cond_c
const/4 p1, 0x0
return-object p1
:cond_c
new-instance p1, Lcom/tradplus/ads/common/serialization/JSONException;
new-instance p3, Ljava/lang/StringBuilder;
invoke-direct {p3}, Ljava/lang/StringBuilder;-><init>()V
const-string p4, "field not found. "
invoke-virtual {p3, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;)V
throw p1
:cond_23
:try_start_23
invoke-virtual {p3, p1}, Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;->getPropertyValue(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
:try_end_27
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_23 .. :try_end_27} :catch_3e
.catch Ljava/lang/IllegalAccessException; {:try_start_23 .. :try_end_27} :catch_28
return-object p1
:catch_28
move-exception p1
new-instance p3, Lcom/tradplus/ads/common/serialization/JSONException;
new-instance p4, Ljava/lang/StringBuilder;
invoke-direct {p4}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p3, p2, p1}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p3
:catch_3e
move-exception p1
new-instance p3, Lcom/tradplus/ads/common/serialization/JSONException;
new-instance p4, Ljava/lang/StringBuilder;
invoke-direct {p4}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p3, p2, p1}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p3
.end method
.method public getFieldValues(Ljava/lang/Object;)Ljava/util/List;
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Object;",
")",
"Ljava/util/List<",
"Ljava/lang/Object;",
">;"
}
.end annotation
new-instance v0, Ljava/util/ArrayList;
iget-object v1, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->b:[Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
array-length v1, v1
invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(I)V
iget-object v1, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->b:[Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
array-length v2, v1
const/4 v3, 0x0
:goto_c
if-ge v3, v2, :cond_1a
aget-object v4, v1, v3
invoke-virtual {v4, p1}, Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;->getPropertyValue(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
invoke-interface {v0, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
add-int/lit8 v3, v3, 0x1
goto :goto_c
:cond_1a
return-object v0
.end method
.method public getFieldValuesMap(Ljava/lang/Object;)Ljava/util/Map;
.registers 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Object;",
")",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;"
}
.end annotation
new-instance v0, Ljava/util/LinkedHashMap;
iget-object v1, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->b:[Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
array-length v1, v1
invoke-direct {v0, v1}, Ljava/util/LinkedHashMap;-><init>(I)V
iget-object v1, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->b:[Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
array-length v2, v1
const/4 v3, 0x0
:goto_c
if-ge v3, v2, :cond_49
aget-object v4, v1, v3
iget v5, v4, Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;->b:I
sget-object v6, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->SkipTransientField:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
invoke-static {v5, v6}, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->isEnabled(ILcom/tradplus/ads/common/serialization/serializer/SerializerFeature;)Z
move-result v5
iget-object v6, v4, Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;->fieldInfo:Lcom/tradplus/ads/common/serialization/util/FieldInfo;
if-eqz v5, :cond_23
if-eqz v6, :cond_23
iget-boolean v5, v6, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldTransient:Z
if-eqz v5, :cond_23
goto :goto_46
:cond_23
iget-object v5, v4, Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;->fieldInfo:Lcom/tradplus/ads/common/serialization/util/FieldInfo;
iget-boolean v6, v5, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->unwrapped:Z
if-eqz v6, :cond_3d
invoke-virtual {v4, p1}, Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;->getPropertyValue(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v5
invoke-static {v5}, Lcom/tradplus/ads/common/serialization/JSON;->toJSON(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v5
instance-of v6, v5, Ljava/util/Map;
if-eqz v6, :cond_3b
check-cast v5, Ljava/util/Map;
invoke-interface {v0, v5}, Ljava/util/Map;->putAll(Ljava/util/Map;)V
goto :goto_46
:cond_3b
iget-object v5, v4, Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;->fieldInfo:Lcom/tradplus/ads/common/serialization/util/FieldInfo;
:cond_3d
iget-object v5, v5, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;
invoke-virtual {v4, p1}, Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;->getPropertyValue(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
invoke-interface {v0, v5, v4}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:goto_46
add-int/lit8 v3, v3, 0x1
goto :goto_c
:cond_49
return-object v0
.end method
.method public getObjectFieldValues(Ljava/lang/Object;)Ljava/util/List;
.registers 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Object;",
")",
"Ljava/util/List<",
"Ljava/lang/Object;",
">;"
}
.end annotation
new-instance v0, Ljava/util/ArrayList;
iget-object v1, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->b:[Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
array-length v1, v1
invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(I)V
iget-object v1, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->b:[Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
array-length v2, v1
const/4 v3, 0x0
:goto_c
if-ge v3, v2, :cond_32
aget-object v4, v1, v3
iget-object v5, v4, Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;->fieldInfo:Lcom/tradplus/ads/common/serialization/util/FieldInfo;
iget-object v5, v5, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;
invoke-virtual {v5}, Ljava/lang/Class;->isPrimitive()Z
move-result v6
if-eqz v6, :cond_1b
goto :goto_2f
:cond_1b
invoke-virtual {v5}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v5
const-string v6, "java.lang."
invoke-virtual {v5, v6}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v5
if-eqz v5, :cond_28
goto :goto_2f
:cond_28
invoke-virtual {v4, p1}, Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;->getPropertyValue(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
invoke-interface {v0, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
:goto_2f
add-int/lit8 v3, v3, 0x1
goto :goto_c
:cond_32
return-object v0
.end method
.method public getSize(Ljava/lang/Object;)I
.registers 7
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->b:[Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;
array-length v1, v0
const/4 v2, 0x0
const/4 v3, 0x0
:goto_5
if-ge v2, v1, :cond_14
aget-object v4, v0, v2
invoke-virtual {v4, p1}, Lcom/tradplus/ads/common/serialization/serializer/FieldSerializer;->getPropertyValueDirect(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
if-eqz v4, :cond_11
add-int/lit8 v3, v3, 0x1
:cond_11
add-int/lit8 v2, v2, 0x1
goto :goto_5
:cond_14
return v3
.end method
.method public getType()Ljava/lang/Class;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/lang/Class<",
"*>;"
}
.end annotation
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->c:Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;
iget-object v0, v0, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;->a:Ljava/lang/Class;
return-object v0
.end method
.method public write(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;I)V
.registers 13
const/4 v6, 0x0
move-object v0, p0
move-object v1, p1
move-object v2, p2
move-object v3, p3
move-object v4, p4
move v5, p5
invoke-virtual/range {v0 .. v6}, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->a(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;IZ)V
return-void
.end method
.method public writeAsArray(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;I)V
.registers 6
invoke-virtual/range {p0 .. p5}, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->write(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;I)V
return-void
.end method
.method public writeAsArrayNonContext(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;I)V
.registers 6
invoke-virtual/range {p0 .. p5}, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->write(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;I)V
return-void
.end method
.method public writeDirectNonContext(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;I)V
.registers 6
invoke-virtual/range {p0 .. p5}, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->write(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;I)V
return-void
.end method
.method public writeNoneASM(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;I)V
.registers 13
const/4 v6, 0x0
move-object v0, p0
move-object v1, p1
move-object v2, p2
move-object v3, p3
move-object v4, p4
move v5, p5
invoke-virtual/range {v0 .. v6}, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;->a(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;IZ)V
return-void
.end method
.method public writeReference(Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;Ljava/lang/Object;I)Z
.registers 7
iget-object v0, p1, Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;->c:Lcom/tradplus/ads/common/serialization/serializer/SerialContext;
sget-object v1, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->DisableCircularReferenceDetect:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;
iget v1, v1, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I
const/4 v2, 0x0
if-eqz v0, :cond_21
iget v0, v0, Lcom/tradplus/ads/common/serialization/serializer/SerialContext;->features:I
and-int/2addr v0, v1
if-nez v0, :cond_21
and-int/2addr p3, v1
if-eqz p3, :cond_12
goto :goto_21
:cond_12
iget-object p3, p1, Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;->b:Ljava/util/IdentityHashMap;
if-eqz p3, :cond_21
invoke-virtual {p3, p2}, Ljava/util/IdentityHashMap;->containsKey(Ljava/lang/Object;)Z
move-result p3
if-eqz p3, :cond_21
invoke-virtual {p1, p2}, Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;->writeReference(Ljava/lang/Object;)V
const/4 p1, 0x1
return p1
:cond_21
:goto_21
return v2
.end method