JavaBeanDeserializer.smali
.class public Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;
.super Ljava/lang/Object;
# interfaces
.implements Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
# instance fields
.field protected final a:[Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
.field protected final b:Ljava/lang/Class;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Class<",
"*>;"
}
.end annotation
.end field
.field public final beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
.field private final c:[Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
.field private d:Ljava/util/concurrent/ConcurrentMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/ConcurrentMap<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;"
}
.end annotation
.end field
.field private final e:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/String;",
"Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;",
">;"
}
.end annotation
.end field
.field private f:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/String;",
"Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;",
">;"
}
.end annotation
.end field
.field private transient g:[J
.field private transient h:[S
.field private transient i:[J
.field private transient j:[S
.field private final k:Lcom/tradplus/ads/common/serialization/parser/ParserConfig$AutoTypeCheckHandler;
# direct methods
.method public constructor <init>(Lcom/tradplus/ads/common/serialization/parser/ParserConfig;Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;)V
.registers 12
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iget-object v0, p2, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->clazz:Ljava/lang/Class;
iput-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->b:Ljava/lang/Class;
iput-object p2, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v0, p2, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->jsonType:Lcom/tradplus/ads/common/serialization/annotation/JSONType;
const/4 v1, 0x0
if-eqz v0, :cond_23
invoke-interface {v0}, Lcom/tradplus/ads/common/serialization/annotation/JSONType;->autoTypeCheckHandler()Ljava/lang/Class;
move-result-object v0
const-class v2, Lcom/tradplus/ads/common/serialization/parser/ParserConfig$AutoTypeCheckHandler;
if-eq v0, v2, :cond_23
:try_start_16
iget-object v0, p2, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->jsonType:Lcom/tradplus/ads/common/serialization/annotation/JSONType;
invoke-interface {v0}, Lcom/tradplus/ads/common/serialization/annotation/JSONType;->autoTypeCheckHandler()Ljava/lang/Class;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Class;->newInstance()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig$AutoTypeCheckHandler;
:try_end_22
.catch Ljava/lang/Exception; {:try_start_16 .. :try_end_22} :catch_23
goto :goto_24
:catch_23
:cond_23
move-object v0, v1
:goto_24
iput-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->k:Lcom/tradplus/ads/common/serialization/parser/ParserConfig$AutoTypeCheckHandler;
iget-object v0, p2, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->sortedFields:[Lcom/tradplus/ads/common/serialization/util/FieldInfo;
array-length v2, v0
new-array v2, v2, [Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
iput-object v2, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->a:[Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
array-length v0, v0
const/4 v2, 0x0
move-object v3, v1
const/4 v1, 0x0
:goto_31
if-ge v1, v0, :cond_6f
iget-object v4, p2, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->sortedFields:[Lcom/tradplus/ads/common/serialization/util/FieldInfo;
aget-object v4, v4, v1
invoke-virtual {p1, p1, p2, v4}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->createFieldDeserializer(Lcom/tradplus/ads/common/serialization/parser/ParserConfig;Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;Lcom/tradplus/ads/common/serialization/util/FieldInfo;)Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
move-result-object v5
iget-object v6, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->a:[Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
aput-object v5, v6, v1
const/16 v6, 0x80
if-le v0, v6, :cond_55
iget-object v6, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->f:Ljava/util/Map;
if-nez v6, :cond_4e
new-instance v6, Ljava/util/HashMap;
invoke-direct {v6}, Ljava/util/HashMap;-><init>()V
iput-object v6, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->f:Ljava/util/Map;
:cond_4e
iget-object v6, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->f:Ljava/util/Map;
iget-object v7, v4, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;
invoke-interface {v6, v7, v5}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_55
iget-object v4, v4, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->alternateNames:[Ljava/lang/String;
array-length v6, v4
move-object v7, v3
const/4 v3, 0x0
:goto_5a
if-ge v3, v6, :cond_6b
aget-object v8, v4, v3
if-nez v7, :cond_65
new-instance v7, Ljava/util/HashMap;
invoke-direct {v7}, Ljava/util/HashMap;-><init>()V
:cond_65
invoke-interface {v7, v8, v5}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
add-int/lit8 v3, v3, 0x1
goto :goto_5a
:cond_6b
add-int/lit8 v1, v1, 0x1
move-object v3, v7
goto :goto_31
:cond_6f
iput-object v3, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->e:Ljava/util/Map;
iget-object p1, p2, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->fields:[Lcom/tradplus/ads/common/serialization/util/FieldInfo;
array-length v0, p1
new-array v0, v0, [Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
iput-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->c:[Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
array-length p1, p1
:goto_79
if-ge v2, p1, :cond_8c
iget-object v0, p2, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->fields:[Lcom/tradplus/ads/common/serialization/util/FieldInfo;
aget-object v0, v0, v2
iget-object v0, v0, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;
invoke-virtual {p0, v0}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->getFieldDeserializer(Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
move-result-object v0
iget-object v1, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->c:[Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
aput-object v0, v1, v2
add-int/lit8 v2, v2, 0x1
goto :goto_79
:cond_8c
return-void
.end method
.method public constructor <init>(Lcom/tradplus/ads/common/serialization/parser/ParserConfig;Ljava/lang/Class;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/tradplus/ads/common/serialization/parser/ParserConfig;",
"Ljava/lang/Class<",
"*>;)V"
}
.end annotation
invoke-direct {p0, p1, p2, p2}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;-><init>(Lcom/tradplus/ads/common/serialization/parser/ParserConfig;Ljava/lang/Class;Ljava/lang/reflect/Type;)V
return-void
.end method
.method public constructor <init>(Lcom/tradplus/ads/common/serialization/parser/ParserConfig;Ljava/lang/Class;Ljava/lang/reflect/Type;)V
.registers 10
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/tradplus/ads/common/serialization/parser/ParserConfig;",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/reflect/Type;",
")V"
}
.end annotation
iget-object v2, p1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->propertyNamingStrategy:Lcom/tradplus/ads/common/serialization/PropertyNamingStrategy;
iget-boolean v3, p1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->fieldBased:Z
iget-boolean v4, p1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->compatibleWithJavaBean:Z
invoke-virtual {p1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->isJacksonCompatible()Z
move-result v5
move-object v0, p2
move-object v1, p3
invoke-static/range {v0 .. v5}, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->build(Ljava/lang/Class;Ljava/lang/reflect/Type;Lcom/tradplus/ads/common/serialization/PropertyNamingStrategy;ZZZ)Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
move-result-object p2
invoke-direct {p0, p1, p2}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;-><init>(Lcom/tradplus/ads/common/serialization/parser/ParserConfig;Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;)V
return-void
.end method
.method protected static a(Lcom/tradplus/ads/common/serialization/parser/ParserConfig;Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;
.registers 9
iget-object p1, p1, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->jsonType:Lcom/tradplus/ads/common/serialization/annotation/JSONType;
const/4 v0, 0x0
if-nez p1, :cond_6
return-object v0
:cond_6
invoke-interface {p1}, Lcom/tradplus/ads/common/serialization/annotation/JSONType;->seeAlso()[Ljava/lang/Class;
move-result-object p1
array-length v1, p1
const/4 v2, 0x0
:goto_c
if-ge v2, v1, :cond_2f
aget-object v3, p1, v2
invoke-virtual {p0, v3}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->getDeserializer(Ljava/lang/reflect/Type;)Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
move-result-object v3
instance-of v4, v3, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;
if-eqz v4, :cond_2c
check-cast v3, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;
iget-object v4, v3, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v5, v4, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->typeName:Ljava/lang/String;
invoke-virtual {v5, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v5
if-eqz v5, :cond_25
return-object v3
:cond_25
invoke-static {p0, v4, p2}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->a(Lcom/tradplus/ads/common/serialization/parser/ParserConfig;Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;
move-result-object v3
if-eqz v3, :cond_2c
return-object v3
:cond_2c
add-int/lit8 v2, v2, 0x1
goto :goto_c
:cond_2f
return-object v0
.end method
.method private a(Lcom/tradplus/ads/common/serialization/parser/ParserConfig;Ljava/lang/Object;)Ljava/lang/Object;
.registers 5
iget-object p1, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object p1, p1, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->factoryMethod:Ljava/lang/reflect/Method;
const/4 v0, 0x1
new-array v0, v0, [Ljava/lang/Object;
const/4 v1, 0x0
aput-object p2, v0, v1
const/4 p2, 0x0
invoke-virtual {p1, p2, v0}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method static a(I[I)Z
.registers 5
const/4 v0, 0x0
if-nez p1, :cond_4
return v0
:cond_4
div-int/lit8 v1, p0, 0x20
rem-int/lit8 p0, p0, 0x20
array-length v2, p1
if-ge v1, v2, :cond_14
aget p1, p1, v1
const/4 v1, 0x1
shl-int p0, v1, p0
and-int/2addr p0, p1
if-eqz p0, :cond_14
return v1
:cond_14
return v0
.end method
# virtual methods
.method protected a(Lcom/tradplus/ads/common/serialization/parser/JSONLexer;C)Ljava/lang/Enum;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/tradplus/ads/common/serialization/parser/JSONLexer;",
"C)",
"Ljava/lang/Enum<",
"*>;"
}
.end annotation
new-instance p2, Lcom/tradplus/ads/common/serialization/JSONException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "illegal enum. "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-interface {p1}, Lcom/tradplus/ads/common/serialization/parser/JSONLexer;->info()Ljava/lang/String;
move-result-object p1
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {p2, p1}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;)V
throw p2
.end method
.method protected a(Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;[CLcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;)Ljava/lang/Enum;
.registers 10
instance-of v0, p3, Lcom/tradplus/ads/common/serialization/parser/deserializer/EnumDeserializer;
const/4 v1, 0x0
if-eqz v0, :cond_8
check-cast p3, Lcom/tradplus/ads/common/serialization/parser/deserializer/EnumDeserializer;
goto :goto_9
:cond_8
move-object p3, v1
:goto_9
if-nez p3, :cond_f
const/4 p2, -0x1
iput p2, p1, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
return-object v1
:cond_f
invoke-virtual {p1, p2}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->scanEnumSymbol([C)J
move-result-wide v2
iget p2, p1, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
if-lez p2, :cond_4a
invoke-virtual {p3, v2, v3}, Lcom/tradplus/ads/common/serialization/parser/deserializer/EnumDeserializer;->getEnumByHashCode(J)Ljava/lang/Enum;
move-result-object p2
if-nez p2, :cond_49
const-wide v4, -0x340d631b7bdddcdbL # -7.302176725335867E57
cmp-long v0, v2, v4
if-nez v0, :cond_27
return-object v1
:cond_27
sget-object v0, Lcom/tradplus/ads/common/serialization/parser/Feature;->ErrorOnEnumNotMatch:Lcom/tradplus/ads/common/serialization/parser/Feature;
invoke-virtual {p1, v0}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->isEnabled(Lcom/tradplus/ads/common/serialization/parser/Feature;)Z
move-result p1
if-nez p1, :cond_30
goto :goto_49
:cond_30
new-instance p1, Lcom/tradplus/ads/common/serialization/JSONException;
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
const-string v0, "not match enum value, "
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object p3, p3, Lcom/tradplus/ads/common/serialization/parser/deserializer/EnumDeserializer;->a:Ljava/lang/Class;
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, 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_49
:goto_49
return-object p2
:cond_4a
return-object v1
.end method
.method protected a(Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;Ljava/lang/reflect/Type;Ljava/lang/Object;Ljava/lang/Object;I[I)Ljava/lang/Object;
.registers 38
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;",
"Ljava/lang/reflect/Type;",
"Ljava/lang/Object;",
"Ljava/lang/Object;",
"I[I)TT;"
}
.end annotation
move-object/from16 v8, p0
move-object/from16 v9, p1
move-object/from16 v10, p2
move-object/from16 v11, p3
const-class v1, Lcom/tradplus/ads/common/serialization/JSON;
if-eq v10, v1, :cond_9c4
const-class v1, Lcom/tradplus/ads/common/serialization/JSONObject;
if-ne v10, v1, :cond_12
goto/16 :goto_9c4
:cond_12
iget-object v1, v9, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->lexer:Lcom/tradplus/ads/common/serialization/parser/JSONLexer;
move-object v12, v1
check-cast v12, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;
invoke-virtual/range {p1 .. p1}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->getConfig()Lcom/tradplus/ads/common/serialization/parser/ParserConfig;
move-result-object v13
invoke-virtual {v12}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->token()I
move-result v1
const/16 v2, 0x8
const/16 v14, 0x10
const/4 v15, 0x0
if-ne v1, v2, :cond_2a
invoke-virtual {v12, v14}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->nextToken(I)V
return-object v15
:cond_2a
invoke-virtual/range {p1 .. p1}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->getContext()Lcom/tradplus/ads/common/serialization/parser/ParseContext;
move-result-object v2
if-eqz p4, :cond_34
if-eqz v2, :cond_34
iget-object v2, v2, Lcom/tradplus/ads/common/serialization/parser/ParseContext;->parent:Lcom/tradplus/ads/common/serialization/parser/ParseContext;
:cond_34
move-object v7, v2
const/16 v6, 0xd
if-ne v1, v6, :cond_50
:try_start_39
invoke-virtual {v12, v14}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->nextToken(I)V
if-nez p4, :cond_43
invoke-virtual/range {p0 .. p2}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->createInstance(Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;Ljava/lang/reflect/Type;)Ljava/lang/Object;
move-result-object v1
:try_end_42
.catchall {:try_start_39 .. :try_end_42} :catchall_49
goto :goto_45
:cond_43
move-object/from16 v1, p4
:goto_45
invoke-virtual {v9, v7}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->setContext(Lcom/tradplus/ads/common/serialization/parser/ParseContext;)V
return-object v1
:catchall_49
move-exception v0
move-object/from16 v5, p4
move-object v1, v0
move-object v3, v7
goto/16 :goto_9bc
:cond_50
const/16 v2, 0xe
if-ne v1, v2, :cond_79
:try_start_54
sget-object v3, Lcom/tradplus/ads/common/serialization/parser/Feature;->SupportArrayToBean:Lcom/tradplus/ads/common/serialization/parser/Feature;
iget v3, v3, Lcom/tradplus/ads/common/serialization/parser/Feature;->mask:I
iget-object v6, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget v6, v6, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->parserFeatures:I
and-int/2addr v6, v3
if-nez v6, :cond_6e
sget-object v6, Lcom/tradplus/ads/common/serialization/parser/Feature;->SupportArrayToBean:Lcom/tradplus/ads/common/serialization/parser/Feature;
invoke-virtual {v12, v6}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->isEnabled(Lcom/tradplus/ads/common/serialization/parser/Feature;)Z
move-result v6
if-nez v6, :cond_6e
and-int v3, p5, v3
if-eqz v3, :cond_6c
goto :goto_6e
:cond_6c
const/4 v3, 0x0
goto :goto_6f
:cond_6e
:goto_6e
const/4 v3, 0x1
:goto_6f
if-eqz v3, :cond_79
invoke-virtual/range {p0 .. p4}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->deserialzeArrayMapping(Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;Ljava/lang/reflect/Type;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
:try_end_75
.catchall {:try_start_54 .. :try_end_75} :catchall_49
invoke-virtual {v9, v7}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->setContext(Lcom/tradplus/ads/common/serialization/parser/ParseContext;)V
return-object v1
:cond_79
const/16 v3, 0xc
const/4 v6, 0x4
if-eq v1, v3, :cond_16a
if-eq v1, v14, :cond_16a
:try_start_80
invoke-virtual {v12}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->isBlankInput()Z
move-result v3
:try_end_84
.catchall {:try_start_80 .. :try_end_84} :catchall_49
if-eqz v3, :cond_8a
invoke-virtual {v9, v7}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->setContext(Lcom/tradplus/ads/common/serialization/parser/ParseContext;)V
return-object v15
:cond_8a
if-ne v1, v6, :cond_c4
:try_start_8c
invoke-virtual {v12}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->stringVal()Ljava/lang/String;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/String;->length()I
move-result v10
if-nez v10, :cond_9d
invoke-virtual {v12}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->nextToken()V
:try_end_99
.catchall {:try_start_8c .. :try_end_99} :catchall_49
invoke-virtual {v9, v7}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->setContext(Lcom/tradplus/ads/common/serialization/parser/ParseContext;)V
return-object v15
:cond_9d
:try_start_9d
iget-object v10, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v10, v10, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->jsonType:Lcom/tradplus/ads/common/serialization/annotation/JSONType;
if-eqz v10, :cond_c4
iget-object v10, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v10, v10, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->jsonType:Lcom/tradplus/ads/common/serialization/annotation/JSONType;
invoke-interface {v10}, Lcom/tradplus/ads/common/serialization/annotation/JSONType;->seeAlso()[Ljava/lang/Class;
move-result-object v10
array-length v14, v10
const/4 v6, 0x0
:goto_ad
if-ge v6, v14, :cond_c4
aget-object v5, v10, v6
const-class v4, Ljava/lang/Enum;
invoke-virtual {v4, v5}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v4
:try_end_b7
.catchall {:try_start_9d .. :try_end_b7} :catchall_49
if-eqz v4, :cond_c1
:try_start_b9
invoke-static {v5, v3}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object v1
:try_end_bd
.catch Ljava/lang/IllegalArgumentException; {:try_start_b9 .. :try_end_bd} :catch_c1
.catchall {:try_start_b9 .. :try_end_bd} :catchall_49
invoke-virtual {v9, v7}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->setContext(Lcom/tradplus/ads/common/serialization/parser/ParseContext;)V
return-object v1
:catch_c1
:cond_c1
add-int/lit8 v6, v6, 0x1
goto :goto_ad
:cond_c4
if-ne v1, v2, :cond_d8
:try_start_c6
invoke-virtual {v12}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->getCurrent()C
move-result v2
const/16 v3, 0x5d
if-ne v2, v3, :cond_d8
invoke-virtual {v12}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->next()C
invoke-virtual {v12}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->nextToken()V
:try_end_d4
.catchall {:try_start_c6 .. :try_end_d4} :catchall_49
invoke-virtual {v9, v7}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->setContext(Lcom/tradplus/ads/common/serialization/parser/ParseContext;)V
return-object v15
:cond_d8
:try_start_d8
iget-object v2, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v2, v2, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->factoryMethod:Ljava/lang/reflect/Method;
if-eqz v2, :cond_12d
iget-object v2, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v2, v2, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->fields:[Lcom/tradplus/ads/common/serialization/util/FieldInfo;
array-length v2, v2
:try_end_e3
.catchall {:try_start_d8 .. :try_end_e3} :catchall_49
const/4 v3, 0x1
if-ne v2, v3, :cond_12d
:try_start_e6
iget-object v2, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v2, v2, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->fields:[Lcom/tradplus/ads/common/serialization/util/FieldInfo;
const/4 v3, 0x0
aget-object v2, v2, v3
iget-object v3, v2, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;
const-class v4, Ljava/lang/Integer;
if-ne v3, v4, :cond_109
const/4 v3, 0x2
if-ne v1, v3, :cond_12d
invoke-virtual {v12}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->intValue()I
move-result v1
invoke-virtual {v12}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->nextToken()V
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-direct {v8, v13, v1}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->a(Lcom/tradplus/ads/common/serialization/parser/ParserConfig;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
:try_end_105
.catch Ljava/lang/Exception; {:try_start_e6 .. :try_end_105} :catch_121
.catchall {:try_start_e6 .. :try_end_105} :catchall_49
invoke-virtual {v9, v7}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->setContext(Lcom/tradplus/ads/common/serialization/parser/ParseContext;)V
return-object v1
:cond_109
:try_start_109
iget-object v2, v2, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;
const-class v3, Ljava/lang/String;
if-ne v2, v3, :cond_12d
const/4 v2, 0x4
if-ne v1, v2, :cond_12d
invoke-virtual {v12}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->stringVal()Ljava/lang/String;
move-result-object v1
invoke-virtual {v12}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->nextToken()V
invoke-direct {v8, v13, v1}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->a(Lcom/tradplus/ads/common/serialization/parser/ParserConfig;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
:try_end_11d
.catch Ljava/lang/Exception; {:try_start_109 .. :try_end_11d} :catch_121
.catchall {:try_start_109 .. :try_end_11d} :catchall_49
invoke-virtual {v9, v7}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->setContext(Lcom/tradplus/ads/common/serialization/parser/ParseContext;)V
return-object v1
:catch_121
move-exception v0
move-object v1, v0
:try_start_123
new-instance v2, Lcom/tradplus/ads/common/serialization/JSONException;
invoke-virtual {v1}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v3
invoke-direct {v2, v3, v1}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v2
:cond_12d
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "syntax error, expect {, actual "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v12}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->tokenName()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, ", pos "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v12}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->pos()I
move-result v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
instance-of v2, v11, Ljava/lang/String;
if-eqz v2, :cond_156
const-string v2, ", fieldName "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
:cond_156
const-string v2, ", fastjson-version "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "1.2.74"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
new-instance v2, Lcom/tradplus/ads/common/serialization/JSONException;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v2, v1}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;)V
throw v2
:try_end_16a
.catchall {:try_start_123 .. :try_end_16a} :catchall_49
:cond_16a
:try_start_16a
iget v1, v9, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->resolveStatus:I
:try_end_16c
.catchall {:try_start_16a .. :try_end_16c} :catchall_9b6
const/4 v2, 0x2
if-ne v1, v2, :cond_173
const/4 v5, 0x0
:try_start_170
iput v5, v9, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->resolveStatus:I
:try_end_172
.catchall {:try_start_170 .. :try_end_172} :catchall_49
goto :goto_174
:cond_173
const/4 v5, 0x0
:goto_174
:try_start_174
iget-object v1, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v6, v1, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->typeKey:Ljava/lang/String;
:try_end_178
.catchall {:try_start_174 .. :try_end_178} :catchall_9b6
move-object/from16 v1, p4
move-object/from16 v2, p6
move-object v5, v15
move-object/from16 v17, v5
const/4 v3, 0x0
const/4 v4, 0x0
:goto_181
:try_start_181
iget-object v15, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->a:[Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
array-length v15, v15
:try_end_184
.catchall {:try_start_181 .. :try_end_184} :catchall_9ae
if-ge v4, v15, :cond_1b2
if-ge v3, v14, :cond_1b2
:try_start_188
iget-object v15, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->a:[Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
aget-object v15, v15, v4
iget-object v14, v15, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;->fieldInfo:Lcom/tradplus/ads/common/serialization/util/FieldInfo;
move/from16 p4, v4
iget-object v4, v14, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;
invoke-virtual {v14}, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->getAnnotation()Lcom/tradplus/ads/common/serialization/annotation/JSONField;
move-result-object v21
if-eqz v21, :cond_1a6
move-object/from16 p6, v4
instance-of v4, v15, Lcom/tradplus/ads/common/serialization/parser/deserializer/DefaultFieldDeserializer;
if-eqz v4, :cond_1a8
move-object v4, v15
check-cast v4, Lcom/tradplus/ads/common/serialization/parser/deserializer/DefaultFieldDeserializer;
iget-boolean v4, v4, Lcom/tradplus/ads/common/serialization/parser/deserializer/DefaultFieldDeserializer;->b:Z
:try_end_1a3
.catchall {:try_start_188 .. :try_end_1a3} :catchall_1ac
move-object/from16 v10, p6
goto :goto_1ba
:cond_1a6
move-object/from16 p6, v4
:cond_1a8
move-object/from16 v10, p6
const/4 v4, 0x0
goto :goto_1ba
:catchall_1ac
move-exception v0
:goto_1ad
move-object v15, v5
move-object v3, v7
:goto_1af
move-object v5, v1
goto/16 :goto_9bb
:cond_1b2
move/from16 p4, v4
const/4 v4, 0x0
const/4 v10, 0x0
const/4 v14, 0x0
const/4 v15, 0x0
const/16 v21, 0x0
:goto_1ba
const-wide/16 v22, 0x0
const/16 v24, 0x0
const-wide/16 v25, 0x0
if-eqz v15, :cond_39f
move-object/from16 p6, v2
:try_start_1c4
iget-object v2, v14, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name_chars:[C
:try_end_1c6
.catchall {:try_start_1c4 .. :try_end_1c6} :catchall_395
if-eqz v4, :cond_1d6
:try_start_1c8
invoke-virtual {v12, v2}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchField([C)Z
move-result v4
:try_end_1cc
.catchall {:try_start_1c8 .. :try_end_1cc} :catchall_1ac
if-eqz v4, :cond_1d6
move-object/from16 v27, v1
:goto_1d0
move-object/from16 v29, v10
const/4 v1, 0x0
const/4 v2, 0x1
goto/16 :goto_3a7
:cond_1d6
:try_start_1d6
sget-object v4, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
:try_end_1d8
.catchall {:try_start_1d6 .. :try_end_1d8} :catchall_395
move-object/from16 v27, v1
const/4 v1, -0x2
if-eq v10, v4, :cond_36c
:try_start_1dd
const-class v4, Ljava/lang/Integer;
if-ne v10, v4, :cond_1e3
goto/16 :goto_36c
:cond_1e3
sget-object v4, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
if-eq v10, v4, :cond_34c
const-class v4, Ljava/lang/Long;
if-ne v10, v4, :cond_1ed
goto/16 :goto_34c
:cond_1ed
const-class v4, Ljava/lang/String;
if-ne v10, v4, :cond_20b
invoke-virtual {v12, v2}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->scanFieldString([C)Ljava/lang/String;
move-result-object v2
iget v4, v12, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
if-lez v4, :cond_200
:goto_1f9
move-object v1, v2
:goto_1fa
move-object/from16 v29, v10
:goto_1fc
const/4 v2, 0x1
const/4 v4, 0x1
goto/16 :goto_3a8
:cond_200
iget v4, v12, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
if-ne v4, v1, :cond_206
goto/16 :goto_389
:cond_206
move-object v1, v2
:cond_207
move-object/from16 v29, v10
goto/16 :goto_3a6
:cond_20b
const-class v4, Ljava/util/Date;
if-ne v10, v4, :cond_222
iget-object v4, v14, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->format:Ljava/lang/String;
if-nez v4, :cond_222
invoke-virtual {v12, v2}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->scanFieldDate([C)Ljava/util/Date;
move-result-object v2
iget v4, v12, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
if-lez v4, :cond_21c
goto :goto_1f9
:cond_21c
iget v4, v12, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
if-ne v4, v1, :cond_206
goto/16 :goto_389
:cond_222
const-class v4, Ljava/math/BigDecimal;
if-ne v10, v4, :cond_235
invoke-virtual {v12, v2}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->scanFieldDecimal([C)Ljava/math/BigDecimal;
move-result-object v2
iget v4, v12, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
if-lez v4, :cond_22f
goto :goto_1f9
:cond_22f
iget v4, v12, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
if-ne v4, v1, :cond_206
goto/16 :goto_389
:cond_235
const-class v4, Ljava/math/BigInteger;
if-ne v10, v4, :cond_248
invoke-virtual {v12, v2}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->scanFieldBigInteger([C)Ljava/math/BigInteger;
move-result-object v2
iget v4, v12, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
if-lez v4, :cond_242
goto :goto_1f9
:cond_242
iget v4, v12, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
if-ne v4, v1, :cond_206
goto/16 :goto_389
:cond_248
sget-object v4, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
if-eq v10, v4, :cond_330
const-class v4, Ljava/lang/Boolean;
if-ne v10, v4, :cond_252
goto/16 :goto_330
:cond_252
sget-object v4, Ljava/lang/Float;->TYPE:Ljava/lang/Class;
if-eq v10, v4, :cond_310
const-class v4, Ljava/lang/Float;
if-ne v10, v4, :cond_25c
goto/16 :goto_310
:cond_25c
sget-object v4, Ljava/lang/Double;->TYPE:Ljava/lang/Class;
if-eq v10, v4, :cond_2ec
const-class v4, Ljava/lang/Double;
if-ne v10, v4, :cond_266
goto/16 :goto_2ec
:cond_266
invoke-virtual {v10}, Ljava/lang/Class;->isEnum()Z
move-result v4
if-eqz v4, :cond_2a3
invoke-virtual/range {p1 .. p1}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->getConfig()Lcom/tradplus/ads/common/serialization/parser/ParserConfig;
move-result-object v4
invoke-virtual {v4, v10}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->getDeserializer(Ljava/lang/reflect/Type;)Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
move-result-object v4
instance-of v4, v4, Lcom/tradplus/ads/common/serialization/parser/deserializer/EnumDeserializer;
if-eqz v4, :cond_2a3
if-eqz v21, :cond_282
invoke-interface/range {v21 .. v21}, Lcom/tradplus/ads/common/serialization/annotation/JSONField;->deserializeUsing()Ljava/lang/Class;
move-result-object v4
const-class v1, Ljava/lang/Void;
if-ne v4, v1, :cond_2a3
:cond_282
instance-of v1, v15, Lcom/tradplus/ads/common/serialization/parser/deserializer/DefaultFieldDeserializer;
if-eqz v1, :cond_3a3
move-object v1, v15
check-cast v1, Lcom/tradplus/ads/common/serialization/parser/deserializer/DefaultFieldDeserializer;
iget-object v1, v1, Lcom/tradplus/ads/common/serialization/parser/deserializer/DefaultFieldDeserializer;->a:Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
invoke-virtual {v8, v12, v2, v1}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->a(Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;[CLcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;)Ljava/lang/Enum;
move-result-object v1
iget v2, v12, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
if-lez v2, :cond_296
const/4 v2, 0x1
const/4 v4, 0x1
goto :goto_29f
:cond_296
iget v2, v12, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
const/4 v4, -0x2
if-ne v2, v4, :cond_29d
goto/16 :goto_389
:cond_29d
const/4 v2, 0x0
const/4 v4, 0x0
:goto_29f
move-object/from16 v29, v10
goto/16 :goto_3a8
:cond_2a3
const-class v1, [I
if-ne v10, v1, :cond_2b8
invoke-virtual {v12, v2}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->scanFieldIntArray([C)[I
move-result-object v1
iget v2, v12, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
if-lez v2, :cond_2b1
:goto_2af
goto/16 :goto_1fa
:cond_2b1
iget v2, v12, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
const/4 v4, -0x2
if-ne v2, v4, :cond_207
goto/16 :goto_389
:cond_2b8
const-class v1, [F
if-ne v10, v1, :cond_2cc
invoke-virtual {v12, v2}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->scanFieldFloatArray([C)[F
move-result-object v1
iget v2, v12, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
if-lez v2, :cond_2c5
goto :goto_2af
:cond_2c5
iget v2, v12, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
const/4 v4, -0x2
if-ne v2, v4, :cond_207
goto/16 :goto_389
:cond_2cc
const-class v1, [[F
if-ne v10, v1, :cond_2e0
invoke-virtual {v12, v2}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->scanFieldFloatArray2([C)[[F
move-result-object v1
iget v2, v12, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
if-lez v2, :cond_2d9
goto :goto_2af
:cond_2d9
iget v2, v12, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
const/4 v4, -0x2
if-ne v2, v4, :cond_207
goto/16 :goto_389
:cond_2e0
invoke-virtual {v12, v2}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchField([C)Z
move-result v1
if-eqz v1, :cond_2e8
goto/16 :goto_1d0
:cond_2e8
move/from16 v21, v3
goto/16 :goto_3d3
:cond_2ec
:goto_2ec
invoke-virtual {v12, v2}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->scanFieldDouble([C)D
move-result-wide v1
cmpl-double v4, v1, v22
if-nez v4, :cond_2fd
iget v4, v12, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
move-object/from16 v29, v10
const/4 v10, 0x5
if-ne v4, v10, :cond_2ff
const/4 v1, 0x0
goto :goto_303
:cond_2fd
move-object/from16 v29, v10
:cond_2ff
invoke-static {v1, v2}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
move-result-object v1
:goto_303
iget v2, v12, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
if-lez v2, :cond_309
:goto_307
goto/16 :goto_1fc
:cond_309
iget v2, v12, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
const/4 v4, -0x2
if-ne v2, v4, :cond_3a6
goto/16 :goto_389
:cond_310
:goto_310
move-object/from16 v29, v10
invoke-virtual {v12, v2}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->scanFieldFloat([C)F
move-result v1
cmpl-float v2, v1, v24
if-nez v2, :cond_321
iget v2, v12, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
const/4 v4, 0x5
if-ne v2, v4, :cond_321
const/4 v1, 0x0
goto :goto_325
:cond_321
invoke-static {v1}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object v1
:goto_325
iget v2, v12, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
if-lez v2, :cond_32a
goto :goto_307
:cond_32a
iget v2, v12, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
const/4 v4, -0x2
if-ne v2, v4, :cond_3a6
goto :goto_389
:cond_330
:goto_330
move-object/from16 v29, v10
invoke-virtual {v12, v2}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->scanFieldBoolean([C)Z
move-result v1
iget v2, v12, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
const/4 v4, 0x5
if-ne v2, v4, :cond_33d
const/4 v1, 0x0
goto :goto_341
:cond_33d
invoke-static {v1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v1
:goto_341
iget v2, v12, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
if-lez v2, :cond_346
goto :goto_307
:cond_346
iget v2, v12, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
const/4 v4, -0x2
if-ne v2, v4, :cond_3a6
goto :goto_389
:cond_34c
:goto_34c
move-object/from16 v29, v10
invoke-virtual {v12, v2}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->scanFieldLong([C)J
move-result-wide v1
cmp-long v4, v1, v25
if-nez v4, :cond_35d
iget v4, v12, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
const/4 v10, 0x5
if-ne v4, v10, :cond_35d
const/4 v1, 0x0
goto :goto_361
:cond_35d
invoke-static {v1, v2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v1
:goto_361
iget v2, v12, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
if-lez v2, :cond_366
goto :goto_307
:cond_366
iget v2, v12, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
const/4 v4, -0x2
if-ne v2, v4, :cond_3a6
goto :goto_389
:cond_36c
:goto_36c
move-object/from16 v29, v10
invoke-virtual {v12, v2}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->scanFieldInt([C)I
move-result v1
if-nez v1, :cond_37b
iget v2, v12, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
const/4 v4, 0x5
if-ne v2, v4, :cond_37b
const/4 v1, 0x0
goto :goto_37f
:cond_37b
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
:goto_37f
iget v2, v12, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
if-lez v2, :cond_384
goto :goto_307
:cond_384
iget v2, v12, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
:try_end_386
.catchall {:try_start_1dd .. :try_end_386} :catchall_3d9
const/4 v4, -0x2
if-ne v2, v4, :cond_3a6
:goto_389
add-int/lit8 v3, v3, 0x1
move/from16 v10, p4
move/from16 v16, v3
move-object v15, v6
move-object v3, v7
move-object/from16 v20, v17
goto/16 :goto_55d
:catchall_395
move-exception v0
move-object/from16 v27, v1
:goto_398
move-object v1, v0
move-object v15, v5
move-object v3, v7
move-object/from16 v5, v27
goto/16 :goto_9bc
:cond_39f
move-object/from16 v27, v1
move-object/from16 p6, v2
:cond_3a3
move-object/from16 v29, v10
const/4 v1, 0x0
:cond_3a6
:goto_3a6
const/4 v2, 0x0
:goto_3a7
const/4 v4, 0x0
:goto_3a8
if-nez v2, :cond_57e
:try_start_3aa
iget-object v10, v9, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->symbolTable:Lcom/tradplus/ads/common/serialization/parser/SymbolTable;
invoke-virtual {v12, v10}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->scanSymbol(Lcom/tradplus/ads/common/serialization/parser/SymbolTable;)Ljava/lang/String;
move-result-object v10
:try_end_3b0
.catchall {:try_start_3aa .. :try_end_3b0} :catchall_579
if-nez v10, :cond_3db
move/from16 v21, v3
:try_start_3b4
invoke-virtual {v12}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->token()I
move-result v3
move-object/from16 v28, v1
const/16 v1, 0xd
if-ne v3, v1, :cond_3c7
const/16 v1, 0x10
invoke-virtual {v12, v1}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->nextToken(I)V
move-object/from16 v1, v27
goto/16 :goto_54a
:cond_3c7
const/16 v1, 0x10
if-ne v3, v1, :cond_3df
sget-object v1, Lcom/tradplus/ads/common/serialization/parser/Feature;->AllowArbitraryCommas:Lcom/tradplus/ads/common/serialization/parser/Feature;
invoke-virtual {v12, v1}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->isEnabled(Lcom/tradplus/ads/common/serialization/parser/Feature;)Z
move-result v1
:try_end_3d1
.catchall {:try_start_3b4 .. :try_end_3d1} :catchall_3d9
if-eqz v1, :cond_3df
:goto_3d3
move-object/from16 v1, v27
const/16 v3, 0xd
goto/16 :goto_553
:catchall_3d9
move-exception v0
goto :goto_398
:cond_3db
move-object/from16 v28, v1
move/from16 v21, v3
:cond_3df
:try_start_3df
const-string v1, "$ref"
:try_end_3e1
.catchall {:try_start_3df .. :try_end_3e1} :catchall_579
if-ne v1, v10, :cond_4bb
if-eqz v7, :cond_4bb
const/4 v1, 0x4
:try_start_3e6
invoke-virtual {v12, v1}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->nextTokenWithColon(I)V
invoke-virtual {v12}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->token()I
move-result v2
if-ne v2, v1, :cond_4a0
invoke-virtual {v12}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->stringVal()Ljava/lang/String;
move-result-object v1
const-string v2, "@"
invoke-virtual {v2, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_3ff
iget-object v1, v7, Lcom/tradplus/ads/common/serialization/parser/ParseContext;->object:Ljava/lang/Object;
goto/16 :goto_47d
:cond_3ff
const-string v2, ".."
invoke-virtual {v2, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_420
iget-object v2, v7, Lcom/tradplus/ads/common/serialization/parser/ParseContext;->parent:Lcom/tradplus/ads/common/serialization/parser/ParseContext;
iget-object v3, v2, Lcom/tradplus/ads/common/serialization/parser/ParseContext;->object:Ljava/lang/Object;
if-eqz v3, :cond_412
iget-object v1, v2, Lcom/tradplus/ads/common/serialization/parser/ParseContext;->object:Ljava/lang/Object;
:goto_40f
move-object/from16 v27, v1
goto :goto_41d
:cond_412
new-instance v3, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser$ResolveTask;
invoke-direct {v3, v2, v1}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser$ResolveTask;-><init>(Lcom/tradplus/ads/common/serialization/parser/ParseContext;Ljava/lang/String;)V
invoke-virtual {v9, v3}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->addResolveTask(Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser$ResolveTask;)V
const/4 v1, 0x1
:goto_41b
iput v1, v9, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->resolveStatus:I
:goto_41d
move-object/from16 v1, v27
goto :goto_47d
:cond_420
const-string v2, "$"
invoke-virtual {v2, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_441
move-object v2, v7
:goto_429
iget-object v3, v2, Lcom/tradplus/ads/common/serialization/parser/ParseContext;->parent:Lcom/tradplus/ads/common/serialization/parser/ParseContext;
if-eqz v3, :cond_430
iget-object v2, v2, Lcom/tradplus/ads/common/serialization/parser/ParseContext;->parent:Lcom/tradplus/ads/common/serialization/parser/ParseContext;
goto :goto_429
:cond_430
iget-object v3, v2, Lcom/tradplus/ads/common/serialization/parser/ParseContext;->object:Ljava/lang/Object;
if-eqz v3, :cond_437
iget-object v1, v2, Lcom/tradplus/ads/common/serialization/parser/ParseContext;->object:Ljava/lang/Object;
goto :goto_40f
:cond_437
new-instance v3, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser$ResolveTask;
invoke-direct {v3, v2, v1}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser$ResolveTask;-><init>(Lcom/tradplus/ads/common/serialization/parser/ParseContext;Ljava/lang/String;)V
invoke-virtual {v9, v3}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->addResolveTask(Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser$ResolveTask;)V
const/4 v1, 0x1
goto :goto_41b
:cond_441
const/16 v2, 0x5c
invoke-virtual {v1, v2}, Ljava/lang/String;->indexOf(I)I
move-result v3
if-lez v3, :cond_46b
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const/4 v4, 0x0
:goto_44f
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v6
if-ge v4, v6, :cond_467
invoke-virtual {v1, v4}, Ljava/lang/String;->charAt(I)C
move-result v6
if-ne v6, v2, :cond_461
add-int/lit8 v4, v4, 0x1
invoke-virtual {v1, v4}, Ljava/lang/String;->charAt(I)C
move-result v6
:cond_461
invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
const/4 v6, 0x1
add-int/2addr v4, v6
goto :goto_44f
:cond_467
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
:cond_46b
invoke-virtual {v9, v1}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->resolveReference(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v2
if-eqz v2, :cond_473
move-object v1, v2
goto :goto_47d
:cond_473
new-instance v2, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser$ResolveTask;
invoke-direct {v2, v7, v1}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser$ResolveTask;-><init>(Lcom/tradplus/ads/common/serialization/parser/ParseContext;Ljava/lang/String;)V
invoke-virtual {v9, v2}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->addResolveTask(Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser$ResolveTask;)V
:try_end_47b
.catchall {:try_start_3e6 .. :try_end_47b} :catchall_3d9
const/4 v1, 0x1
goto :goto_41b
:goto_47d
const/16 v2, 0xd
:try_start_47f
invoke-virtual {v12, v2}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->nextToken(I)V
invoke-virtual {v12}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->token()I
move-result v3
if-ne v3, v2, :cond_498
const/16 v2, 0x10
invoke-virtual {v12, v2}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->nextToken(I)V
invoke-virtual {v9, v7, v1, v11}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->setContext(Lcom/tradplus/ads/common/serialization/parser/ParseContext;Ljava/lang/Object;Ljava/lang/Object;)Lcom/tradplus/ads/common/serialization/parser/ParseContext;
:try_end_490
.catchall {:try_start_47f .. :try_end_490} :catchall_1ac
if-eqz v5, :cond_494
iput-object v1, v5, Lcom/tradplus/ads/common/serialization/parser/ParseContext;->object:Ljava/lang/Object;
:cond_494
invoke-virtual {v9, v7}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->setContext(Lcom/tradplus/ads/common/serialization/parser/ParseContext;)V
return-object v1
:cond_498
:try_start_498
new-instance v2, Lcom/tradplus/ads/common/serialization/JSONException;
const-string v3, "illegal ref"
invoke-direct {v2, v3}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;)V
throw v2
:try_end_4a0
.catchall {:try_start_498 .. :try_end_4a0} :catchall_1ac
:cond_4a0
:try_start_4a0
new-instance v1, Lcom/tradplus/ads/common/serialization/JSONException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "illegal ref, "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {v2}, Lcom/tradplus/ads/common/serialization/parser/JSONToken;->name(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;)V
throw v1
:cond_4bb
if-eqz v6, :cond_4c3
invoke-virtual {v6, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
:try_end_4c1
.catchall {:try_start_4a0 .. :try_end_4c1} :catchall_3d9
if-nez v1, :cond_4c7
:cond_4c3
:try_start_4c3
sget-object v1, Lcom/tradplus/ads/common/serialization/JSON;->DEFAULT_TYPE_KEY:Ljava/lang/String;
if-ne v1, v10, :cond_574
:cond_4c7
const/4 v1, 0x4
invoke-virtual {v12, v1}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->nextTokenWithColon(I)V
invoke-virtual {v12}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->token()I
move-result v2
if-ne v2, v1, :cond_56a
invoke-virtual {v12}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->stringVal()Ljava/lang/String;
move-result-object v1
const/16 v2, 0x10
invoke-virtual {v12, v2}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->nextToken(I)V
iget-object v2, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v2, v2, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->typeName:Ljava/lang/String;
invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_53d
sget-object v2, Lcom/tradplus/ads/common/serialization/parser/Feature;->IgnoreAutoType:Lcom/tradplus/ads/common/serialization/parser/Feature;
invoke-virtual {v9, v2}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->isEnabled(Lcom/tradplus/ads/common/serialization/parser/Feature;)Z
move-result v2
if-eqz v2, :cond_4ed
goto :goto_53d
:cond_4ed
iget-object v2, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
invoke-static {v13, v2, v1}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->a(Lcom/tradplus/ads/common/serialization/parser/ParserConfig;Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;
move-result-object v2
:try_end_4f3
.catchall {:try_start_4c3 .. :try_end_4f3} :catchall_579
if-nez v2, :cond_51d
:try_start_4f5
invoke-static/range {p2 .. p2}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->getClass(Ljava/lang/reflect/Type;)Ljava/lang/Class;
move-result-object v2
iget-object v3, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->k:Lcom/tradplus/ads/common/serialization/parser/ParserConfig$AutoTypeCheckHandler;
if-eqz v3, :cond_508
iget-object v3, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->k:Lcom/tradplus/ads/common/serialization/parser/ParserConfig$AutoTypeCheckHandler;
invoke-virtual {v12}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->getFeatures()I
move-result v4
invoke-interface {v3, v1, v2, v4}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig$AutoTypeCheckHandler;->handler(Ljava/lang/String;Ljava/lang/Class;I)Ljava/lang/Class;
move-result-object v15
goto :goto_509
:cond_508
const/4 v15, 0x0
:goto_509
if-nez v15, :cond_514
invoke-virtual {v12}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->getFeatures()I
move-result v3
invoke-virtual {v13, v1, v2, v3}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->checkAutoType(Ljava/lang/String;Ljava/lang/Class;I)Ljava/lang/Class;
move-result-object v2
move-object v15, v2
:cond_514
invoke-virtual/range {p1 .. p1}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->getConfig()Lcom/tradplus/ads/common/serialization/parser/ParserConfig;
move-result-object v2
invoke-virtual {v2, v15}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->getDeserializer(Ljava/lang/reflect/Type;)Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
move-result-object v2
:try_end_51c
.catchall {:try_start_4f5 .. :try_end_51c} :catchall_3d9
goto :goto_51e
:cond_51d
const/4 v15, 0x0
:goto_51e
:try_start_51e
invoke-interface {v2, v9, v15, v11}, Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;->deserialze(Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;Ljava/lang/reflect/Type;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
instance-of v4, v2, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;
:try_end_524
.catchall {:try_start_51e .. :try_end_524} :catchall_579
if-eqz v4, :cond_533
:try_start_526
check-cast v2, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;
if-eqz v6, :cond_533
invoke-virtual {v2, v6}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->getFieldDeserializer(Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
move-result-object v2
if-eqz v2, :cond_533
invoke-virtual {v2, v3, v1}, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;->setValue(Ljava/lang/Object;Ljava/lang/String;)V
:try_end_533
.catchall {:try_start_526 .. :try_end_533} :catchall_3d9
:cond_533
if-eqz v5, :cond_539
move-object/from16 v1, v27
iput-object v1, v5, Lcom/tradplus/ads/common/serialization/parser/ParseContext;->object:Ljava/lang/Object;
:cond_539
invoke-virtual {v9, v7}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->setContext(Lcom/tradplus/ads/common/serialization/parser/ParseContext;)V
return-object v3
:cond_53d
:goto_53d
move-object/from16 v1, v27
:try_start_53f
invoke-virtual {v12}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->token()I
move-result v2
const/16 v3, 0xd
if-ne v2, v3, :cond_553
invoke-virtual {v12}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->nextToken()V
:goto_54a
move-object v15, v5
move-object/from16 v30, v7
move-object/from16 v2, v17
const/16 p4, 0x0
goto/16 :goto_6e3
:cond_553
:goto_553
move/from16 v10, p4
move-object/from16 v27, v1
move-object v15, v6
move-object v3, v7
move-object/from16 v20, v17
move/from16 v16, v21
:goto_55d
const/4 v1, 0x0
const/16 v2, 0x10
const/4 v4, 0x0
const/4 v6, 0x1
const/16 v14, 0xd
const/16 v21, 0x4
move-object/from16 v17, p6
goto/16 :goto_968
:cond_56a
move-object/from16 v1, v27
new-instance v2, Lcom/tradplus/ads/common/serialization/JSONException;
const-string v3, "syntax error"
invoke-direct {v2, v3}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;)V
throw v2
:try_end_574
.catchall {:try_start_53f .. :try_end_574} :catchall_1ac
:cond_574
move-object/from16 v1, v27
const/16 v3, 0xd
goto :goto_587
:catchall_579
move-exception v0
move-object/from16 v1, v27
goto/16 :goto_1ad
:cond_57e
move-object/from16 v28, v1
move/from16 v21, v3
move-object/from16 v1, v27
const/16 v3, 0xd
const/4 v10, 0x0
:goto_587
if-nez v1, :cond_5cc
if-nez v17, :cond_5cc
:try_start_58b
invoke-virtual/range {p0 .. p2}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->createInstance(Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;Ljava/lang/reflect/Type;)Ljava/lang/Object;
move-result-object v1
if-nez v1, :cond_59e
new-instance v3, Ljava/util/HashMap;
:try_end_593
.catchall {:try_start_58b .. :try_end_593} :catchall_5c5
move-object/from16 v27, v5
:try_start_595
iget-object v5, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->c:[Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
array-length v5, v5
invoke-direct {v3, v5}, Ljava/util/HashMap;-><init>(I)V
move-object/from16 v17, v3
goto :goto_5a0
:cond_59e
move-object/from16 v27, v5
:goto_5a0
invoke-virtual {v9, v7, v1, v11}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->setContext(Lcom/tradplus/ads/common/serialization/parser/ParseContext;Ljava/lang/Object;Ljava/lang/Object;)Lcom/tradplus/ads/common/serialization/parser/ParseContext;
move-result-object v3
:try_end_5a4
.catchall {:try_start_595 .. :try_end_5a4} :catchall_5c3
if-nez p6, :cond_5bf
:try_start_5a6
iget-object v5, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->c:[Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
array-length v5, v5
div-int/lit8 v5, v5, 0x20
const/16 v20, 0x1
add-int/lit8 v5, v5, 0x1
new-array v5, v5, [I
:try_end_5b1
.catchall {:try_start_5a6 .. :try_end_5b1} :catchall_5b9
move-object/from16 v27, v3
move-object/from16 v3, v17
move-object/from16 v17, v5
move-object v5, v1
goto :goto_5d3
:catchall_5b9
move-exception v0
move-object v5, v1
move-object v15, v3
move-object v3, v7
goto/16 :goto_9bb
:cond_5bf
move-object v5, v1
move-object/from16 v27, v3
goto :goto_5cf
:catchall_5c3
move-exception v0
goto :goto_5c8
:catchall_5c5
move-exception v0
move-object/from16 v27, v5
:goto_5c8
move-object v5, v1
move-object v3, v7
goto/16 :goto_9b3
:cond_5cc
move-object/from16 v27, v5
move-object v5, v1
:goto_5cf
move-object/from16 v3, v17
move-object/from16 v17, p6
:goto_5d3
if-eqz v2, :cond_664
if-nez v4, :cond_5ef
move-object/from16 v4, p2
:try_start_5d9
invoke-virtual {v15, v9, v5, v4, v3}, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;->parseField(Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;Ljava/lang/Object;Ljava/lang/reflect/Type;Ljava/util/Map;)V
:cond_5dc
move/from16 v10, p4
move-object/from16 v20, v3
move-object/from16 v19, v5
move-object v15, v6
move-object/from16 v30, v7
move/from16 v16, v21
const/16 p4, 0x0
const/16 v14, 0xd
const/16 v21, 0x4
goto/16 :goto_6c8
:cond_5ef
move-object/from16 v4, p2
move-object/from16 v1, v29
if-nez v5, :cond_5fd
iget-object v1, v14, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;
move-object/from16 v2, v28
invoke-interface {v3, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_645
:cond_5fd
move-object/from16 v2, v28
if-nez v2, :cond_619
sget-object v10, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
if-eq v1, v10, :cond_645
sget-object v10, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
if-eq v1, v10, :cond_645
sget-object v10, Ljava/lang/Float;->TYPE:Ljava/lang/Class;
if-eq v1, v10, :cond_645
sget-object v10, Ljava/lang/Double;->TYPE:Ljava/lang/Class;
if-eq v1, v10, :cond_645
sget-object v10, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
if-eq v1, v10, :cond_645
invoke-virtual {v15, v5, v2}, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;->setValue(Ljava/lang/Object;Ljava/lang/Object;)V
goto :goto_645
:cond_619
const-class v10, Ljava/lang/String;
if-ne v1, v10, :cond_641
sget-object v1, Lcom/tradplus/ads/common/serialization/parser/Feature;->TrimStringFieldValue:Lcom/tradplus/ads/common/serialization/parser/Feature;
iget v1, v1, Lcom/tradplus/ads/common/serialization/parser/Feature;->mask:I
and-int v1, p5, v1
if-nez v1, :cond_639
iget-object v1, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget v1, v1, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->parserFeatures:I
sget-object v10, Lcom/tradplus/ads/common/serialization/parser/Feature;->TrimStringFieldValue:Lcom/tradplus/ads/common/serialization/parser/Feature;
iget v10, v10, Lcom/tradplus/ads/common/serialization/parser/Feature;->mask:I
and-int/2addr v1, v10
if-nez v1, :cond_639
iget v1, v14, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->parserFeatures:I
sget-object v10, Lcom/tradplus/ads/common/serialization/parser/Feature;->TrimStringFieldValue:Lcom/tradplus/ads/common/serialization/parser/Feature;
iget v10, v10, Lcom/tradplus/ads/common/serialization/parser/Feature;->mask:I
and-int/2addr v1, v10
if-eqz v1, :cond_641
:cond_639
move-object v1, v2
check-cast v1, Ljava/lang/String;
invoke-virtual {v1}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v1
goto :goto_642
:cond_641
move-object v1, v2
:goto_642
invoke-virtual {v15, v5, v1}, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;->setValue(Ljava/lang/Object;Ljava/lang/Object;)V
:cond_645
:goto_645
if-eqz v17, :cond_654
div-int/lit8 v1, p4, 0x20
rem-int/lit8 v2, p4, 0x20
aget v10, v17, v1
const/4 v14, 0x1
shl-int v2, v14, v2
or-int/2addr v2, v10
aput v2, v17, v1
goto :goto_655
:cond_654
const/4 v14, 0x1
:goto_655
iget v1, v12, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->matchStat:I
const/4 v15, 0x4
if-ne v1, v15, :cond_5dc
move-object/from16 v20, v3
move-object/from16 v19, v5
move-object/from16 v30, v7
const/16 p4, 0x0
goto/16 :goto_6dd
:cond_664
move-object/from16 v4, p2
const/4 v14, 0x1
const/4 v15, 0x4
if-nez v3, :cond_67c
new-instance v1, Ljava/util/HashMap;
iget-object v2, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->c:[Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
array-length v2, v2
invoke-direct {v1, v2}, Ljava/util/HashMap;-><init>(I)V
:try_end_672
.catchall {:try_start_5d9 .. :try_end_672} :catchall_675
move-object/from16 v18, v1
goto :goto_67e
:catchall_675
move-exception v0
move-object v1, v0
move-object v3, v7
:goto_678
move-object/from16 v15, v27
goto/16 :goto_9bc
:cond_67c
move-object/from16 v18, v3
:goto_67e
move-object/from16 v1, p0
move-object/from16 v2, p1
move-object/from16 v20, v3
move/from16 v16, v21
const/16 v21, 0xd
move-object v3, v10
move/from16 v10, p4
move-object v4, v5
move-object/from16 v19, v5
const/16 p4, 0x0
move-object/from16 v5, p2
move-object v15, v6
const/16 v14, 0xd
const/16 v21, 0x4
move-object/from16 v6, v18
move-object/from16 v30, v7
move-object/from16 v7, v17
:try_start_69d
invoke-virtual/range {v1 .. v7}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->parseField(Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/reflect/Type;Ljava/util/Map;[I)Z
move-result v1
:try_end_6a1
.catchall {:try_start_69d .. :try_end_6a1} :catchall_9a6
if-nez v1, :cond_6c0
:try_start_6a3
invoke-virtual {v12}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->token()I
move-result v1
if-ne v1, v14, :cond_6ad
invoke-virtual {v12}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->nextToken()V
:try_end_6ac
.catchall {:try_start_6a3 .. :try_end_6ac} :catchall_6b6
goto :goto_6dd
:cond_6ad
move-object/from16 v3, v30
const/4 v1, 0x0
const/16 v2, 0x10
:goto_6b2
const/4 v4, 0x0
const/4 v6, 0x1
goto/16 :goto_964
:catchall_6b6
move-exception v0
move-object v1, v0
move-object/from16 v5, v19
move-object/from16 v15, v27
move-object/from16 v3, v30
goto/16 :goto_9bc
:cond_6c0
:try_start_6c0
invoke-virtual {v12}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->token()I
move-result v1
const/16 v2, 0x11
if-eq v1, v2, :cond_99a
:goto_6c8
invoke-virtual {v12}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->token()I
move-result v1
const/16 v2, 0x10
if-ne v1, v2, :cond_6d4
move-object/from16 v3, v30
const/4 v1, 0x0
goto :goto_6b2
:cond_6d4
invoke-virtual {v12}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->token()I
move-result v1
if-ne v1, v14, :cond_951
invoke-virtual {v12, v2}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->nextToken(I)V
:try_end_6dd
.catchall {:try_start_6c0 .. :try_end_6dd} :catchall_9a6
:goto_6dd
move-object/from16 v1, v19
move-object/from16 v2, v20
move-object/from16 v15, v27
:goto_6e3
if-nez v1, :cond_925
if-nez v2, :cond_703
:try_start_6e7
invoke-virtual/range {p0 .. p2}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->createInstance(Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;Ljava/lang/reflect/Type;)Ljava/lang/Object;
move-result-object v1
:try_end_6eb
.catchall {:try_start_6e7 .. :try_end_6eb} :catchall_6fe
if-nez v15, :cond_6f4
move-object/from16 v3, v30
:try_start_6ef
invoke-virtual {v9, v3, v1, v11}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->setContext(Lcom/tradplus/ads/common/serialization/parser/ParseContext;Ljava/lang/Object;Ljava/lang/Object;)Lcom/tradplus/ads/common/serialization/parser/ParseContext;
move-result-object v15
:try_end_6f3
.catchall {:try_start_6ef .. :try_end_6f3} :catchall_94e
goto :goto_6f6
:cond_6f4
move-object/from16 v3, v30
:goto_6f6
if-eqz v15, :cond_6fa
iput-object v1, v15, Lcom/tradplus/ads/common/serialization/parser/ParseContext;->object:Ljava/lang/Object;
:cond_6fa
invoke-virtual {v9, v3}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->setContext(Lcom/tradplus/ads/common/serialization/parser/ParseContext;)V
return-object v1
:catchall_6fe
move-exception v0
move-object/from16 v3, v30
goto/16 :goto_1af
:cond_703
move-object/from16 v3, v30
:try_start_705
iget-object v4, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v4, v4, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->creatorConstructorParameters:[Ljava/lang/String;
if-eqz v4, :cond_7b8
array-length v5, v4
new-array v5, v5, [Ljava/lang/Object;
const/4 v6, 0x0
:goto_70f
array-length v7, v4
if-ge v6, v7, :cond_825
aget-object v7, v4, v6
invoke-interface {v2, v7}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v7
if-nez v7, :cond_774
iget-object v10, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v10, v10, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->creatorConstructorParameterTypes:[Ljava/lang/reflect/Type;
aget-object v10, v10, v6
iget-object v11, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v11, v11, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->fields:[Lcom/tradplus/ads/common/serialization/util/FieldInfo;
aget-object v11, v11, v6
sget-object v12, Ljava/lang/Byte;->TYPE:Ljava/lang/Class;
if-ne v10, v12, :cond_72f
invoke-static/range {p4 .. p4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
move-result-object v7
goto :goto_772
:cond_72f
sget-object v12, Ljava/lang/Short;->TYPE:Ljava/lang/Class;
if-ne v10, v12, :cond_738
invoke-static/range {p4 .. p4}, Ljava/lang/Short;->valueOf(S)Ljava/lang/Short;
move-result-object v7
goto :goto_772
:cond_738
sget-object v12, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
if-ne v10, v12, :cond_741
invoke-static/range {p4 .. p4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v7
goto :goto_772
:cond_741
sget-object v12, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
if-ne v10, v12, :cond_74a
invoke-static/range {v25 .. v26}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v7
goto :goto_772
:cond_74a
sget-object v12, Ljava/lang/Float;->TYPE:Ljava/lang/Class;
if-ne v10, v12, :cond_753
invoke-static/range {v24 .. v24}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object v7
goto :goto_772
:cond_753
sget-object v12, Ljava/lang/Double;->TYPE:Ljava/lang/Class;
if-ne v10, v12, :cond_75c
invoke-static/range {v22 .. v23}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
move-result-object v7
goto :goto_772
:cond_75c
sget-object v12, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
if-ne v10, v12, :cond_763
sget-object v7, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean;
goto :goto_772
:cond_763
const-class v12, Ljava/lang/String;
if-ne v10, v12, :cond_772
iget v10, v11, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->parserFeatures:I
sget-object v11, Lcom/tradplus/ads/common/serialization/parser/Feature;->InitStringFieldAsEmpty:Lcom/tradplus/ads/common/serialization/parser/Feature;
iget v11, v11, Lcom/tradplus/ads/common/serialization/parser/Feature;->mask:I
and-int/2addr v10, v11
if-eqz v10, :cond_772
const-string v7, ""
:cond_772
:goto_772
const/4 v12, 0x0
goto :goto_7b0
:cond_774
iget-object v10, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v10, v10, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->creatorConstructorParameterTypes:[Ljava/lang/reflect/Type;
if-eqz v10, :cond_772
iget-object v10, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v10, v10, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->creatorConstructorParameterTypes:[Ljava/lang/reflect/Type;
array-length v10, v10
if-ge v6, v10, :cond_772
iget-object v10, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v10, v10, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->creatorConstructorParameterTypes:[Ljava/lang/reflect/Type;
aget-object v10, v10, v6
instance-of v11, v10, Ljava/lang/Class;
if-eqz v11, :cond_772
check-cast v10, Ljava/lang/Class;
invoke-virtual {v10, v7}, Ljava/lang/Class;->isInstance(Ljava/lang/Object;)Z
move-result v11
if-nez v11, :cond_772
instance-of v11, v7, Ljava/util/List;
if-eqz v11, :cond_772
move-object v11, v7
check-cast v11, Ljava/util/List;
invoke-interface {v11}, Ljava/util/List;->size()I
move-result v12
const/4 v13, 0x1
if-ne v12, v13, :cond_772
const/4 v12, 0x0
invoke-interface {v11, v12}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v13
invoke-virtual {v10, v13}, Ljava/lang/Class;->isInstance(Ljava/lang/Object;)Z
move-result v10
if-eqz v10, :cond_7b0
invoke-interface {v11, v12}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v7
:cond_7b0
:goto_7b0
aput-object v7, v5, v6
add-int/lit8 v6, v6, 0x1
const/16 p4, 0x0
goto/16 :goto_70f
:cond_7b8
const/4 v12, 0x0
iget-object v5, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v5, v5, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->fields:[Lcom/tradplus/ads/common/serialization/util/FieldInfo;
array-length v6, v5
new-array v7, v6, [Ljava/lang/Object;
const/4 v10, 0x0
:goto_7c1
if-ge v10, v6, :cond_824
aget-object v11, v5, v10
iget-object v13, v11, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;
invoke-interface {v2, v13}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v13
if-nez v13, :cond_81e
iget-object v14, v11, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldType:Ljava/lang/reflect/Type;
sget-object v12, Ljava/lang/Byte;->TYPE:Ljava/lang/Class;
if-ne v14, v12, :cond_7d9
const/4 v12, 0x0
invoke-static {v12}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
move-result-object v13
goto :goto_81e
:cond_7d9
sget-object v12, Ljava/lang/Short;->TYPE:Ljava/lang/Class;
if-ne v14, v12, :cond_7e3
const/4 v12, 0x0
invoke-static {v12}, Ljava/lang/Short;->valueOf(S)Ljava/lang/Short;
move-result-object v13
goto :goto_81e
:cond_7e3
sget-object v12, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
if-ne v14, v12, :cond_7ed
const/4 v12, 0x0
invoke-static {v12}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v13
goto :goto_81e
:cond_7ed
sget-object v12, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
if-ne v14, v12, :cond_7f6
invoke-static/range {v25 .. v26}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v13
goto :goto_81e
:cond_7f6
sget-object v12, Ljava/lang/Float;->TYPE:Ljava/lang/Class;
if-ne v14, v12, :cond_7ff
invoke-static/range {v24 .. v24}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object v13
goto :goto_81e
:cond_7ff
sget-object v12, Ljava/lang/Double;->TYPE:Ljava/lang/Class;
if-ne v14, v12, :cond_808
invoke-static/range {v22 .. v23}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
move-result-object v13
goto :goto_81e
:cond_808
sget-object v12, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
if-ne v14, v12, :cond_80f
sget-object v13, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean;
goto :goto_81e
:cond_80f
const-class v12, Ljava/lang/String;
if-ne v14, v12, :cond_81e
iget v11, v11, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->parserFeatures:I
sget-object v12, Lcom/tradplus/ads/common/serialization/parser/Feature;->InitStringFieldAsEmpty:Lcom/tradplus/ads/common/serialization/parser/Feature;
iget v12, v12, Lcom/tradplus/ads/common/serialization/parser/Feature;->mask:I
and-int/2addr v11, v12
if-eqz v11, :cond_81e
const-string v13, ""
:cond_81e
:goto_81e
aput-object v13, v7, v10
add-int/lit8 v10, v10, 0x1
const/4 v12, 0x0
goto :goto_7c1
:cond_824
move-object v5, v7
:cond_825
iget-object v6, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v6, v6, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->creatorConstructor:Ljava/lang/reflect/Constructor;
if-eqz v6, :cond_8ef
iget-object v6, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-boolean v6, v6, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->kotlin:Z
if-eqz v6, :cond_858
const/4 v6, 0x0
:goto_832
array-length v7, v5
if-ge v6, v7, :cond_858
aget-object v7, v5, v6
if-nez v7, :cond_855
iget-object v7, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v7, v7, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->fields:[Lcom/tradplus/ads/common/serialization/util/FieldInfo;
if-eqz v7, :cond_855
iget-object v7, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v7, v7, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->fields:[Lcom/tradplus/ads/common/serialization/util/FieldInfo;
array-length v7, v7
if-ge v6, v7, :cond_855
iget-object v7, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v7, v7, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->fields:[Lcom/tradplus/ads/common/serialization/util/FieldInfo;
aget-object v6, v7, v6
iget-object v6, v6, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;
const-class v7, Ljava/lang/String;
:try_end_850
.catchall {:try_start_705 .. :try_end_850} :catchall_94e
if-ne v6, v7, :cond_858
const/16 v28, 0x1
goto :goto_85a
:cond_855
add-int/lit8 v6, v6, 0x1
goto :goto_832
:cond_858
const/16 v28, 0x0
:goto_85a
if-eqz v28, :cond_88e
:try_start_85c
iget-object v6, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v6, v6, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->kotlinDefaultConstructor:Ljava/lang/reflect/Constructor;
if-eqz v6, :cond_88e
iget-object v6, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v6, v6, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->kotlinDefaultConstructor:Ljava/lang/reflect/Constructor;
const/4 v7, 0x0
new-array v10, v7, [Ljava/lang/Object;
invoke-virtual {v6, v10}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
const/4 v6, 0x0
:goto_86e
array-length v7, v5
if-ge v6, v7, :cond_896
aget-object v7, v5, v6
if-eqz v7, :cond_88b
iget-object v10, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v10, v10, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->fields:[Lcom/tradplus/ads/common/serialization/util/FieldInfo;
if-eqz v10, :cond_88b
iget-object v10, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v10, v10, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->fields:[Lcom/tradplus/ads/common/serialization/util/FieldInfo;
array-length v10, v10
if-ge v6, v10, :cond_88b
iget-object v10, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v10, v10, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->fields:[Lcom/tradplus/ads/common/serialization/util/FieldInfo;
aget-object v10, v10, v6
invoke-virtual {v10, v1, v7}, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->set(Ljava/lang/Object;Ljava/lang/Object;)V
:cond_88b
add-int/lit8 v6, v6, 0x1
goto :goto_86e
:cond_88e
iget-object v6, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v6, v6, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->creatorConstructor:Ljava/lang/reflect/Constructor;
invoke-virtual {v6, v5}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
:try_end_896
.catch Ljava/lang/Exception; {:try_start_85c .. :try_end_896} :catch_8c0
.catchall {:try_start_85c .. :try_end_896} :catchall_94e
:cond_896
if-eqz v4, :cond_920
:try_start_898
invoke-interface {v2}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object v2
invoke-interface {v2}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v2
:cond_8a0
:goto_8a0
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v4
if-eqz v4, :cond_920
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Ljava/util/Map$Entry;
invoke-interface {v4}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v5
check-cast v5, Ljava/lang/String;
invoke-virtual {v8, v5}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->getFieldDeserializer(Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
move-result-object v5
if-eqz v5, :cond_8a0
invoke-interface {v4}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v4
invoke-virtual {v5, v1, v4}, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;->setValue(Ljava/lang/Object;Ljava/lang/Object;)V
:try_end_8bf
.catchall {:try_start_898 .. :try_end_8bf} :catchall_94e
goto :goto_8a0
:catch_8c0
move-exception v0
move-object v2, v1
move-object v1, v0
:try_start_8c3
new-instance v5, Lcom/tradplus/ads/common/serialization/JSONException;
new-instance v6, Ljava/lang/StringBuilder;
invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
const-string v7, "create instance error, "
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v4, ", "
invoke-virtual {v6, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v4, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v4, v4, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->creatorConstructor:Ljava/lang/reflect/Constructor;
invoke-virtual {v4}, Ljava/lang/reflect/Constructor;->toGenericString()Ljava/lang/String;
move-result-object v4
invoke-virtual {v6, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-direct {v5, v4, v1}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v5
:try_end_8ea
.catchall {:try_start_8c3 .. :try_end_8ea} :catchall_8ea
:catchall_8ea
move-exception v0
move-object v1, v0
move-object v5, v2
goto/16 :goto_9bc
:cond_8ef
:try_start_8ef
iget-object v2, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v2, v2, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->factoryMethod:Ljava/lang/reflect/Method;
:try_end_8f3
.catchall {:try_start_8ef .. :try_end_8f3} :catchall_94e
if-eqz v2, :cond_920
:try_start_8f5
iget-object v2, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v2, v2, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->factoryMethod:Ljava/lang/reflect/Method;
const/4 v4, 0x0
invoke-virtual {v2, v4, v5}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
:try_end_8fe
.catch Ljava/lang/Exception; {:try_start_8f5 .. :try_end_8fe} :catch_8ff
.catchall {:try_start_8f5 .. :try_end_8fe} :catchall_94e
goto :goto_920
:catch_8ff
move-exception v0
move-object v2, v0
:try_start_901
new-instance v4, Lcom/tradplus/ads/common/serialization/JSONException;
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
const-string v6, "create factory method error, "
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v6, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v6, v6, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->factoryMethod:Ljava/lang/reflect/Method;
invoke-virtual {v6}, Ljava/lang/reflect/Method;->toString()Ljava/lang/String;
move-result-object v6
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
invoke-direct {v4, v5, v2}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v4
:cond_920
:goto_920
if-eqz v15, :cond_927
iput-object v1, v15, Lcom/tradplus/ads/common/serialization/parser/ParseContext;->object:Ljava/lang/Object;
goto :goto_927
:cond_925
move-object/from16 v3, v30
:cond_927
:goto_927
iget-object v2, v8, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v2, v2, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->buildMethod:Ljava/lang/reflect/Method;
:try_end_92b
.catchall {:try_start_901 .. :try_end_92b} :catchall_94e
if-nez v2, :cond_935
if-eqz v15, :cond_931
iput-object v1, v15, Lcom/tradplus/ads/common/serialization/parser/ParseContext;->object:Ljava/lang/Object;
:cond_931
invoke-virtual {v9, v3}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->setContext(Lcom/tradplus/ads/common/serialization/parser/ParseContext;)V
return-object v1
:cond_935
const/4 v4, 0x0
:try_start_936
new-array v4, v4, [Ljava/lang/Object;
invoke-virtual {v2, v1, v4}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
:try_end_93c
.catch Ljava/lang/Exception; {:try_start_936 .. :try_end_93c} :catch_944
.catchall {:try_start_936 .. :try_end_93c} :catchall_94e
if-eqz v15, :cond_940
iput-object v1, v15, Lcom/tradplus/ads/common/serialization/parser/ParseContext;->object:Ljava/lang/Object;
:cond_940
invoke-virtual {v9, v3}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->setContext(Lcom/tradplus/ads/common/serialization/parser/ParseContext;)V
return-object v2
:catch_944
move-exception v0
move-object v2, v0
:try_start_946
new-instance v4, Lcom/tradplus/ads/common/serialization/JSONException;
const-string v5, "build object error"
invoke-direct {v4, v5, v2}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v4
:try_end_94e
.catchall {:try_start_946 .. :try_end_94e} :catchall_94e
:catchall_94e
move-exception v0
goto/16 :goto_1af
:cond_951
move-object/from16 v3, v30
const/4 v1, 0x0
const/4 v4, 0x0
:try_start_955
invoke-virtual {v12}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->token()I
move-result v5
const/16 v6, 0x12
if-eq v5, v6, :cond_97b
invoke-virtual {v12}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->token()I
move-result v5
const/4 v6, 0x1
if-eq v5, v6, :cond_97b
:goto_964
move-object/from16 v5, v27
move-object/from16 v27, v19
:goto_968
add-int/lit8 v7, v10, 0x1
move-object/from16 v10, p2
move v4, v7
move-object v6, v15
move-object/from16 v2, v17
move-object/from16 v17, v20
move-object/from16 v1, v27
const/16 v14, 0x10
move-object v7, v3
move/from16 v3, v16
goto/16 :goto_181
:cond_97b
new-instance v1, Lcom/tradplus/ads/common/serialization/JSONException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "syntax error, unexpect token "
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v12}, Lcom/tradplus/ads/common/serialization/parser/JSONLexerBase;->token()I
move-result v4
invoke-static {v4}, Lcom/tradplus/ads/common/serialization/parser/JSONToken;->name(I)Ljava/lang/String;
move-result-object v4
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;)V
throw v1
:cond_99a
move-object/from16 v3, v30
new-instance v1, Lcom/tradplus/ads/common/serialization/JSONException;
const-string v2, "syntax error, unexpect token \':\'"
invoke-direct {v1, v2}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;)V
throw v1
:try_end_9a4
.catchall {:try_start_955 .. :try_end_9a4} :catchall_9a4
:catchall_9a4
move-exception v0
goto :goto_9a9
:catchall_9a6
move-exception v0
move-object/from16 v3, v30
:goto_9a9
move-object v1, v0
move-object/from16 v5, v19
goto/16 :goto_678
:catchall_9ae
move-exception v0
move-object/from16 v27, v5
move-object v3, v7
move-object v5, v1
:goto_9b3
move-object/from16 v15, v27
goto :goto_9bb
:catchall_9b6
move-exception v0
move-object v3, v7
move-object v4, v15
move-object/from16 v5, p4
:goto_9bb
move-object v1, v0
:goto_9bc
if-eqz v15, :cond_9c0
iput-object v5, v15, Lcom/tradplus/ads/common/serialization/parser/ParseContext;->object:Ljava/lang/Object;
:cond_9c0
invoke-virtual {v9, v3}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->setContext(Lcom/tradplus/ads/common/serialization/parser/ParseContext;)V
throw v1
:cond_9c4
:goto_9c4
invoke-virtual/range {p1 .. p1}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->parse()Ljava/lang/Object;
move-result-object v1
return-object v1
.end method
.method protected a(Lcom/tradplus/ads/common/serialization/parser/JSONLexer;I)V
.registers 3
invoke-interface {p1}, Lcom/tradplus/ads/common/serialization/parser/JSONLexer;->token()I
move-result p1
if-ne p1, p2, :cond_7
return-void
:cond_7
new-instance p1, Lcom/tradplus/ads/common/serialization/JSONException;
const-string p2, "syntax error"
invoke-direct {p1, p2}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public createInstance(Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;Ljava/lang/reflect/Type;)Ljava/lang/Object;
.registers 13
const-string v0, "create instance error, class "
instance-of v1, p2, Ljava/lang/Class;
const/4 v2, 0x1
const/4 v3, 0x0
if-eqz v1, :cond_28
iget-object v1, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->b:Ljava/lang/Class;
invoke-virtual {v1}, Ljava/lang/Class;->isInterface()Z
move-result v1
if-eqz v1, :cond_28
check-cast p2, Ljava/lang/Class;
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/Thread;->getContextClassLoader()Ljava/lang/ClassLoader;
move-result-object p1
new-instance v0, Lcom/tradplus/ads/common/serialization/JSONObject;
invoke-direct {v0}, Lcom/tradplus/ads/common/serialization/JSONObject;-><init>()V
new-array v1, v2, [Ljava/lang/Class;
aput-object p2, v1, v3
invoke-static {p1, v1, v0}, Ljava/lang/reflect/Proxy;->newProxyInstance(Ljava/lang/ClassLoader;[Ljava/lang/Class;Ljava/lang/reflect/InvocationHandler;)Ljava/lang/Object;
move-result-object p1
return-object p1
:cond_28
iget-object v1, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v4, v1, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->defaultConstructor:Ljava/lang/reflect/Constructor;
const/4 v5, 0x0
if-nez v4, :cond_34
iget-object v1, v1, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->factoryMethod:Ljava/lang/reflect/Method;
if-nez v1, :cond_34
return-object v5
:cond_34
iget-object v1, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v4, v1, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->factoryMethod:Ljava/lang/reflect/Method;
if-eqz v4, :cond_3f
iget v1, v1, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->defaultConstructorParameterSize:I
if-lez v1, :cond_3f
return-object v5
:cond_3f
:try_start_3f
iget-object v1, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v1, v1, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->defaultConstructor:Ljava/lang/reflect/Constructor;
iget-object v4, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget v4, v4, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->defaultConstructorParameterSize:I
if-nez v4, :cond_5f
if-eqz v1, :cond_53
new-array p2, v3, [Ljava/lang/Object;
invoke-virtual {v1, p2}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
goto/16 :goto_e9
:cond_53
iget-object p2, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object p2, p2, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->factoryMethod:Ljava/lang/reflect/Method;
new-array v1, v3, [Ljava/lang/Object;
invoke-virtual {p2, v5, v1}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
goto/16 :goto_e9
:cond_5f
invoke-virtual {p1}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->getContext()Lcom/tradplus/ads/common/serialization/parser/ParseContext;
move-result-object v4
:try_end_63
.catch Lcom/tradplus/ads/common/serialization/JSONException; {:try_start_3f .. :try_end_63} :catch_158
.catch Ljava/lang/Exception; {:try_start_3f .. :try_end_63} :catch_13c
const-string v6, "can\'t create non-static inner class instance."
if-eqz v4, :cond_136
:try_start_67
iget-object v7, v4, Lcom/tradplus/ads/common/serialization/parser/ParseContext;->object:Ljava/lang/Object;
if-eqz v7, :cond_136
instance-of v7, p2, Ljava/lang/Class;
if-eqz v7, :cond_130
check-cast p2, Ljava/lang/Class;
invoke-virtual {p2}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object p2
const/16 v7, 0x24
invoke-virtual {p2, v7}, Ljava/lang/String;->lastIndexOf(I)I
move-result v7
invoke-virtual {p2, v3, v7}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object p2
iget-object v7, v4, Lcom/tradplus/ads/common/serialization/parser/ParseContext;->object:Ljava/lang/Object;
invoke-virtual {v7}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v8
invoke-virtual {v8}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v8
invoke-virtual {v8, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v9
if-nez v9, :cond_d2
iget-object v4, v4, Lcom/tradplus/ads/common/serialization/parser/ParseContext;->parent:Lcom/tradplus/ads/common/serialization/parser/ParseContext;
if-eqz v4, :cond_d2
iget-object v9, v4, Lcom/tradplus/ads/common/serialization/parser/ParseContext;->object:Ljava/lang/Object;
if-eqz v9, :cond_d2
const-string v9, "java.util.ArrayList"
invoke-virtual {v9, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v9
if-nez v9, :cond_bf
const-string v9, "java.util.List"
invoke-virtual {v9, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v9
if-nez v9, :cond_bf
const-string v9, "java.util.Collection"
invoke-virtual {v9, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v9
if-nez v9, :cond_bf
const-string v9, "java.util.Map"
invoke-virtual {v9, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v9
if-nez v9, :cond_bf
const-string v9, "java.util.HashMap"
invoke-virtual {v9, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v8
if-eqz v8, :cond_d2
:cond_bf
iget-object v7, v4, Lcom/tradplus/ads/common/serialization/parser/ParseContext;->object:Ljava/lang/Object;
invoke-virtual {v7}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v7
invoke-virtual {v7}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v7
invoke-virtual {v7, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p2
if-eqz p2, :cond_d1
iget-object v5, v4, Lcom/tradplus/ads/common/serialization/parser/ParseContext;->object:Ljava/lang/Object;
:cond_d1
move-object v7, v5
:cond_d2
if-eqz v7, :cond_12a
instance-of p2, v7, Ljava/util/Collection;
if-eqz p2, :cond_e1
move-object p2, v7
check-cast p2, Ljava/util/Collection;
invoke-interface {p2}, Ljava/util/Collection;->isEmpty()Z
move-result p2
if-nez p2, :cond_12a
:cond_e1
new-array p2, v2, [Ljava/lang/Object;
aput-object v7, p2, v3
invoke-virtual {v1, p2}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
:try_end_e9
.catch Lcom/tradplus/ads/common/serialization/JSONException; {:try_start_67 .. :try_end_e9} :catch_158
.catch Ljava/lang/Exception; {:try_start_67 .. :try_end_e9} :catch_13c
:goto_e9
if-eqz p1, :cond_129
iget-object p1, p1, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->lexer:Lcom/tradplus/ads/common/serialization/parser/JSONLexer;
sget-object v1, Lcom/tradplus/ads/common/serialization/parser/Feature;->InitStringFieldAsEmpty:Lcom/tradplus/ads/common/serialization/parser/Feature;
invoke-interface {p1, v1}, Lcom/tradplus/ads/common/serialization/parser/JSONLexer;->isEnabled(Lcom/tradplus/ads/common/serialization/parser/Feature;)Z
move-result p1
if-eqz p1, :cond_129
iget-object p1, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object p1, p1, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->fields:[Lcom/tradplus/ads/common/serialization/util/FieldInfo;
array-length v1, p1
:goto_fa
if-ge v3, v1, :cond_129
aget-object v2, p1, v3
iget-object v4, v2, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;
const-class v5, Ljava/lang/String;
if-ne v4, v5, :cond_126
:try_start_104
const-string v4, ""
invoke-virtual {v2, p2, v4}, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->set(Ljava/lang/Object;Ljava/lang/Object;)V
:try_end_109
.catch Ljava/lang/Exception; {:try_start_104 .. :try_end_109} :catch_10a
goto :goto_126
:catch_10a
move-exception p1
new-instance p2, Lcom/tradplus/ads/common/serialization/JSONException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->b:Ljava/lang/Class;
invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p2, v0, p1}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p2
:cond_126
:goto_126
add-int/lit8 v3, v3, 0x1
goto :goto_fa
:cond_129
return-object p2
:cond_12a
:try_start_12a
new-instance p1, Lcom/tradplus/ads/common/serialization/JSONException;
invoke-direct {p1, v6}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;)V
throw p1
:cond_130
new-instance p1, Lcom/tradplus/ads/common/serialization/JSONException;
invoke-direct {p1, v6}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;)V
throw p1
:cond_136
new-instance p1, Lcom/tradplus/ads/common/serialization/JSONException;
invoke-direct {p1, v6}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;)V
throw p1
:try_end_13c
.catch Lcom/tradplus/ads/common/serialization/JSONException; {:try_start_12a .. :try_end_13c} :catch_158
.catch Ljava/lang/Exception; {:try_start_12a .. :try_end_13c} :catch_13c
:catch_13c
move-exception p1
new-instance p2, Lcom/tradplus/ads/common/serialization/JSONException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->b:Ljava/lang/Class;
invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p2, v0, p1}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p2
:catch_158
move-exception p1
goto :goto_15b
:goto_15a
throw p1
:goto_15b
goto :goto_15a
.end method
.method public createInstance(Ljava/util/Map;Lcom/tradplus/ads/common/serialization/parser/ParserConfig;)Ljava/lang/Object;
.registers 15
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;",
"Lcom/tradplus/ads/common/serialization/parser/ParserConfig;",
")",
"Ljava/lang/Object;"
}
.end annotation
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v1, v0, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->creatorConstructor:Ljava/lang/reflect/Constructor;
const/4 v2, 0x1
const/4 v3, 0x0
const/4 v4, 0x0
if-nez v1, :cond_15b
iget-object v0, v0, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->factoryMethod:Ljava/lang/reflect/Method;
if-nez v0, :cond_15b
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->b:Ljava/lang/Class;
invoke-virtual {p0, v3, v0}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->createInstance(Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;Ljava/lang/reflect/Type;)Ljava/lang/Object;
move-result-object v0
invoke-interface {p1}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object p1
invoke-interface {p1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_1b
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_144
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/util/Map$Entry;
invoke-interface {v1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v5
check-cast v5, Ljava/lang/String;
invoke-interface {v1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v1
invoke-virtual {p0, v5}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->smartMatch(Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
move-result-object v5
if-nez v5, :cond_38
goto :goto_1b
:cond_38
iget-object v6, v5, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;->fieldInfo:Lcom/tradplus/ads/common/serialization/util/FieldInfo;
iget-object v7, v6, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->field:Ljava/lang/reflect/Field;
iget-object v8, v6, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldType:Ljava/lang/reflect/Type;
iget-object v9, v6, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;
invoke-virtual {v6}, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->getAnnotation()Lcom/tradplus/ads/common/serialization/annotation/JSONField;
move-result-object v10
iget-object v11, v6, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->declaringClass:Ljava/lang/Class;
if-eqz v11, :cond_65
invoke-virtual {v9, v1}, Ljava/lang/Class;->isInstance(Ljava/lang/Object;)Z
move-result v9
if-eqz v9, :cond_58
if-eqz v10, :cond_65
invoke-interface {v10}, Lcom/tradplus/ads/common/serialization/annotation/JSONField;->deserializeUsing()Ljava/lang/Class;
move-result-object v9
const-class v10, Ljava/lang/Void;
if-eq v9, v10, :cond_65
:cond_58
new-instance v6, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;
invoke-static {v1}, Lcom/tradplus/ads/common/serialization/JSON;->toJSONString(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-direct {v6, v1}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;-><init>(Ljava/lang/String;)V
invoke-virtual {v5, v6, v0, v8, v3}, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;->parseField(Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;Ljava/lang/Object;Ljava/lang/reflect/Type;Ljava/util/Map;)V
goto :goto_1b
:cond_65
if-eqz v7, :cond_109
iget-object v9, v6, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->method:Ljava/lang/reflect/Method;
if-nez v9, :cond_109
invoke-virtual {v7}, Ljava/lang/reflect/Field;->getType()Ljava/lang/Class;
move-result-object v9
sget-object v10, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
if-ne v9, v10, :cond_83
sget-object v9, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean;
if-ne v1, v9, :cond_7b
invoke-virtual {v7, v0, v4}, Ljava/lang/reflect/Field;->setBoolean(Ljava/lang/Object;Z)V
goto :goto_1b
:cond_7b
sget-object v9, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
if-ne v1, v9, :cond_109
invoke-virtual {v7, v0, v2}, Ljava/lang/reflect/Field;->setBoolean(Ljava/lang/Object;Z)V
goto :goto_1b
:cond_83
sget-object v10, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
if-ne v9, v10, :cond_95
instance-of v9, v1, Ljava/lang/Number;
if-eqz v9, :cond_109
check-cast v1, Ljava/lang/Number;
invoke-virtual {v1}, Ljava/lang/Number;->intValue()I
move-result v1
invoke-virtual {v7, v0, v1}, Ljava/lang/reflect/Field;->setInt(Ljava/lang/Object;I)V
goto :goto_1b
:cond_95
sget-object v10, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
if-ne v9, v10, :cond_a8
instance-of v9, v1, Ljava/lang/Number;
if-eqz v9, :cond_109
check-cast v1, Ljava/lang/Number;
invoke-virtual {v1}, Ljava/lang/Number;->longValue()J
move-result-wide v5
invoke-virtual {v7, v0, v5, v6}, Ljava/lang/reflect/Field;->setLong(Ljava/lang/Object;J)V
goto/16 :goto_1b
:cond_a8
sget-object v10, Ljava/lang/Float;->TYPE:Ljava/lang/Class;
const/16 v11, 0xa
if-ne v9, v10, :cond_d3
instance-of v9, v1, Ljava/lang/Number;
if-eqz v9, :cond_bd
check-cast v1, Ljava/lang/Number;
invoke-virtual {v1}, Ljava/lang/Number;->floatValue()F
move-result v1
:goto_b8
invoke-virtual {v7, v0, v1}, Ljava/lang/reflect/Field;->setFloat(Ljava/lang/Object;F)V
goto/16 :goto_1b
:cond_bd
instance-of v9, v1, Ljava/lang/String;
if-eqz v9, :cond_109
check-cast v1, Ljava/lang/String;
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v5
if-gt v5, v11, :cond_ce
invoke-static {v1}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->parseFloat(Ljava/lang/String;)F
move-result v1
goto :goto_b8
:cond_ce
invoke-static {v1}, Ljava/lang/Float;->parseFloat(Ljava/lang/String;)F
move-result v1
goto :goto_b8
:cond_d3
sget-object v10, Ljava/lang/Double;->TYPE:Ljava/lang/Class;
if-ne v9, v10, :cond_fc
instance-of v9, v1, Ljava/lang/Number;
if-eqz v9, :cond_e6
check-cast v1, Ljava/lang/Number;
invoke-virtual {v1}, Ljava/lang/Number;->doubleValue()D
move-result-wide v5
:goto_e1
invoke-virtual {v7, v0, v5, v6}, Ljava/lang/reflect/Field;->setDouble(Ljava/lang/Object;D)V
goto/16 :goto_1b
:cond_e6
instance-of v9, v1, Ljava/lang/String;
if-eqz v9, :cond_109
check-cast v1, Ljava/lang/String;
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v5
if-gt v5, v11, :cond_f7
invoke-static {v1}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->parseDouble(Ljava/lang/String;)D
move-result-wide v5
goto :goto_e1
:cond_f7
invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v5
goto :goto_e1
:cond_fc
if-eqz v1, :cond_109
invoke-virtual {v1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v9
if-ne v8, v9, :cond_109
invoke-virtual {v7, v0, v1}, Ljava/lang/reflect/Field;->set(Ljava/lang/Object;Ljava/lang/Object;)V
goto/16 :goto_1b
:cond_109
iget-object v6, v6, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->format:Ljava/lang/String;
if-eqz v6, :cond_116
const-class v7, Ljava/util/Date;
if-ne v8, v7, :cond_116
invoke-static {v1, v6}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->castToDate(Ljava/lang/Object;Ljava/lang/String;)Ljava/util/Date;
move-result-object v1
goto :goto_13f
:cond_116
if-eqz v6, :cond_130
instance-of v7, v8, Ljava/lang/Class;
if-eqz v7, :cond_130
move-object v7, v8
check-cast v7, Ljava/lang/Class;
invoke-virtual {v7}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v7
const-string v9, "java.time.LocalDateTime"
invoke-virtual {v7, v9}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v7
if-eqz v7, :cond_130
invoke-static {v1, v6}, Lcom/tradplus/ads/common/serialization/parser/deserializer/Jdk8DateCodec;->castToLocalDateTime(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object v1
goto :goto_13f
:cond_130
instance-of v6, v8, Ljava/lang/reflect/ParameterizedType;
if-eqz v6, :cond_13b
check-cast v8, Ljava/lang/reflect/ParameterizedType;
invoke-static {v1, v8, p2}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->cast(Ljava/lang/Object;Ljava/lang/reflect/ParameterizedType;Lcom/tradplus/ads/common/serialization/parser/ParserConfig;)Ljava/lang/Object;
move-result-object v1
goto :goto_13f
:cond_13b
invoke-static {v1, v8, p2}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->cast(Ljava/lang/Object;Ljava/lang/reflect/Type;Lcom/tradplus/ads/common/serialization/parser/ParserConfig;)Ljava/lang/Object;
move-result-object v1
:goto_13f
invoke-virtual {v5, v0, v1}, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;->setValue(Ljava/lang/Object;Ljava/lang/Object;)V
goto/16 :goto_1b
:cond_144
iget-object p1, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object p1, p1, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->buildMethod:Ljava/lang/reflect/Method;
if-eqz p1, :cond_15a
:try_start_14a
new-array p2, v4, [Ljava/lang/Object;
invoke-virtual {p1, v0, p2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
:try_end_150
.catch Ljava/lang/Exception; {:try_start_14a .. :try_end_150} :catch_151
return-object p1
:catch_151
move-exception p1
new-instance p2, Lcom/tradplus/ads/common/serialization/JSONException;
const-string v0, "build object error"
invoke-direct {p2, v0, p1}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p2
:cond_15a
return-object v0
:cond_15b
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v0, v0, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->fields:[Lcom/tradplus/ads/common/serialization/util/FieldInfo;
array-length v1, v0
new-array v5, v1, [Ljava/lang/Object;
move-object v7, v3
const/4 v6, 0x0
:goto_164
if-ge v6, v1, :cond_1d5
aget-object v8, v0, v6
iget-object v9, v8, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;
invoke-interface {p1, v9}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v9
if-nez v9, :cond_1d0
iget-object v10, v8, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;
sget-object v11, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
if-ne v10, v11, :cond_17b
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v9
goto :goto_1c0
:cond_17b
sget-object v11, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
if-ne v10, v11, :cond_186
const-wide/16 v9, 0x0
invoke-static {v9, v10}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v9
goto :goto_1c0
:cond_186
sget-object v11, Ljava/lang/Short;->TYPE:Ljava/lang/Class;
if-ne v10, v11, :cond_18f
invoke-static {v4}, Ljava/lang/Short;->valueOf(S)Ljava/lang/Short;
move-result-object v9
goto :goto_1c0
:cond_18f
sget-object v11, Ljava/lang/Byte;->TYPE:Ljava/lang/Class;
if-ne v10, v11, :cond_198
invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
move-result-object v9
goto :goto_1c0
:cond_198
sget-object v11, Ljava/lang/Float;->TYPE:Ljava/lang/Class;
if-ne v10, v11, :cond_1a2
const/4 v9, 0x0
invoke-static {v9}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object v9
goto :goto_1c0
:cond_1a2
sget-object v11, Ljava/lang/Double;->TYPE:Ljava/lang/Class;
if-ne v10, v11, :cond_1ad
const-wide/16 v9, 0x0
invoke-static {v9, v10}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
move-result-object v9
goto :goto_1c0
:cond_1ad
sget-object v11, Ljava/lang/Character;->TYPE:Ljava/lang/Class;
if-ne v10, v11, :cond_1b8
const/16 v9, 0x30
invoke-static {v9}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character;
move-result-object v9
goto :goto_1c0
:cond_1b8
sget-object v11, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
if-ne v10, v11, :cond_1c0
invoke-static {v4}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v9
:cond_1c0
:goto_1c0
if-nez v7, :cond_1c7
new-instance v7, Ljava/util/HashMap;
invoke-direct {v7}, Ljava/util/HashMap;-><init>()V
:cond_1c7
iget-object v8, v8, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;
invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v10
invoke-interface {v7, v8, v10}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_1d0
aput-object v9, v5, v6
add-int/lit8 v6, v6, 0x1
goto :goto_164
:cond_1d5
if-eqz v7, :cond_20e
invoke-interface {p1}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object p1
invoke-interface {p1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p1
:cond_1df
:goto_1df
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_20e
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/Map$Entry;
invoke-interface {v0}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v0
invoke-virtual {p0, v1}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->smartMatch(Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
move-result-object v1
if-eqz v1, :cond_1df
iget-object v1, v1, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;->fieldInfo:Lcom/tradplus/ads/common/serialization/util/FieldInfo;
iget-object v1, v1, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;
invoke-interface {v7, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/Integer;
if-eqz v1, :cond_1df
invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
move-result v1
aput-object v0, v5, v1
goto :goto_1df
:cond_20e
iget-object p1, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v0, p1, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->creatorConstructor:Ljava/lang/reflect/Constructor;
if-eqz v0, :cond_2c8
iget-boolean p1, p1, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->kotlin:Z
if-eqz p1, :cond_24f
const/4 p1, 0x0
const/4 v0, 0x0
:goto_21a
array-length v1, v5
if-ge p1, v1, :cond_250
aget-object v1, v5, p1
if-nez v1, :cond_234
iget-object v1, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v1, v1, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->fields:[Lcom/tradplus/ads/common/serialization/util/FieldInfo;
if-eqz v1, :cond_24c
array-length v3, v1
if-ge p1, v3, :cond_24c
aget-object v1, v1, p1
iget-object v1, v1, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;
const-class v3, Ljava/lang/String;
if-ne v1, v3, :cond_24c
const/4 v0, 0x1
goto :goto_24c
:cond_234
invoke-virtual {v1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v3
iget-object v6, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v6, v6, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->fields:[Lcom/tradplus/ads/common/serialization/util/FieldInfo;
aget-object v7, v6, p1
iget-object v7, v7, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;
if-eq v3, v7, :cond_24c
aget-object v3, v6, p1
iget-object v3, v3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;
invoke-static {v1, v3, p2}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->cast(Ljava/lang/Object;Ljava/lang/Class;Lcom/tradplus/ads/common/serialization/parser/ParserConfig;)Ljava/lang/Object;
move-result-object v1
aput-object v1, v5, p1
:cond_24c
:goto_24c
add-int/lit8 p1, p1, 0x1
goto :goto_21a
:cond_24f
const/4 v0, 0x0
:cond_250
const-string p1, "create instance error, "
if-eqz v0, :cond_2a0
iget-object p2, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object p2, p2, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->kotlinDefaultConstructor:Ljava/lang/reflect/Constructor;
if-eqz p2, :cond_2a0
:try_start_25a
new-array v0, v4, [Ljava/lang/Object;
invoke-virtual {p2, v0}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
:goto_260
array-length v0, v5
if-ge v4, v0, :cond_280
aget-object v0, v5, v4
if-eqz v0, :cond_27d
iget-object v1, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v1, v1, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->fields:[Lcom/tradplus/ads/common/serialization/util/FieldInfo;
if-eqz v1, :cond_27d
iget-object v1, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v1, v1, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->fields:[Lcom/tradplus/ads/common/serialization/util/FieldInfo;
array-length v1, v1
if-ge v4, v1, :cond_27d
iget-object v1, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v1, v1, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->fields:[Lcom/tradplus/ads/common/serialization/util/FieldInfo;
aget-object v1, v1, v4
invoke-virtual {v1, p2, v0}, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->set(Ljava/lang/Object;Ljava/lang/Object;)V
:try_end_27d
.catch Ljava/lang/Exception; {:try_start_25a .. :try_end_27d} :catch_282
:cond_27d
add-int/lit8 v4, v4, 0x1
goto :goto_260
:cond_280
move-object v3, p2
goto :goto_2f1
:catch_282
move-exception p2
new-instance v0, Lcom/tradplus/ads/common/serialization/JSONException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object p1, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object p1, p1, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->creatorConstructor:Ljava/lang/reflect/Constructor;
invoke-virtual {p1}, Ljava/lang/reflect/Constructor;->toGenericString()Ljava/lang/String;
move-result-object p1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1, p2}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v0
:cond_2a0
:try_start_2a0
iget-object p2, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object p2, p2, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->creatorConstructor:Ljava/lang/reflect/Constructor;
invoke-virtual {p2, v5}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
:try_end_2a8
.catch Ljava/lang/Exception; {:try_start_2a0 .. :try_end_2a8} :catch_2aa
move-object v3, p1
goto :goto_2f1
:catch_2aa
move-exception p2
new-instance v0, Lcom/tradplus/ads/common/serialization/JSONException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object p1, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object p1, p1, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->creatorConstructor:Ljava/lang/reflect/Constructor;
invoke-virtual {p1}, Ljava/lang/reflect/Constructor;->toGenericString()Ljava/lang/String;
move-result-object p1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1, p2}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v0
:cond_2c8
iget-object p1, p1, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->factoryMethod:Ljava/lang/reflect/Method;
if-eqz p1, :cond_2f1
:try_start_2cc
invoke-virtual {p1, v3, v5}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
:try_end_2d0
.catch Ljava/lang/Exception; {:try_start_2cc .. :try_end_2d0} :catch_2d1
goto :goto_2f1
:catch_2d1
move-exception p1
new-instance p2, Lcom/tradplus/ads/common/serialization/JSONException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "create factory method error, "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget-object v1, v1, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->factoryMethod:Ljava/lang/reflect/Method;
invoke-virtual {v1}, Ljava/lang/reflect/Method;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p2, v0, p1}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p2
:cond_2f1
:goto_2f1
return-object v3
.end method
.method public deserialze(Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;Ljava/lang/reflect/Type;Ljava/lang/Object;)Ljava/lang/Object;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;",
"Ljava/lang/reflect/Type;",
"Ljava/lang/Object;",
")TT;"
}
.end annotation
const/4 v0, 0x0
invoke-virtual {p0, p1, p2, p3, v0}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->deserialze(Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;Ljava/lang/reflect/Type;Ljava/lang/Object;I)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public deserialze(Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;Ljava/lang/reflect/Type;Ljava/lang/Object;I)Ljava/lang/Object;
.registers 12
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;",
"Ljava/lang/reflect/Type;",
"Ljava/lang/Object;",
"I)TT;"
}
.end annotation
const/4 v4, 0x0
const/4 v6, 0x0
move-object v0, p0
move-object v1, p1
move-object v2, p2
move-object v3, p3
move v5, p4
invoke-virtual/range {v0 .. v6}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->a(Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;Ljava/lang/reflect/Type;Ljava/lang/Object;Ljava/lang/Object;I[I)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public deserialzeArrayMapping(Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;Ljava/lang/reflect/Type;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.registers 14
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;",
"Ljava/lang/reflect/Type;",
"Ljava/lang/Object;",
"Ljava/lang/Object;",
")TT;"
}
.end annotation
iget-object v0, p1, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->lexer:Lcom/tradplus/ads/common/serialization/parser/JSONLexer;
invoke-interface {v0}, Lcom/tradplus/ads/common/serialization/parser/JSONLexer;->token()I
move-result v1
const/16 v2, 0xe
if-ne v1, v2, :cond_136
iget-object v1, p1, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->symbolTable:Lcom/tradplus/ads/common/serialization/parser/SymbolTable;
invoke-interface {v0, v1}, Lcom/tradplus/ads/common/serialization/parser/JSONLexer;->scanTypeName(Lcom/tradplus/ads/common/serialization/parser/SymbolTable;)Ljava/lang/String;
move-result-object v1
if-eqz v1, :cond_41
invoke-virtual {p1}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->getConfig()Lcom/tradplus/ads/common/serialization/parser/ParserConfig;
move-result-object v3
iget-object v4, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
invoke-static {v3, v4, v1}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->a(Lcom/tradplus/ads/common/serialization/parser/ParserConfig;Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;
move-result-object v3
if-nez v3, :cond_36
invoke-static {p2}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->getClass(Ljava/lang/reflect/Type;)Ljava/lang/Class;
move-result-object v3
invoke-virtual {p1}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->getConfig()Lcom/tradplus/ads/common/serialization/parser/ParserConfig;
move-result-object v4
invoke-interface {v0}, Lcom/tradplus/ads/common/serialization/parser/JSONLexer;->getFeatures()I
move-result v5
invoke-virtual {v4, v1, v3, v5}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->checkAutoType(Ljava/lang/String;Ljava/lang/Class;I)Ljava/lang/Class;
move-result-object v1
invoke-virtual {p1}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->getConfig()Lcom/tradplus/ads/common/serialization/parser/ParserConfig;
move-result-object v3
invoke-virtual {v3, v1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->getDeserializer(Ljava/lang/reflect/Type;)Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
move-result-object v3
:cond_36
instance-of v1, v3, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;
if-eqz v1, :cond_41
check-cast v3, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;
invoke-virtual {v3, p1, p2, p3, p4}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->deserialzeArrayMapping(Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;Ljava/lang/reflect/Type;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
:cond_41
invoke-virtual {p0, p1, p2}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->createInstance(Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;Ljava/lang/reflect/Type;)Ljava/lang/Object;
move-result-object p2
const/4 p3, 0x0
iget-object p4, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->a:[Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
array-length p4, p4
:goto_49
const/16 v1, 0x10
if-ge p3, p4, :cond_132
add-int/lit8 v3, p4, -0x1
const/16 v4, 0x5d
if-ne p3, v3, :cond_56
const/16 v3, 0x5d
goto :goto_58
:cond_56
const/16 v3, 0x2c
:goto_58
iget-object v5, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->a:[Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
aget-object v5, v5, p3
iget-object v6, v5, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;->fieldInfo:Lcom/tradplus/ads/common/serialization/util/FieldInfo;
iget-object v6, v6, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;
sget-object v7, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
if-ne v6, v7, :cond_6d
invoke-interface {v0, v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexer;->scanInt(C)I
move-result v1
invoke-virtual {v5, p2, v1}, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;->setValue(Ljava/lang/Object;I)V
goto/16 :goto_12e
:cond_6d
const-class v7, Ljava/lang/String;
if-ne v6, v7, :cond_7a
invoke-interface {v0, v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexer;->scanString(C)Ljava/lang/String;
move-result-object v1
invoke-virtual {v5, p2, v1}, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;->setValue(Ljava/lang/Object;Ljava/lang/String;)V
goto/16 :goto_12e
:cond_7a
sget-object v7, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
if-ne v6, v7, :cond_87
invoke-interface {v0, v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexer;->scanLong(C)J
move-result-wide v3
invoke-virtual {v5, p2, v3, v4}, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;->setValue(Ljava/lang/Object;J)V
goto/16 :goto_12e
:cond_87
invoke-virtual {v6}, Ljava/lang/Class;->isEnum()Z
move-result v7
if-eqz v7, :cond_c6
invoke-interface {v0}, Lcom/tradplus/ads/common/serialization/parser/JSONLexer;->getCurrent()C
move-result v1
const/16 v4, 0x22
if-eq v1, v4, :cond_bd
const/16 v4, 0x6e
if-ne v1, v4, :cond_9a
goto :goto_bd
:cond_9a
const/16 v4, 0x30
if-lt v1, v4, :cond_b8
const/16 v4, 0x39
if-gt v1, v4, :cond_b8
invoke-interface {v0, v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexer;->scanInt(C)I
move-result v1
move-object v3, v5
check-cast v3, Lcom/tradplus/ads/common/serialization/parser/deserializer/DefaultFieldDeserializer;
invoke-virtual {p1}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->getConfig()Lcom/tradplus/ads/common/serialization/parser/ParserConfig;
move-result-object v4
invoke-virtual {v3, v4}, Lcom/tradplus/ads/common/serialization/parser/deserializer/DefaultFieldDeserializer;->getFieldValueDeserilizer(Lcom/tradplus/ads/common/serialization/parser/ParserConfig;)Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
move-result-object v3
check-cast v3, Lcom/tradplus/ads/common/serialization/parser/deserializer/EnumDeserializer;
invoke-virtual {v3, v1}, Lcom/tradplus/ads/common/serialization/parser/deserializer/EnumDeserializer;->valueOf(I)Ljava/lang/Enum;
move-result-object v1
goto :goto_de
:cond_b8
invoke-virtual {p0, v0, v3}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->a(Lcom/tradplus/ads/common/serialization/parser/JSONLexer;C)Ljava/lang/Enum;
move-result-object v1
goto :goto_de
:cond_bd
:goto_bd
invoke-virtual {p1}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->getSymbolTable()Lcom/tradplus/ads/common/serialization/parser/SymbolTable;
move-result-object v1
invoke-interface {v0, v6, v1, v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexer;->scanEnum(Ljava/lang/Class;Lcom/tradplus/ads/common/serialization/parser/SymbolTable;C)Ljava/lang/Enum;
move-result-object v1
goto :goto_de
:cond_c6
sget-object v7, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
if-ne v6, v7, :cond_d2
invoke-interface {v0, v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexer;->scanBoolean(C)Z
move-result v1
invoke-virtual {v5, p2, v1}, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;->setValue(Ljava/lang/Object;Z)V
goto :goto_12e
:cond_d2
sget-object v7, Ljava/lang/Float;->TYPE:Ljava/lang/Class;
if-ne v6, v7, :cond_e2
invoke-interface {v0, v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexer;->scanFloat(C)F
move-result v1
invoke-static {v1}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object v1
:goto_de
invoke-virtual {v5, p2, v1}, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;->setValue(Ljava/lang/Object;Ljava/lang/Object;)V
goto :goto_12e
:cond_e2
sget-object v7, Ljava/lang/Double;->TYPE:Ljava/lang/Class;
if-ne v6, v7, :cond_ef
invoke-interface {v0, v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexer;->scanDouble(C)D
move-result-wide v3
invoke-static {v3, v4}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
move-result-object v1
goto :goto_de
:cond_ef
const-class v7, Ljava/util/Date;
if-ne v6, v7, :cond_105
invoke-interface {v0}, Lcom/tradplus/ads/common/serialization/parser/JSONLexer;->getCurrent()C
move-result v7
const/16 v8, 0x31
if-ne v7, v8, :cond_105
invoke-interface {v0, v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexer;->scanLong(C)J
move-result-wide v3
new-instance v1, Ljava/util/Date;
invoke-direct {v1, v3, v4}, Ljava/util/Date;-><init>(J)V
goto :goto_de
:cond_105
const-class v7, Ljava/math/BigDecimal;
if-ne v6, v7, :cond_10e
invoke-interface {v0, v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexer;->scanDecimal(C)Ljava/math/BigDecimal;
move-result-object v1
goto :goto_de
:cond_10e
invoke-interface {v0, v2}, Lcom/tradplus/ads/common/serialization/parser/JSONLexer;->nextToken(I)V
iget-object v6, v5, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;->fieldInfo:Lcom/tradplus/ads/common/serialization/util/FieldInfo;
iget-object v7, v6, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldType:Ljava/lang/reflect/Type;
iget-object v6, v6, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;
invoke-virtual {p1, v7, v6}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->parseObject(Ljava/lang/reflect/Type;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v6
invoke-virtual {v5, p2, v6}, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;->setValue(Ljava/lang/Object;Ljava/lang/Object;)V
invoke-interface {v0}, Lcom/tradplus/ads/common/serialization/parser/JSONLexer;->token()I
move-result v5
const/16 v6, 0xf
if-ne v5, v6, :cond_127
goto :goto_132
:cond_127
if-ne v3, v4, :cond_12b
const/16 v1, 0xf
:cond_12b
invoke-virtual {p0, v0, v1}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->a(Lcom/tradplus/ads/common/serialization/parser/JSONLexer;I)V
:goto_12e
add-int/lit8 p3, p3, 0x1
goto/16 :goto_49
:cond_132
:goto_132
invoke-interface {v0, v1}, Lcom/tradplus/ads/common/serialization/parser/JSONLexer;->nextToken(I)V
return-object p2
:cond_136
new-instance p1, Lcom/tradplus/ads/common/serialization/JSONException;
const-string p2, "error"
invoke-direct {p1, p2}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;)V
goto :goto_13f
:goto_13e
throw p1
:goto_13f
goto :goto_13e
.end method
.method public getFastMatchToken()I
.registers 2
const/16 v0, 0xc
return v0
.end method
.method public getFieldDeserializer(J)Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
.registers 10
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->i:[J
const/4 v1, 0x0
if-nez v0, :cond_24
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->a:[Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
array-length v0, v0
new-array v0, v0, [J
const/4 v2, 0x0
:goto_b
iget-object v3, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->a:[Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
array-length v4, v3
if-ge v2, v4, :cond_1f
aget-object v3, v3, v2
iget-object v3, v3, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;->fieldInfo:Lcom/tradplus/ads/common/serialization/util/FieldInfo;
iget-object v3, v3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;
invoke-static {v3}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->fnv1a_64(Ljava/lang/String;)J
move-result-wide v3
aput-wide v3, v0, v2
add-int/lit8 v2, v2, 0x1
goto :goto_b
:cond_1f
invoke-static {v0}, Ljava/util/Arrays;->sort([J)V
iput-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->i:[J
:cond_24
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->i:[J
invoke-static {v0, p1, p2}, Ljava/util/Arrays;->binarySearch([JJ)I
move-result p1
const/4 p2, 0x0
if-gez p1, :cond_2e
return-object p2
:cond_2e
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->j:[S
const/4 v2, -0x1
if-nez v0, :cond_5a
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->i:[J
array-length v0, v0
new-array v0, v0, [S
invoke-static {v0, v2}, Ljava/util/Arrays;->fill([SS)V
:goto_3b
iget-object v3, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->a:[Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
array-length v4, v3
if-ge v1, v4, :cond_58
iget-object v4, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->i:[J
aget-object v3, v3, v1
iget-object v3, v3, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;->fieldInfo:Lcom/tradplus/ads/common/serialization/util/FieldInfo;
iget-object v3, v3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;
invoke-static {v3}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->fnv1a_64(Ljava/lang/String;)J
move-result-wide v5
invoke-static {v4, v5, v6}, Ljava/util/Arrays;->binarySearch([JJ)I
move-result v3
if-ltz v3, :cond_55
int-to-short v4, v1
aput-short v4, v0, v3
:cond_55
add-int/lit8 v1, v1, 0x1
goto :goto_3b
:cond_58
iput-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->j:[S
:cond_5a
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->j:[S
aget-short p1, v0, p1
if-eq p1, v2, :cond_65
iget-object p2, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->a:[Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
aget-object p1, p2, p1
return-object p1
:cond_65
return-object p2
.end method
.method public getFieldDeserializer(Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
.registers 3
const/4 v0, 0x0
invoke-virtual {p0, p1, v0}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->getFieldDeserializer(Ljava/lang/String;[I)Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
move-result-object p1
return-object p1
.end method
.method public getFieldDeserializer(Ljava/lang/String;[I)Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
.registers 8
const/4 v0, 0x0
if-nez p1, :cond_4
return-object v0
:cond_4
iget-object v1, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->f:Ljava/util/Map;
if-eqz v1, :cond_11
invoke-interface {v1, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
if-eqz v1, :cond_11
return-object v1
:cond_11
const/4 v1, 0x0
iget-object v2, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->a:[Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
array-length v2, v2
add-int/lit8 v2, v2, -0x1
:goto_17
if-gt v1, v2, :cond_41
add-int v3, v1, v2
ushr-int/lit8 v3, v3, 0x1
iget-object v4, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->a:[Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
aget-object v4, v4, v3
iget-object v4, v4, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;->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_2f
add-int/lit8 v3, v3, 0x1
move v1, v3
goto :goto_17
:cond_2f
if-lez v4, :cond_35
add-int/lit8 v3, v3, -0x1
move v2, v3
goto :goto_17
:cond_35
invoke-static {v3, p2}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->a(I[I)Z
move-result p1
if-eqz p1, :cond_3c
return-object v0
:cond_3c
iget-object p1, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->a:[Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
aget-object p1, p1, v3
return-object p1
:cond_41
iget-object p2, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->e:Ljava/util/Map;
if-eqz p2, :cond_4c
invoke-interface {p2, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
return-object p1
:cond_4c
return-object v0
.end method
.method public getFieldType(I)Ljava/lang/reflect/Type;
.registers 3
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->a:[Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
aget-object p1, v0, p1
iget-object p1, p1, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;->fieldInfo:Lcom/tradplus/ads/common/serialization/util/FieldInfo;
iget-object p1, p1, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldType:Ljava/lang/reflect/Type;
return-object p1
.end method
.method public parseField(Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/reflect/Type;Ljava/util/Map;)Z
.registers 13
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;",
"Ljava/lang/String;",
"Ljava/lang/Object;",
"Ljava/lang/reflect/Type;",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;)Z"
}
.end annotation
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-object v5, p5
invoke-virtual/range {v0 .. v6}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->parseField(Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/reflect/Type;Ljava/util/Map;[I)Z
move-result p1
return p1
.end method
.method public parseField(Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/reflect/Type;Ljava/util/Map;[I)Z
.registers 28
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;",
"Ljava/lang/String;",
"Ljava/lang/Object;",
"Ljava/lang/reflect/Type;",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;[I)Z"
}
.end annotation
move-object/from16 v1, p0
move-object/from16 v0, p1
move-object/from16 v11, p2
move-object/from16 v12, p3
move-object/from16 v13, p4
move-object/from16 v14, p5
move-object/from16 v15, p6
iget-object v10, v0, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->lexer:Lcom/tradplus/ads/common/serialization/parser/JSONLexer;
sget-object v2, Lcom/tradplus/ads/common/serialization/parser/Feature;->DisableFieldSmartMatch:Lcom/tradplus/ads/common/serialization/parser/Feature;
iget v2, v2, Lcom/tradplus/ads/common/serialization/parser/Feature;->mask:I
sget-object v3, Lcom/tradplus/ads/common/serialization/parser/Feature;->InitStringFieldAsEmpty:Lcom/tradplus/ads/common/serialization/parser/Feature;
iget v3, v3, Lcom/tradplus/ads/common/serialization/parser/Feature;->mask:I
invoke-interface {v10, v2}, Lcom/tradplus/ads/common/serialization/parser/JSONLexer;->isEnabled(I)Z
move-result v4
if-nez v4, :cond_3e
iget-object v4, v1, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget v4, v4, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->parserFeatures:I
and-int/2addr v2, v4
if-eqz v2, :cond_26
goto :goto_3e
:cond_26
invoke-interface {v10, v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexer;->isEnabled(I)Z
move-result v2
if-nez v2, :cond_39
iget-object v2, v1, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget v2, v2, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->parserFeatures:I
and-int/2addr v2, v3
if-eqz v2, :cond_34
goto :goto_39
:cond_34
invoke-virtual {v1, v11, v15}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->smartMatch(Ljava/lang/String;[I)Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
move-result-object v2
goto :goto_42
:cond_39
:goto_39
invoke-virtual {v1, v11}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->smartMatch(Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
move-result-object v2
goto :goto_42
:cond_3e
:goto_3e
invoke-virtual {v1, v11}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->getFieldDeserializer(Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
move-result-object v2
:goto_42
sget-object v3, Lcom/tradplus/ads/common/serialization/parser/Feature;->SupportNonPublicField:Lcom/tradplus/ads/common/serialization/parser/Feature;
iget v3, v3, Lcom/tradplus/ads/common/serialization/parser/Feature;->mask:I
const/16 v16, 0x0
const/4 v9, 0x1
if-nez v2, :cond_11b
invoke-interface {v10, v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexer;->isEnabled(I)Z
move-result v4
if-nez v4, :cond_58
iget-object v4, v1, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->beanInfo:Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
iget v4, v4, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->parserFeatures:I
and-int/2addr v3, v4
if-eqz v3, :cond_11b
:cond_58
iget-object v3, v1, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->d:Ljava/util/concurrent/ConcurrentMap;
if-nez v3, :cond_c8
new-instance v3, Ljava/util/concurrent/ConcurrentHashMap;
const/high16 v4, 0x3f400000 # 0.75f
invoke-direct {v3, v9, v4, v9}, Ljava/util/concurrent/ConcurrentHashMap;-><init>(IFI)V
iget-object v4, v1, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->b:Ljava/lang/Class;
:goto_65
if-eqz v4, :cond_c3
const-class v5, Ljava/lang/Object;
if-eq v4, v5, :cond_c3
invoke-virtual {v4}, Ljava/lang/Class;->getDeclaredFields()[Ljava/lang/reflect/Field;
move-result-object v5
array-length v6, v5
const/4 v7, 0x0
:goto_71
if-ge v7, v6, :cond_bb
aget-object v8, v5, v7
invoke-virtual {v8}, Ljava/lang/reflect/Field;->getName()Ljava/lang/String;
move-result-object v9
invoke-virtual {v1, v9}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->getFieldDeserializer(Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
move-result-object v18
if-eqz v18, :cond_80
goto :goto_af
:cond_80
invoke-virtual {v8}, Ljava/lang/reflect/Field;->getModifiers()I
move-result v18
and-int/lit8 v19, v18, 0x10
if-nez v19, :cond_af
and-int/lit8 v18, v18, 0x8
if-eqz v18, :cond_8d
goto :goto_af
:cond_8d
move-object/from16 v18, v2
const-class v2, Lcom/tradplus/ads/common/serialization/annotation/JSONField;
invoke-static {v8, v2}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->getAnnotation(Ljava/lang/reflect/Field;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
move-result-object v2
check-cast v2, Lcom/tradplus/ads/common/serialization/annotation/JSONField;
if-eqz v2, :cond_a9
invoke-interface {v2}, Lcom/tradplus/ads/common/serialization/annotation/JSONField;->name()Ljava/lang/String;
move-result-object v2
move-object/from16 v19, v5
const-string v5, ""
invoke-virtual {v5, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v5
if-nez v5, :cond_ab
move-object v9, v2
goto :goto_ab
:cond_a9
move-object/from16 v19, v5
:cond_ab
:goto_ab
invoke-virtual {v3, v9, v8}, Ljava/util/concurrent/ConcurrentHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_b3
:cond_af
:goto_af
move-object/from16 v18, v2
move-object/from16 v19, v5
:goto_b3
add-int/lit8 v7, v7, 0x1
move-object/from16 v2, v18
move-object/from16 v5, v19
const/4 v9, 0x1
goto :goto_71
:cond_bb
move-object/from16 v18, v2
invoke-virtual {v4}, Ljava/lang/Class;->getSuperclass()Ljava/lang/Class;
move-result-object v4
const/4 v9, 0x1
goto :goto_65
:cond_c3
move-object/from16 v18, v2
iput-object v3, v1, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->d:Ljava/util/concurrent/ConcurrentMap;
goto :goto_ca
:cond_c8
move-object/from16 v18, v2
:goto_ca
iget-object v2, v1, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->d:Ljava/util/concurrent/ConcurrentMap;
invoke-interface {v2, v11}, Ljava/util/concurrent/ConcurrentMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
if-eqz v2, :cond_11d
instance-of v3, v2, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
if-eqz v3, :cond_dc
check-cast v2, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
move-object v15, v10
const/16 v17, 0x1
goto :goto_122
:cond_dc
move-object v7, v2
check-cast v7, Ljava/lang/reflect/Field;
const/4 v9, 0x1
invoke-virtual {v7, v9}, Ljava/lang/reflect/Field;->setAccessible(Z)V
new-instance v8, Lcom/tradplus/ads/common/serialization/util/FieldInfo;
invoke-virtual {v7}, Ljava/lang/reflect/Field;->getDeclaringClass()Ljava/lang/Class;
move-result-object v4
invoke-virtual {v7}, Ljava/lang/reflect/Field;->getType()Ljava/lang/Class;
move-result-object v5
invoke-virtual {v7}, Ljava/lang/reflect/Field;->getGenericType()Ljava/lang/reflect/Type;
move-result-object v6
const/16 v17, 0x0
const/16 v18, 0x0
const/16 v19, 0x0
move-object v2, v8
move-object/from16 v3, p2
move-object/from16 v20, v8
move/from16 v8, v17
const/16 v17, 0x1
move/from16 v9, v18
move-object v15, v10
move/from16 v10, v19
invoke-direct/range {v2 .. v10}, Lcom/tradplus/ads/common/serialization/util/FieldInfo;-><init>(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/reflect/Type;Ljava/lang/reflect/Field;III)V
new-instance v2, Lcom/tradplus/ads/common/serialization/parser/deserializer/DefaultFieldDeserializer;
invoke-virtual/range {p1 .. p1}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->getConfig()Lcom/tradplus/ads/common/serialization/parser/ParserConfig;
move-result-object v3
iget-object v4, v1, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->b:Ljava/lang/Class;
move-object/from16 v5, v20
invoke-direct {v2, v3, v4, v5}, Lcom/tradplus/ads/common/serialization/parser/deserializer/DefaultFieldDeserializer;-><init>(Lcom/tradplus/ads/common/serialization/parser/ParserConfig;Ljava/lang/Class;Lcom/tradplus/ads/common/serialization/util/FieldInfo;)V
iget-object v3, v1, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->d:Ljava/util/concurrent/ConcurrentMap;
invoke-interface {v3, v11, v2}, Ljava/util/concurrent/ConcurrentMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_122
:cond_11b
move-object/from16 v18, v2
:cond_11d
move-object v15, v10
const/16 v17, 0x1
move-object/from16 v2, v18
:goto_122
const/4 v3, -0x1
if-nez v2, :cond_212
sget-object v2, Lcom/tradplus/ads/common/serialization/parser/Feature;->IgnoreNotMatch:Lcom/tradplus/ads/common/serialization/parser/Feature;
invoke-interface {v15, v2}, Lcom/tradplus/ads/common/serialization/parser/JSONLexer;->isEnabled(Lcom/tradplus/ads/common/serialization/parser/Feature;)Z
move-result v2
if-eqz v2, :cond_1ed
const/4 v2, 0x0
const/4 v4, -0x1
:goto_12f
iget-object v5, v1, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->a:[Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
array-length v6, v5
if-ge v2, v6, :cond_1d7
aget-object v5, v5, v2
iget-object v6, v5, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;->fieldInfo:Lcom/tradplus/ads/common/serialization/util/FieldInfo;
iget-boolean v7, v6, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->unwrapped:Z
if-eqz v7, :cond_1d3
instance-of v7, v5, Lcom/tradplus/ads/common/serialization/parser/deserializer/DefaultFieldDeserializer;
if-eqz v7, :cond_1d3
iget-object v7, v6, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->field:Ljava/lang/reflect/Field;
const-string v8, "parse unwrapped field error."
if-eqz v7, :cond_1ae
move-object v7, v5
check-cast v7, Lcom/tradplus/ads/common/serialization/parser/deserializer/DefaultFieldDeserializer;
invoke-virtual/range {p1 .. p1}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->getConfig()Lcom/tradplus/ads/common/serialization/parser/ParserConfig;
move-result-object v9
invoke-virtual {v7, v9}, Lcom/tradplus/ads/common/serialization/parser/deserializer/DefaultFieldDeserializer;->getFieldValueDeserilizer(Lcom/tradplus/ads/common/serialization/parser/ParserConfig;)Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
move-result-object v9
instance-of v10, v9, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;
if-eqz v10, :cond_183
move-object v10, v9
check-cast v10, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;
invoke-virtual {v10, v11}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->getFieldDeserializer(Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
move-result-object v10
if-eqz v10, :cond_1d3
:try_start_15e
iget-object v4, v6, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->field:Ljava/lang/reflect/Field;
invoke-virtual {v4, v12}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
if-nez v4, :cond_171
check-cast v9, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;
iget-object v4, v6, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldType:Ljava/lang/reflect/Type;
invoke-virtual {v9, v0, v4}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->createInstance(Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;Ljava/lang/reflect/Type;)Ljava/lang/Object;
move-result-object v4
invoke-virtual {v5, v12, v4}, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;->setValue(Ljava/lang/Object;Ljava/lang/Object;)V
:cond_171
invoke-virtual {v7}, Lcom/tradplus/ads/common/serialization/parser/deserializer/DefaultFieldDeserializer;->getFastMatchToken()I
move-result v5
invoke-interface {v15, v5}, Lcom/tradplus/ads/common/serialization/parser/JSONLexer;->nextTokenWithColon(I)V
invoke-virtual {v10, v0, v4, v13, v14}, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;->parseField(Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;Ljava/lang/Object;Ljava/lang/reflect/Type;Ljava/util/Map;)V
:try_end_17b
.catch Ljava/lang/Exception; {:try_start_15e .. :try_end_17b} :catch_17c
goto :goto_1ca
:catch_17c
move-exception v0
new-instance v2, Lcom/tradplus/ads/common/serialization/JSONException;
invoke-direct {v2, v8, v0}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v2
:cond_183
instance-of v7, v9, Lcom/tradplus/ads/common/serialization/parser/deserializer/MapDeserializer;
if-eqz v7, :cond_1d3
check-cast v9, Lcom/tradplus/ads/common/serialization/parser/deserializer/MapDeserializer;
:try_start_189
iget-object v4, v6, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->field:Ljava/lang/reflect/Field;
invoke-virtual {v4, v12}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
check-cast v4, Ljava/util/Map;
if-nez v4, :cond_19c
iget-object v4, v6, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldType:Ljava/lang/reflect/Type;
invoke-virtual {v9, v4}, Lcom/tradplus/ads/common/serialization/parser/deserializer/MapDeserializer;->createMap(Ljava/lang/reflect/Type;)Ljava/util/Map;
move-result-object v4
invoke-virtual {v5, v12, v4}, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;->setValue(Ljava/lang/Object;Ljava/lang/Object;)V
:cond_19c
invoke-interface {v15}, Lcom/tradplus/ads/common/serialization/parser/JSONLexer;->nextTokenWithColon()V
invoke-virtual/range {p1 .. p2}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->parse(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v5
invoke-interface {v4, v11, v5}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:try_end_1a6
.catch Ljava/lang/Exception; {:try_start_189 .. :try_end_1a6} :catch_1a7
goto :goto_1ca
:catch_1a7
move-exception v0
new-instance v2, Lcom/tradplus/ads/common/serialization/JSONException;
invoke-direct {v2, v8, v0}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v2
:cond_1ae
iget-object v5, v6, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->method:Ljava/lang/reflect/Method;
invoke-virtual {v5}, Ljava/lang/reflect/Method;->getParameterTypes()[Ljava/lang/Class;
move-result-object v5
array-length v5, v5
const/4 v7, 0x2
if-ne v5, v7, :cond_1d3
invoke-interface {v15}, Lcom/tradplus/ads/common/serialization/parser/JSONLexer;->nextTokenWithColon()V
invoke-virtual/range {p1 .. p2}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->parse(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
:try_start_1bf
iget-object v5, v6, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->method:Ljava/lang/reflect/Method;
new-array v6, v7, [Ljava/lang/Object;
aput-object v11, v6, v16
aput-object v4, v6, v17
invoke-virtual {v5, v12, v6}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
:try_end_1ca
.catch Ljava/lang/Exception; {:try_start_1bf .. :try_end_1ca} :catch_1cc
:goto_1ca
move v4, v2
goto :goto_1d3
:catch_1cc
move-exception v0
new-instance v2, Lcom/tradplus/ads/common/serialization/JSONException;
invoke-direct {v2, v8, v0}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v2
:cond_1d3
:goto_1d3
add-int/lit8 v2, v2, 0x1
goto/16 :goto_12f
:cond_1d7
if-eq v4, v3, :cond_1e9
move-object/from16 v5, p6
if-eqz v5, :cond_1e8
div-int/lit8 v0, v4, 0x20
rem-int/lit8 v4, v4, 0x20
aget v2, v5, v0
shl-int v3, v17, v4
or-int/2addr v2, v3
aput v2, v5, v0
:cond_1e8
return v17
:cond_1e9
invoke-virtual {v0, v12, v11}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->parseExtra(Ljava/lang/Object;Ljava/lang/String;)V
return v16
:cond_1ed
new-instance v0, Lcom/tradplus/ads/common/serialization/JSONException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "setter not found, class "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v3, v1, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->b:Ljava/lang/Class;
invoke-virtual {v3}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, ", property "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v0, v2}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;)V
throw v0
:cond_212
move-object/from16 v5, p6
move-object v4, v15
const/4 v6, 0x0
:goto_216
iget-object v7, v1, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->a:[Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
array-length v8, v7
if-ge v6, v8, :cond_223
aget-object v7, v7, v6
if-ne v7, v2, :cond_220
goto :goto_224
:cond_220
add-int/lit8 v6, v6, 0x1
goto :goto_216
:cond_223
const/4 v6, -0x1
:goto_224
if-eq v6, v3, :cond_23a
if-eqz v5, :cond_23a
const-string v3, "_"
invoke-virtual {v11, v3}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_23a
invoke-static {v6, v5}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->a(I[I)Z
move-result v3
if-eqz v3, :cond_23a
invoke-virtual {v0, v12, v11}, Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;->parseExtra(Ljava/lang/Object;Ljava/lang/String;)V
return v16
:cond_23a
invoke-virtual {v2}, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;->getFastMatchToken()I
move-result v3
invoke-interface {v4, v3}, Lcom/tradplus/ads/common/serialization/parser/JSONLexer;->nextTokenWithColon(I)V
invoke-virtual {v2, v0, v12, v13, v14}, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;->parseField(Lcom/tradplus/ads/common/serialization/parser/DefaultJSONParser;Ljava/lang/Object;Ljava/lang/reflect/Type;Ljava/util/Map;)V
if-eqz v5, :cond_251
div-int/lit8 v0, v6, 0x20
rem-int/lit8 v6, v6, 0x20
aget v2, v5, v0
shl-int v3, v17, v6
or-int/2addr v2, v3
aput v2, v5, v0
:cond_251
return v17
.end method
.method public smartMatch(Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
.registers 3
const/4 v0, 0x0
invoke-virtual {p0, p1, v0}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->smartMatch(Ljava/lang/String;[I)Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
move-result-object p1
return-object p1
.end method
.method public smartMatch(Ljava/lang/String;[I)Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
.registers 13
const/4 v0, 0x0
if-nez p1, :cond_4
return-object v0
:cond_4
invoke-virtual {p0, p1, p2}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->getFieldDeserializer(Ljava/lang/String;[I)Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
move-result-object v1
if-nez v1, :cond_b3
iget-object v2, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->g:[J
const/4 v3, 0x0
if-nez v2, :cond_2a
iget-object v2, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->a:[Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
array-length v2, v2
new-array v2, v2, [J
const/4 v4, 0x0
:goto_15
iget-object v5, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->a:[Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
array-length v6, v5
if-ge v4, v6, :cond_25
aget-object v5, v5, v4
iget-object v5, v5, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;->fieldInfo:Lcom/tradplus/ads/common/serialization/util/FieldInfo;
iget-wide v5, v5, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->nameHashCode:J
aput-wide v5, v2, v4
add-int/lit8 v4, v4, 0x1
goto :goto_15
:cond_25
invoke-static {v2}, Ljava/util/Arrays;->sort([J)V
iput-object v2, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->g:[J
:cond_2a
invoke-static {p1}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->fnv1a_64_lower(Ljava/lang/String;)J
move-result-wide v4
iget-object v2, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->g:[J
invoke-static {v2, v4, v5}, Ljava/util/Arrays;->binarySearch([JJ)I
move-result v2
if-gez v2, :cond_40
invoke-static {p1}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->fnv1a_64_extract(Ljava/lang/String;)J
move-result-wide v4
iget-object v2, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->g:[J
invoke-static {v2, v4, v5}, Ljava/util/Arrays;->binarySearch([JJ)I
move-result v2
:cond_40
if-gez v2, :cond_5a
const-string v4, "is"
invoke-virtual {p1, v4}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v4
if-eqz v4, :cond_5b
const/4 v2, 0x2
invoke-virtual {p1, v2}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object p1
invoke-static {p1}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->fnv1a_64_extract(Ljava/lang/String;)J
move-result-wide v5
iget-object p1, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->g:[J
invoke-static {p1, v5, v6}, Ljava/util/Arrays;->binarySearch([JJ)I
move-result v2
goto :goto_5b
:cond_5a
const/4 v4, 0x0
:cond_5b
:goto_5b
if-ltz v2, :cond_96
iget-object p1, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->h:[S
const/4 v5, -0x1
if-nez p1, :cond_85
iget-object p1, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->g:[J
array-length p1, p1
new-array p1, p1, [S
invoke-static {p1, v5}, Ljava/util/Arrays;->fill([SS)V
:goto_6a
iget-object v6, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->a:[Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
array-length v7, v6
if-ge v3, v7, :cond_83
iget-object v7, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->g:[J
aget-object v6, v6, v3
iget-object v6, v6, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;->fieldInfo:Lcom/tradplus/ads/common/serialization/util/FieldInfo;
iget-wide v8, v6, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->nameHashCode:J
invoke-static {v7, v8, v9}, Ljava/util/Arrays;->binarySearch([JJ)I
move-result v6
if-ltz v6, :cond_80
int-to-short v7, v3
aput-short v7, p1, v6
:cond_80
add-int/lit8 v3, v3, 0x1
goto :goto_6a
:cond_83
iput-object p1, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->h:[S
:cond_85
iget-object p1, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->h:[S
aget-short p1, p1, v2
if-eq p1, v5, :cond_96
invoke-static {p1, p2}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->a(I[I)Z
move-result p2
if-nez p2, :cond_96
iget-object p2, p0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;->a:[Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;
aget-object p1, p2, p1
goto :goto_97
:cond_96
move-object p1, v1
:goto_97
if-eqz p1, :cond_b4
iget-object p2, p1, Lcom/tradplus/ads/common/serialization/parser/deserializer/FieldDeserializer;->fieldInfo:Lcom/tradplus/ads/common/serialization/util/FieldInfo;
iget v1, p2, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->parserFeatures:I
sget-object v2, Lcom/tradplus/ads/common/serialization/parser/Feature;->DisableFieldSmartMatch:Lcom/tradplus/ads/common/serialization/parser/Feature;
iget v2, v2, Lcom/tradplus/ads/common/serialization/parser/Feature;->mask:I
and-int/2addr v1, v2
if-eqz v1, :cond_a5
return-object v0
:cond_a5
iget-object p2, p2, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;
if-eqz v4, :cond_b4
sget-object v1, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
if-eq p2, v1, :cond_b4
const-class v1, Ljava/lang/Boolean;
if-eq p2, v1, :cond_b4
move-object p1, v0
goto :goto_b4
:cond_b3
move-object p1, v1
:cond_b4
:goto_b4
return-object p1
.end method