ParserConfig.smali
.class public Lcom/tradplus/ads/common/serialization/parser/ParserConfig;
.super Ljava/lang/Object;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/tradplus/ads/common/serialization/parser/ParserConfig$AutoTypeCheckHandler;
}
.end annotation
# static fields
.field public static final AUTOTYPE_ACCEPT:Ljava/lang/String; = "fastjson.parser.autoTypeAccept"
.field public static final AUTOTYPE_SUPPORT_PROPERTY:Ljava/lang/String; = "fastjson.parser.autoTypeSupport"
.field public static final AUTO_SUPPORT:Z
.field public static final DENYS:[Ljava/lang/String;
.field public static final DENYS_INTERNAL:[Ljava/lang/String;
.field public static final DENY_PROPERTY:Ljava/lang/String; = "fastjson.parser.deny"
.field public static final DENY_PROPERTY_INTERNAL:Ljava/lang/String; = "fastjson.parser.deny.internal"
.field public static final SAFE_MODE:Z
.field public static final SAFE_MODE_PROPERTY:Ljava/lang/String; = "fastjson.parser.safeMode"
.field private static final c:[Ljava/lang/String;
.field private static final d:[J
.field public static global:Lcom/tradplus/ads/common/serialization/parser/ParserConfig;
.field private static i:Z
.field private static j:Z
.field private static k:Z
.field private static l:Z
# instance fields
.field protected a:Ljava/lang/ClassLoader;
.field protected b:Lcom/tradplus/ads/common/serialization/parser/deserializer/ASMDeserializerFactory;
.field public compatibleWithJavaBean:Z
.field private final e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/tradplus/ads/common/serialization/util/IdentityHashMap<",
"Ljava/lang/reflect/Type;",
"Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;",
">;"
}
.end annotation
.end field
.field private final f:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/tradplus/ads/common/serialization/util/IdentityHashMap<",
"Ljava/lang/reflect/Type;",
"Lcom/tradplus/ads/common/serialization/util/IdentityHashMap<",
"Ljava/lang/reflect/Type;",
"Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;",
">;>;"
}
.end annotation
.end field
.field public final fieldBased:Z
.field private final g:Ljava/util/concurrent/ConcurrentMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/ConcurrentMap<",
"Ljava/lang/String;",
"Ljava/lang/Class<",
"*>;>;"
}
.end annotation
.end field
.field private h:Z
.field private m:Z
.field private n:[J
.field private o:[J
.field private p:[J
.field public propertyNamingStrategy:Lcom/tradplus/ads/common/serialization/PropertyNamingStrategy;
.field private q:Z
.field private r:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcom/tradplus/ads/common/serialization/spi/Module;",
">;"
}
.end annotation
.end field
.field private volatile s:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcom/tradplus/ads/common/serialization/parser/ParserConfig$AutoTypeCheckHandler;",
">;"
}
.end annotation
.end field
.field public final symbolTable:Lcom/tradplus/ads/common/serialization/parser/SymbolTable;
.field private t:Z
# direct methods
.method static constructor <clinit>()V
.registers 2
const-string v0, "fastjson.parser.deny.internal"
invoke-static {v0}, Lcom/tradplus/ads/common/serialization/util/IOUtils;->getStringProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->a(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->DENYS_INTERNAL:[Ljava/lang/String;
const-string v0, "fastjson.parser.deny"
invoke-static {v0}, Lcom/tradplus/ads/common/serialization/util/IOUtils;->getStringProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->a(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->DENYS:[Ljava/lang/String;
const-string v0, "fastjson.parser.autoTypeSupport"
invoke-static {v0}, Lcom/tradplus/ads/common/serialization/util/IOUtils;->getStringProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v1, "true"
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
sput-boolean v0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->AUTO_SUPPORT:Z
const-string v0, "fastjson.parser.safeMode"
invoke-static {v0}, Lcom/tradplus/ads/common/serialization/util/IOUtils;->getStringProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
sput-boolean v0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->SAFE_MODE:Z
const-string v0, "fastjson.parser.autoTypeAccept"
invoke-static {v0}, Lcom/tradplus/ads/common/serialization/util/IOUtils;->getStringProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->a(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v0
const/4 v1, 0x0
if-nez v0, :cond_41
new-array v0, v1, [Ljava/lang/String;
:cond_41
sput-object v0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->c:[Ljava/lang/String;
const/16 v0, 0x39
new-array v0, v0, [J
fill-array-data v0, :array_5c
sput-object v0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->d:[J
new-instance v0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;
invoke-direct {v0}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;-><init>()V
sput-object v0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->global:Lcom/tradplus/ads/common/serialization/parser/ParserConfig;
sput-boolean v1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->i:Z
sput-boolean v1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->j:Z
sput-boolean v1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->k:Z
sput-boolean v1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->l:Z
return-void
:array_5c
.array-data 8
-0x7d171ecfe948c062L
-0x79c2d22e17d46127L
-0x74df7e34c5af42bcL # -4.397461274202915E-255
-0x6fffcbe90d753277L # -1.304612425320331E-231
-0x6d0dad3c673fd6baL
-0x61bfb1a7c0dab02cL # -5.663184347754154E-163
-0x60d1df049fb65c8fL
-0x575556d6bb90031cL # -8.660931078614971E-113
-0x546472f8c6b73563L # -1.2596128630232586E-98
-0x5034ac668c315c09L # -1.8437248463066885E-78
-0x4aeeb38feca3bac8L # -4.515141395732244E-53
-0x3f01cd4723768217L # -123691.55384205993
-0x3a6557b2656b39c0L # -2.062519066697081E27
-0x36d2706ed650cc65L # -3.296140319984399E44
-0x338dfabc23a18f70L # -1.8098708904816462E60
-0x2f18e591eaa9fc3fL # -5.478753662882175E81
-0x2ee2d56becc85844L # -5.533252572810275E82
-0x2484003e68c96caeL # -4.9684551070599265E132
-0x236a7c0ff7833d39L # -1.0008455900325936E138
-0x22555ee0135884a2L # -1.6236380893367258E143
-0x1f71178b5d90a151L # -1.3261085623344647E157
-0x186b0a08232c537bL # -9.33910802048915E190
-0x1482b8793b8cc973L # -6.016157181125066E209
-0xb5597c6d7fd8326L # -9.680269230194381E253
-0x7381064ecdce04aL # -6.47436122473038E273
0xd45d6f8c9017faL
0x6b949ce6c2fe009L
0x76566c052e83815L
0x9df9341f0c76702L
0xb81ba299273d4e6L
0xd4788669a13ae74L
0x111d12921c5466daL # 3.06807714530297E-226
0x178b0e2dc3ae9fe5L
0x19dcaf4adc37d6d4L # 4.21923310396035E-184
0x1f10a70ee4065963L # 4.737874920000775E-159
0x21082dfbf63fbcc1L
0x24ae2d07fb5d7497L
0x26c5d923af21e2e1L # 6.610091059703345E-122
0x34cc8e52316fa0cbL # 2.32920267187095E-54
0x3f64bc3933a6a2dfL # 0.002531158182325618
0x42646e60ec7e5189L # 7.02009533426548E11
0x44d57a1b1ef53451L # 4.0568861274459394E23
0x4a39c6c7acb6aa18L # 3.7672373999660865E49
0x4bb3c59964a2fc50L # 4.848048869469194E56
0x4f0c3688e8a18f9fL # 6.231012896022775E72
0x5449ec9b0280b9efL # 1.1074768222926346E98
0x54dc66a59269bae1L # 6.212002893406516E100
0x552d9fb02ffc9defL # 2.0734284478065116E102
0x557f642131553498L # 7.030812168447344E103
0x604d6657082c1ee9L # 7.883728180658543E155
0x61d10af54471e5deL # 1.533482208710523E163
0x64dc636f343516dcL # 7.18982986180002E177
0x73a0be903f2bcbf4L # 9.36603387325164E248
0x73fba1e41c4c3553L # 4.946007966433693E250
0x7b606f16a261e1e6L # 1.9550036277967994E286
0x7f36112f218143b6L # 6.053149392081782E304
0x7fe2b8e675da0cefL # 1.0517778137125186E308
.end array-data
.end method
.method public constructor <init>()V
.registers 2
const/4 v0, 0x0
invoke-direct {p0, v0}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;-><init>(Z)V
return-void
.end method
.method public constructor <init>(Lcom/tradplus/ads/common/serialization/parser/deserializer/ASMDeserializerFactory;)V
.registers 4
const/4 v0, 0x0
const/4 v1, 0x0
invoke-direct {p0, p1, v0, v1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;-><init>(Lcom/tradplus/ads/common/serialization/parser/deserializer/ASMDeserializerFactory;Ljava/lang/ClassLoader;Z)V
return-void
.end method
.method private constructor <init>(Lcom/tradplus/ads/common/serialization/parser/deserializer/ASMDeserializerFactory;Ljava/lang/ClassLoader;Z)V
.registers 9
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
invoke-direct {v0}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;-><init>()V
iput-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
new-instance v0, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const/16 v1, 0x10
invoke-direct {v0, v1}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;-><init>(I)V
iput-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->f:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
new-instance v0, Ljava/util/concurrent/ConcurrentHashMap;
const/4 v2, 0x1
const/high16 v3, 0x3f400000 # 0.75f
invoke-direct {v0, v1, v3, v2}, Ljava/util/concurrent/ConcurrentHashMap;-><init>(IFI)V
iput-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->g:Ljava/util/concurrent/ConcurrentMap;
sget-boolean v0, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->IS_ANDROID:Z
xor-int/2addr v0, v2
iput-boolean v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->h:Z
new-instance v0, Lcom/tradplus/ads/common/serialization/parser/SymbolTable;
const/16 v1, 0x1000
invoke-direct {v0, v1}, Lcom/tradplus/ads/common/serialization/parser/SymbolTable;-><init>(I)V
iput-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->symbolTable:Lcom/tradplus/ads/common/serialization/parser/SymbolTable;
sget-boolean v0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->AUTO_SUPPORT:Z
iput-boolean v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->m:Z
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->q:Z
sget-boolean v1, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->compatibleWithJavaBean:Z
iput-boolean v1, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->compatibleWithJavaBean:Z
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
iput-object v1, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->r:Ljava/util/List;
sget-boolean v1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->SAFE_MODE:Z
iput-boolean v1, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->t:Z
const/16 v1, 0x88
new-array v1, v1, [J
fill-array-data v1, :array_9a
iput-object v1, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->o:[J
sget-object v1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->c:[Ljava/lang/String;
array-length v1, v1
new-array v1, v1, [J
const/4 v2, 0x0
:goto_50
sget-object v3, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->c:[Ljava/lang/String;
array-length v4, v3
if-ge v2, v4, :cond_60
aget-object v3, v3, v2
invoke-static {v3}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->fnv1a_64(Ljava/lang/String;)J
move-result-wide v3
aput-wide v3, v1, v2
add-int/lit8 v2, v2, 0x1
goto :goto_50
:cond_60
invoke-static {v1}, Ljava/util/Arrays;->sort([J)V
iput-object v1, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->p:[J
iput-boolean p3, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->fieldBased:Z
if-nez p1, :cond_81
sget-boolean p3, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->IS_ANDROID:Z
if-nez p3, :cond_81
if-nez p2, :cond_7b
:try_start_6f
new-instance p2, Lcom/tradplus/ads/common/serialization/parser/deserializer/ASMDeserializerFactory;
new-instance p3, Lcom/tradplus/ads/common/serialization/util/ASMClassLoader;
invoke-direct {p3}, Lcom/tradplus/ads/common/serialization/util/ASMClassLoader;-><init>()V
invoke-direct {p2, p3}, Lcom/tradplus/ads/common/serialization/parser/deserializer/ASMDeserializerFactory;-><init>(Ljava/lang/ClassLoader;)V
move-object p1, p2
goto :goto_81
:cond_7b
new-instance p3, Lcom/tradplus/ads/common/serialization/parser/deserializer/ASMDeserializerFactory;
invoke-direct {p3, p2}, Lcom/tradplus/ads/common/serialization/parser/deserializer/ASMDeserializerFactory;-><init>(Ljava/lang/ClassLoader;)V
:try_end_80
.catch Ljava/lang/ExceptionInInitializerError; {:try_start_6f .. :try_end_80} :catch_81
.catch Ljava/security/AccessControlException; {:try_start_6f .. :try_end_80} :catch_81
.catch Ljava/lang/NoClassDefFoundError; {:try_start_6f .. :try_end_80} :catch_81
move-object p1, p3
:catch_81
:cond_81
:goto_81
iput-object p1, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->b:Lcom/tradplus/ads/common/serialization/parser/deserializer/ASMDeserializerFactory;
if-nez p1, :cond_87
iput-boolean v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->h:Z
:cond_87
invoke-direct {p0}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->a()V
sget-object p1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->DENYS:[Ljava/lang/String;
invoke-direct {p0, p1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->b([Ljava/lang/String;)V
sget-object p1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->DENYS_INTERNAL:[Ljava/lang/String;
invoke-direct {p0, p1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->a([Ljava/lang/String;)V
sget-object p1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->c:[Ljava/lang/String;
invoke-direct {p0, p1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->c([Ljava/lang/String;)V
return-void
:array_9a
.array-data 8
-0x7f2f38f433d015feL # -9.556794763479643E-305
-0x7903d40641508511L # -5.085553800937495E-275
-0x780ad5e4f815cc5aL
-0x71522bf34d56bbbdL
-0x708a0605f20fc080L # -3.455901468587826E-234
-0x6e8d5ac0ea86cf51L
-0x6dedd28ef1c9b048L # -1.257180119856368E-221
-0x6be79918c4100b37L # -7.248495544345653E-212
-0x6bcfa3d9a7f08c3bL # -1.943861383644949E-211
-0x6bc886d7ce2082c1L
-0x5edc59d06ce874e0L # -4.802155510082355E-149
-0x57a77d31efbb3bb0L
-0x55c250024ef3b6c9L
-0x5555f7d9b785c8c9L
-0x539d9d0ad36755c7L # -6.886391444241167E-95
-0x526c85bb67ce1760L # -3.824696155682281E-89
-0x51af25e0529f5f6aL # -1.3554199460470375E-85
-0x5000b36a4665ccb3L # -1.6894051133204177E-77
-0x4bf0cbe38b9136b1L # -6.213767217225293E-58
-0x4817128a80a2ec5eL # -2.2892361373052172E-39
-0x467494ac696cd017L # -1.6898413909066546E-31
-0x4322623ed8990f32L # -1.644030941651994E-15
-0x41458d04e3345bdaL # -1.5764918430089148E-6
-0x3ff41e21450d7f75L # -3.485288105512216
-0x3ef795051cd19da8L # -200031.3609283145
-0x3d99b2f6a71301b4L # -7.662539098639468E11
-0x3be00836378383fbL # -1.4742602222991634E20
-0x399b4c9c4535faf6L # -1.3120653062289765E31
-0x38a661401c18dbfaL # -5.3210898116926836E35
-0x372b61a9fe199e57L # -7.184498624325357E42
-0x369c96af7d028d72L # -3.463106763999075E45
-0x2e10320b4cce92ccL # -4.9428513655242083E86
-0x2ab46e33884dc613L # -7.718587662525667E102
-0x2a6116e0f4f615ffL # -2.769276834562512E104
-0x299097546d18010bL # -2.305158249887012E108
-0x2735c2a6a167d454L # -5.293540616952125E119
-0x232729ea59bb61c2L # -1.8485208306343955E139
-0x21dc5f7f6574642aL # -3.063522061072579E145
-0x2103df70dc82befcL # -3.5965336067206575E149
-0x20d2200cef324c8bL # -3.0559968239287952E150
-0x1f651b9fb7bda7d1L # -2.3076098125244163E157
-0x1e6e67fb2a40b971L # -9.894137060283861E161
-0x1d14c5381a93b982L # -3.211360471030518E168
-0x19fc295ae05296d5L # -2.6342395696172524E183
-0x16e7b41aa4e269d6L # -1.816185970555075E198
-0x160df452da09f7f9L # -2.2100835374064227E202
-0xd67c2f662d64b89L # -1.0343819992267985E244
-0xc8fd5b5ab6f4718L
-0xb8b1bbae70d98caL # -9.573036758577548E252
-0x816918b205a7244L
-0x388c51df37d896fL
-0x30c1879bb467428L # -7.945197787260532E293
-0x2a4039effa928e0L # -7.14947811210233E295
-0x5ea40fde0e1c84L
-0x22e57f0e12cbfbL
0x10e067cd55c5e5L
0x761619136cc13eL
0x22baa234c5bfb8aL
0x3085068cb7201b8L
0x45b11bc78a3aba3L
0x55cfca0f2281c07L
0xb6e292fa5955adeL
0xee6511b66fd5ef0L # 6.854342740564376E-237
0x100150a253996624L # 1.394104277479804E-231
0x10b2bdca849d9b3eL # 3.09032861507223E-228
0x10dbc48446e0dae5L
0x144277b467723158L # 4.388573993986807E-211
0x14db2e6fead04af0L # 3.307156557815155E-208
0x154b6cb22d294cfaL # 4.271035506616844E-206
0x17924cca5227622aL
0x193b2697eaaed41aL # 3.9000001662652114E-187
0x1cd6f11c6a358bb7L # 9.498405308272427E-170
0x1e0a8c3358ff3daeL # 5.762601583556236E-164
0x24652ce717e713bbL
0x24d2f6048fef4e49L
0x24ec99d5e7dc5571L # 8.058828264835688E-131
0x25e962f1c28f71a2L
0x275d0732b877af29L
0x28ac82e44e933606L
0x2ad1ce3a112f015dL
0x2adfefbbfe29d931L
0x2b3a37467a344cdfL
0x2b6dd8b3229d6837L # 1.7057077092413725E-99
0x2d308dbbc851b0d8L # 5.078962391870398E-91
0x2fe950d3ea52ae0dL # 6.832216944281275E-78
0x313bb4abd8d4554cL # 1.56808971921097E-71
0x327c8ed7c8706905L # 1.6948389662237084E-65
0x332f0b5369a18310L
0x339a3e0b6beebee9L # 4.0826654570968825E-60
0x33c64b921f523f2fL # 2.77486720533494E-59
0x34a81ee78429fdf1L # 4.918595094295287E-55
0x378307cb0111e878L # 2.730734411398275E-41
0x3826f4b2380c8b9bL # 3.373058177088523E-38
0x398f942e01920cf0L # 1.9461954727645544E-31
0x3a31412dbb05c7ffL # 2.1778372103247874E-28
0x3adba40367f73264L # 3.5724737671988184E-25
0x3b0b51ecbf6db221L # 2.8248237289442712E-24
0x42d11a560fc9fba9L # 7.521924278884664E13
0x43320dc9d2ae0892L # 5.08171005500021E15
0x440e89208f445fb9L # 7.041042216469549E19
0x46c808a4b5841f57L # 9.749252615377375E32
0x49312bdafb0077d9L # 3.829330118647328E44
0x4a3797b30328202cL # 3.448058737338662E49
0x4ba3e254e758d70dL # 2.4377845509161763E56
0x4bf881e49d37f530L # 9.614713083096315E57
0x4cf54eec05e3e818L # 5.478576021141778E62
0x4da972745feb30c1L # 1.339945589251118E66
0x4ef08c90ff16c675L # 1.8274816638330285E72
0x4fd10ddc6d13821fL # 3.085523505057036E76
0x527db6b46ce3bcbcL # 2.3643694017797754E89
0x535e552d6f9700c1L # 3.954486474370437E93
0x5728504a6d454ffcL # 7.309005913296069E111
0x599b5c1213a099acL # 4.521565120980506E123
0x5a5bd85c072e5efeL
0x5ab0cb3071ab40d1L # 7.275532043244496E128
0x5b6149820275ea42L
0x5d74d3e5b9370476L # 1.5873759122766088E142
0x5d92e6ddde40ed84L # 5.762376793011253E142
0x5f215622fb630753L # 1.773407570959078E150
0x61c5bdd721385107L # 9.781342160839794E162
0x62db241274397c34L
0x63a220e60a17c7b9L # 8.757288450874107E171
0x647ab0224e149ebeL # 1.0561215288164044E176
0x65f81b84c1d920cdL # 1.6005507777082922E183
0x665c53c311193973L # 1.2036519694555594E185
0x6749835432e0f0d2L
0x69b6e0175084b377L # 1.750995289311963E201
0x6a47501ebb2afdb2L # 9.136601149026956E203
0x6fcabf6fa54cafffL # 3.244253068846464E230
0x746bd4a53ec195fbL # 6.376313675246868E252
0x74b50bb9260e31ffL # 1.5429848812177576E254
0x75cc60f5871d0fd3L # 2.7270901325332595E259
0x767a586a5107feefL # 5.184902282980218E262
0x7aa7ee3627a19cf3L # 6.950210684357695E282
0x7ed9311d28bf1a65L # 1.0797314149657436E303
0x7ed9481d28bf417aL # 1.0835821490243428E303
.end array-data
.end method
.method public constructor <init>(Ljava/lang/ClassLoader;)V
.registers 4
const/4 v0, 0x0
const/4 v1, 0x0
invoke-direct {p0, v0, p1, v1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;-><init>(Lcom/tradplus/ads/common/serialization/parser/deserializer/ASMDeserializerFactory;Ljava/lang/ClassLoader;Z)V
return-void
.end method
.method public constructor <init>(Z)V
.registers 3
const/4 v0, 0x0
invoke-direct {p0, v0, v0, p1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;-><init>(Lcom/tradplus/ads/common/serialization/parser/deserializer/ASMDeserializerFactory;Ljava/lang/ClassLoader;Z)V
return-void
.end method
.method private static a(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/reflect/Method;
.registers 7
invoke-virtual {p0}, Ljava/lang/Class;->getMethods()[Ljava/lang/reflect/Method;
move-result-object p0
array-length v0, p0
const/4 v1, 0x0
:goto_6
if-ge v1, v0, :cond_30
aget-object v2, p0, v1
invoke-virtual {v2}, Ljava/lang/reflect/Method;->getModifiers()I
move-result v3
invoke-static {v3}, Ljava/lang/reflect/Modifier;->isStatic(I)Z
move-result v3
if-eqz v3, :cond_2d
invoke-virtual {v2}, Ljava/lang/reflect/Method;->getReturnType()Ljava/lang/Class;
move-result-object v3
if-ne v3, p1, :cond_2d
invoke-virtual {v2}, Ljava/lang/reflect/Method;->getParameterTypes()[Ljava/lang/Class;
move-result-object v3
array-length v3, v3
const/4 v4, 0x1
if-ne v3, v4, :cond_2d
const-class v3, Lcom/tradplus/ads/common/serialization/annotation/JSONCreator;
invoke-virtual {v2, v3}, Ljava/lang/reflect/Method;->getAnnotation(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
move-result-object v3
check-cast v3, Lcom/tradplus/ads/common/serialization/annotation/JSONCreator;
if-eqz v3, :cond_2d
goto :goto_31
:cond_2d
add-int/lit8 v1, v1, 0x1
goto :goto_6
:cond_30
const/4 v2, 0x0
:goto_31
return-object v2
.end method
.method private a()V
.registers 4
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/text/SimpleDateFormat;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/sql/Timestamp;
sget-object v2, Lcom/tradplus/ads/common/serialization/parser/deserializer/SqlDateDeserializer;->instance_timestamp:Lcom/tradplus/ads/common/serialization/parser/deserializer/SqlDateDeserializer;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/sql/Date;
sget-object v2, Lcom/tradplus/ads/common/serialization/parser/deserializer/SqlDateDeserializer;->instance:Lcom/tradplus/ads/common/serialization/parser/deserializer/SqlDateDeserializer;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/sql/Time;
sget-object v2, Lcom/tradplus/ads/common/serialization/parser/deserializer/TimeDeserializer;->instance:Lcom/tradplus/ads/common/serialization/parser/deserializer/TimeDeserializer;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/util/Date;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/DateCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/DateCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/util/Calendar;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/CalendarCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/CalendarCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljavax/xml/datatype/XMLGregorianCalendar;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/CalendarCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/CalendarCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Lcom/tradplus/ads/common/serialization/JSONObject;
sget-object v2, Lcom/tradplus/ads/common/serialization/parser/deserializer/MapDeserializer;->instance:Lcom/tradplus/ads/common/serialization/parser/deserializer/MapDeserializer;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Lcom/tradplus/ads/common/serialization/JSONArray;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/CollectionCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/CollectionCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/util/Map;
sget-object v2, Lcom/tradplus/ads/common/serialization/parser/deserializer/MapDeserializer;->instance:Lcom/tradplus/ads/common/serialization/parser/deserializer/MapDeserializer;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/util/HashMap;
sget-object v2, Lcom/tradplus/ads/common/serialization/parser/deserializer/MapDeserializer;->instance:Lcom/tradplus/ads/common/serialization/parser/deserializer/MapDeserializer;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/util/LinkedHashMap;
sget-object v2, Lcom/tradplus/ads/common/serialization/parser/deserializer/MapDeserializer;->instance:Lcom/tradplus/ads/common/serialization/parser/deserializer/MapDeserializer;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/util/TreeMap;
sget-object v2, Lcom/tradplus/ads/common/serialization/parser/deserializer/MapDeserializer;->instance:Lcom/tradplus/ads/common/serialization/parser/deserializer/MapDeserializer;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/util/concurrent/ConcurrentMap;
sget-object v2, Lcom/tradplus/ads/common/serialization/parser/deserializer/MapDeserializer;->instance:Lcom/tradplus/ads/common/serialization/parser/deserializer/MapDeserializer;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/util/concurrent/ConcurrentHashMap;
sget-object v2, Lcom/tradplus/ads/common/serialization/parser/deserializer/MapDeserializer;->instance:Lcom/tradplus/ads/common/serialization/parser/deserializer/MapDeserializer;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/util/Collection;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/CollectionCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/CollectionCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/util/List;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/CollectionCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/CollectionCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/util/ArrayList;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/CollectionCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/CollectionCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/lang/Object;
sget-object v2, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaObjectDeserializer;->instance:Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaObjectDeserializer;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/lang/String;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/StringCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/StringCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/lang/StringBuffer;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/StringCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/StringCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/lang/StringBuilder;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/StringCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/StringCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
sget-object v1, Ljava/lang/Character;->TYPE:Ljava/lang/Class;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/CharacterCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/CharacterCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/lang/Character;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/CharacterCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/CharacterCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
sget-object v1, Ljava/lang/Byte;->TYPE:Ljava/lang/Class;
sget-object v2, Lcom/tradplus/ads/common/serialization/parser/deserializer/NumberDeserializer;->instance:Lcom/tradplus/ads/common/serialization/parser/deserializer/NumberDeserializer;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/lang/Byte;
sget-object v2, Lcom/tradplus/ads/common/serialization/parser/deserializer/NumberDeserializer;->instance:Lcom/tradplus/ads/common/serialization/parser/deserializer/NumberDeserializer;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
sget-object v1, Ljava/lang/Short;->TYPE:Ljava/lang/Class;
sget-object v2, Lcom/tradplus/ads/common/serialization/parser/deserializer/NumberDeserializer;->instance:Lcom/tradplus/ads/common/serialization/parser/deserializer/NumberDeserializer;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/lang/Short;
sget-object v2, Lcom/tradplus/ads/common/serialization/parser/deserializer/NumberDeserializer;->instance:Lcom/tradplus/ads/common/serialization/parser/deserializer/NumberDeserializer;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
sget-object v1, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/IntegerCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/IntegerCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/lang/Integer;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/IntegerCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/IntegerCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
sget-object v1, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/LongCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/LongCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/lang/Long;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/LongCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/LongCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/math/BigInteger;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/BigIntegerCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/BigIntegerCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/math/BigDecimal;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/BigDecimalCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/BigDecimalCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
sget-object v1, Ljava/lang/Float;->TYPE:Ljava/lang/Class;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/FloatCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/FloatCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/lang/Float;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/FloatCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/FloatCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
sget-object v1, Ljava/lang/Double;->TYPE:Ljava/lang/Class;
sget-object v2, Lcom/tradplus/ads/common/serialization/parser/deserializer/NumberDeserializer;->instance:Lcom/tradplus/ads/common/serialization/parser/deserializer/NumberDeserializer;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/lang/Double;
sget-object v2, Lcom/tradplus/ads/common/serialization/parser/deserializer/NumberDeserializer;->instance:Lcom/tradplus/ads/common/serialization/parser/deserializer/NumberDeserializer;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
sget-object v1, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/BooleanCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/BooleanCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/lang/Boolean;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/BooleanCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/BooleanCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/lang/Class;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, [C
new-instance v2, Lcom/tradplus/ads/common/serialization/serializer/CharArrayCodec;
invoke-direct {v2}, Lcom/tradplus/ads/common/serialization/serializer/CharArrayCodec;-><init>()V
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/util/concurrent/atomic/AtomicBoolean;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/BooleanCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/BooleanCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/util/concurrent/atomic/AtomicInteger;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/IntegerCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/IntegerCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/util/concurrent/atomic/AtomicLong;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/LongCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/LongCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/util/concurrent/atomic/AtomicReference;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/ReferenceCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/ReferenceCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/lang/ref/WeakReference;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/ReferenceCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/ReferenceCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/lang/ref/SoftReference;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/ReferenceCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/ReferenceCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/util/UUID;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/util/TimeZone;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/util/Locale;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/util/Currency;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/net/Inet4Address;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/net/Inet6Address;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/net/InetSocketAddress;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/io/File;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/net/URI;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/net/URL;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/util/regex/Pattern;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/nio/charset/Charset;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Lcom/tradplus/ads/common/serialization/JSONPath;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/lang/Number;
sget-object v2, Lcom/tradplus/ads/common/serialization/parser/deserializer/NumberDeserializer;->instance:Lcom/tradplus/ads/common/serialization/parser/deserializer/NumberDeserializer;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/util/concurrent/atomic/AtomicIntegerArray;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/AtomicCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/AtomicCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/util/concurrent/atomic/AtomicLongArray;
sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/AtomicCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/AtomicCodec;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/lang/StackTraceElement;
sget-object v2, Lcom/tradplus/ads/common/serialization/parser/deserializer/StackTraceElementDeserializer;->instance:Lcom/tradplus/ads/common/serialization/parser/deserializer/StackTraceElementDeserializer;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/io/Serializable;
sget-object v2, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaObjectDeserializer;->instance:Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaObjectDeserializer;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/lang/Cloneable;
sget-object v2, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaObjectDeserializer;->instance:Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaObjectDeserializer;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/lang/Comparable;
sget-object v2, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaObjectDeserializer;->instance:Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaObjectDeserializer;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Ljava/io/Closeable;
sget-object v2, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaObjectDeserializer;->instance:Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaObjectDeserializer;
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const-class v1, Lcom/tradplus/ads/common/serialization/JSONPObject;
new-instance v2, Lcom/tradplus/ads/common/serialization/parser/deserializer/JSONPDeserializer;
invoke-direct {v2}, Lcom/tradplus/ads/common/serialization/parser/deserializer/JSONPDeserializer;-><init>()V
invoke-virtual {v0, v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
return-void
.end method
.method private a([Ljava/lang/String;)V
.registers 4
if-nez p1, :cond_3
return-void
:cond_3
const/4 v0, 0x0
:goto_4
array-length v1, p1
if-ge v0, v1, :cond_f
aget-object v1, p1, v0
invoke-virtual {p0, v1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->addDenyInternal(Ljava/lang/String;)V
add-int/lit8 v0, v0, 0x1
goto :goto_4
:cond_f
return-void
.end method
.method private static a(Ljava/lang/String;)[Ljava/lang/String;
.registers 2
if-eqz p0, :cond_f
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v0
if-lez v0, :cond_f
const-string v0, ","
invoke-virtual {p0, v0}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object p0
return-object p0
:cond_f
const/4 p0, 0x0
return-object p0
.end method
.method private b([Ljava/lang/String;)V
.registers 4
if-nez p1, :cond_3
return-void
:cond_3
const/4 v0, 0x0
:goto_4
array-length v1, p1
if-ge v0, v1, :cond_f
aget-object v1, p1, v0
invoke-virtual {p0, v1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->addDeny(Ljava/lang/String;)V
add-int/lit8 v0, v0, 0x1
goto :goto_4
:cond_f
return-void
.end method
.method private c([Ljava/lang/String;)V
.registers 4
if-nez p1, :cond_3
return-void
:cond_3
const/4 v0, 0x0
:goto_4
array-length v1, p1
if-ge v0, v1, :cond_f
aget-object v1, p1, v0
invoke-virtual {p0, v1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->addAccept(Ljava/lang/String;)V
add-int/lit8 v0, v0, 0x1
goto :goto_4
:cond_f
return-void
.end method
.method public static getFieldFromCache(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/reflect/Field;
.registers 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/reflect/Field;",
">;)",
"Ljava/lang/reflect/Field;"
}
.end annotation
invoke-interface {p1, p0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/reflect/Field;
if-nez v0, :cond_1f
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "_"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p0}, 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-interface {p1, v0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/reflect/Field;
:cond_1f
if-nez v0, :cond_38
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "m_"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p0}, 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-interface {p1, v0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/reflect/Field;
:cond_38
if-nez v0, :cond_a2
const/4 v1, 0x0
invoke-virtual {p0, v1}, Ljava/lang/String;->charAt(I)C
move-result v2
const/16 v3, 0x7a
const/16 v4, 0x61
if-lt v2, v4, :cond_5d
if-gt v2, v3, :cond_5d
invoke-virtual {p0}, Ljava/lang/String;->toCharArray()[C
move-result-object v0
aget-char v5, v0, v1
add-int/lit8 v5, v5, -0x20
int-to-char v5, v5
aput-char v5, v0, v1
new-instance v1, Ljava/lang/String;
invoke-direct {v1, v0}, Ljava/lang/String;-><init>([C)V
invoke-interface {p1, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/reflect/Field;
:cond_5d
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v1
const/4 v5, 0x2
if-le v1, v5, :cond_a2
const/4 v1, 0x1
invoke-virtual {p0, v1}, Ljava/lang/String;->charAt(I)C
move-result v1
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v6
if-le v6, v5, :cond_a2
if-lt v2, v4, :cond_a2
if-gt v2, v3, :cond_a2
const/16 v2, 0x41
if-lt v1, v2, :cond_a2
const/16 v2, 0x5a
if-gt v1, v2, :cond_a2
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_83
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_a2
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 v2
check-cast v2, Ljava/lang/String;
invoke-virtual {p0, v2}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v2
if-eqz v2, :cond_83
invoke-interface {v1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object p0
move-object v0, p0
check-cast v0, Ljava/lang/reflect/Field;
:cond_a2
return-object v0
.end method
.method public static getGlobalInstance()Lcom/tradplus/ads/common/serialization/parser/ParserConfig;
.registers 1
sget-object v0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->global:Lcom/tradplus/ads/common/serialization/parser/ParserConfig;
return-object v0
.end method
.method public static isPrimitive2(Ljava/lang/Class;)Z
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;)Z"
}
.end annotation
invoke-virtual {p0}, Ljava/lang/Class;->isPrimitive()Z
move-result v0
if-nez v0, :cond_4b
const-class v0, Ljava/lang/Boolean;
if-eq p0, v0, :cond_4b
const-class v0, Ljava/lang/Character;
if-eq p0, v0, :cond_4b
const-class v0, Ljava/lang/Byte;
if-eq p0, v0, :cond_4b
const-class v0, Ljava/lang/Short;
if-eq p0, v0, :cond_4b
const-class v0, Ljava/lang/Integer;
if-eq p0, v0, :cond_4b
const-class v0, Ljava/lang/Long;
if-eq p0, v0, :cond_4b
const-class v0, Ljava/lang/Float;
if-eq p0, v0, :cond_4b
const-class v0, Ljava/lang/Double;
if-eq p0, v0, :cond_4b
const-class v0, Ljava/math/BigInteger;
if-eq p0, v0, :cond_4b
const-class v0, Ljava/math/BigDecimal;
if-eq p0, v0, :cond_4b
const-class v0, Ljava/lang/String;
if-eq p0, v0, :cond_4b
const-class v0, Ljava/util/Date;
if-eq p0, v0, :cond_4b
const-class v0, Ljava/sql/Date;
if-eq p0, v0, :cond_4b
const-class v0, Ljava/sql/Time;
if-eq p0, v0, :cond_4b
const-class v0, Ljava/sql/Timestamp;
if-eq p0, v0, :cond_4b
invoke-virtual {p0}, Ljava/lang/Class;->isEnum()Z
move-result p0
if-eqz p0, :cond_49
goto :goto_4b
:cond_49
const/4 p0, 0x0
goto :goto_4c
:cond_4b
:goto_4b
const/4 p0, 0x1
:goto_4c
return p0
.end method
.method public static parserAllFieldToCache(Ljava/lang/Class;Ljava/util/Map;)V
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/reflect/Field;",
">;)V"
}
.end annotation
invoke-virtual {p0}, Ljava/lang/Class;->getDeclaredFields()[Ljava/lang/reflect/Field;
move-result-object v0
array-length v1, v0
const/4 v2, 0x0
:goto_6
if-ge v2, v1, :cond_1a
aget-object v3, v0, v2
invoke-virtual {v3}, Ljava/lang/reflect/Field;->getName()Ljava/lang/String;
move-result-object v4
invoke-interface {p1, v4}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v5
if-nez v5, :cond_17
invoke-interface {p1, v4, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_17
add-int/lit8 v2, v2, 0x1
goto :goto_6
:cond_1a
invoke-virtual {p0}, Ljava/lang/Class;->getSuperclass()Ljava/lang/Class;
move-result-object v0
if-eqz v0, :cond_2f
invoke-virtual {p0}, Ljava/lang/Class;->getSuperclass()Ljava/lang/Class;
move-result-object v0
const-class v1, Ljava/lang/Object;
if-eq v0, v1, :cond_2f
invoke-virtual {p0}, Ljava/lang/Class;->getSuperclass()Ljava/lang/Class;
move-result-object p0
invoke-static {p0, p1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->parserAllFieldToCache(Ljava/lang/Class;Ljava/util/Map;)V
:cond_2f
return-void
.end method
# virtual methods
.method protected a(Ljava/lang/Class;)Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;)",
"Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;"
}
.end annotation
new-instance v0, Lcom/tradplus/ads/common/serialization/parser/deserializer/EnumDeserializer;
invoke-direct {v0, p1}, Lcom/tradplus/ads/common/serialization/parser/deserializer/EnumDeserializer;-><init>(Ljava/lang/Class;)V
return-object v0
.end method
.method public addAccept(Ljava/lang/String;)V
.registers 6
if-eqz p1, :cond_2c
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
if-nez v0, :cond_9
goto :goto_2c
:cond_9
invoke-static {p1}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->fnv1a_64(Ljava/lang/String;)J
move-result-wide v0
iget-object p1, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->p:[J
invoke-static {p1, v0, v1}, Ljava/util/Arrays;->binarySearch([JJ)I
move-result p1
if-ltz p1, :cond_16
return-void
:cond_16
iget-object p1, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->p:[J
array-length v2, p1
add-int/lit8 v2, v2, 0x1
new-array v2, v2, [J
array-length v3, v2
add-int/lit8 v3, v3, -0x1
aput-wide v0, v2, v3
array-length v0, p1
const/4 v1, 0x0
invoke-static {p1, v1, v2, v1, v0}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
invoke-static {v2}, Ljava/util/Arrays;->sort([J)V
iput-object v2, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->p:[J
:cond_2c
:goto_2c
return-void
.end method
.method public addAutoTypeCheckHandler(Lcom/tradplus/ads/common/serialization/parser/ParserConfig$AutoTypeCheckHandler;)V
.registers 3
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->s:Ljava/util/List;
if-nez v0, :cond_b
new-instance v0, Ljava/util/concurrent/CopyOnWriteArrayList;
invoke-direct {v0}, Ljava/util/concurrent/CopyOnWriteArrayList;-><init>()V
iput-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->s:Ljava/util/List;
:cond_b
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
return-void
.end method
.method public addDeny(Ljava/lang/String;)V
.registers 6
if-eqz p1, :cond_2c
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
if-nez v0, :cond_9
goto :goto_2c
:cond_9
invoke-static {p1}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->fnv1a_64(Ljava/lang/String;)J
move-result-wide v0
iget-object p1, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->o:[J
invoke-static {p1, v0, v1}, Ljava/util/Arrays;->binarySearch([JJ)I
move-result p1
if-ltz p1, :cond_16
return-void
:cond_16
iget-object p1, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->o:[J
array-length v2, p1
add-int/lit8 v2, v2, 0x1
new-array v2, v2, [J
array-length v3, v2
add-int/lit8 v3, v3, -0x1
aput-wide v0, v2, v3
array-length v0, p1
const/4 v1, 0x0
invoke-static {p1, v1, v2, v1, v0}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
invoke-static {v2}, Ljava/util/Arrays;->sort([J)V
iput-object v2, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->o:[J
:cond_2c
:goto_2c
return-void
.end method
.method public addDenyInternal(Ljava/lang/String;)V
.registers 8
if-eqz p1, :cond_34
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
if-nez v0, :cond_9
goto :goto_34
:cond_9
invoke-static {p1}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->fnv1a_64(Ljava/lang/String;)J
move-result-wide v0
iget-object p1, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->n:[J
const/4 v2, 0x0
const/4 v3, 0x1
if-nez p1, :cond_1a
new-array p1, v3, [J
aput-wide v0, p1, v2
iput-object p1, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->n:[J
return-void
:cond_1a
invoke-static {p1, v0, v1}, Ljava/util/Arrays;->binarySearch([JJ)I
move-result p1
if-ltz p1, :cond_21
return-void
:cond_21
iget-object p1, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->n:[J
array-length v4, p1
add-int/2addr v4, v3
new-array v4, v4, [J
array-length v5, v4
sub-int/2addr v5, v3
aput-wide v0, v4, v5
array-length v0, p1
invoke-static {p1, v2, v4, v2, v0}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
invoke-static {v4}, Ljava/util/Arrays;->sort([J)V
iput-object v4, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->n:[J
:cond_34
:goto_34
return-void
.end method
.method public checkAutoType(Ljava/lang/Class;)Ljava/lang/Class;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class;",
")",
"Ljava/lang/Class<",
"*>;"
}
.end annotation
invoke-virtual {p0, p1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->get(Ljava/lang/reflect/Type;)Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
move-result-object v0
if-eqz v0, :cond_7
return-object p1
:cond_7
invoke-virtual {p1}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object p1
const/4 v0, 0x0
sget v1, Lcom/tradplus/ads/common/serialization/JSON;->DEFAULT_PARSER_FEATURE:I
invoke-virtual {p0, p1, v0, v1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->checkAutoType(Ljava/lang/String;Ljava/lang/Class;I)Ljava/lang/Class;
move-result-object p1
return-object p1
.end method
.method public checkAutoType(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Class;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/lang/Class<",
"*>;)",
"Ljava/lang/Class<",
"*>;"
}
.end annotation
sget v0, Lcom/tradplus/ads/common/serialization/JSON;->DEFAULT_PARSER_FEATURE:I
invoke-virtual {p0, p1, p2, v0}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->checkAutoType(Ljava/lang/String;Ljava/lang/Class;I)Ljava/lang/Class;
move-result-object p1
return-object p1
.end method
.method public checkAutoType(Ljava/lang/String;Ljava/lang/Class;I)Ljava/lang/Class;
.registers 27
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/lang/Class<",
"*>;I)",
"Ljava/lang/Class<",
"*>;"
}
.end annotation
move-object/from16 v1, p0
move-object/from16 v0, p1
move-object/from16 v2, p2
move/from16 v3, p3
const/4 v4, 0x0
if-nez v0, :cond_c
return-object v4
:cond_c
iget-object v5, v1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->s:Ljava/util/List;
if-eqz v5, :cond_29
iget-object v5, v1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->s:Ljava/util/List;
invoke-interface {v5}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v5
:cond_16
invoke-interface {v5}, Ljava/util/Iterator;->hasNext()Z
move-result v6
if-eqz v6, :cond_29
invoke-interface {v5}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v6
check-cast v6, Lcom/tradplus/ads/common/serialization/parser/ParserConfig$AutoTypeCheckHandler;
invoke-interface {v6, v0, v2, v3}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig$AutoTypeCheckHandler;->handler(Ljava/lang/String;Ljava/lang/Class;I)Ljava/lang/Class;
move-result-object v6
if-eqz v6, :cond_16
return-object v6
:cond_29
sget-object v5, Lcom/tradplus/ads/common/serialization/parser/Feature;->SafeMode:Lcom/tradplus/ads/common/serialization/parser/Feature;
iget v5, v5, Lcom/tradplus/ads/common/serialization/parser/Feature;->mask:I
iget-boolean v6, v1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->t:Z
const/4 v7, 0x0
const/4 v8, 0x1
if-nez v6, :cond_3f
and-int v6, v3, v5
if-nez v6, :cond_3f
sget v6, Lcom/tradplus/ads/common/serialization/JSON;->DEFAULT_PARSER_FEATURE:I
and-int/2addr v5, v6
if-eqz v5, :cond_3d
goto :goto_3f
:cond_3d
const/4 v5, 0x0
goto :goto_40
:cond_3f
:goto_3f
const/4 v5, 0x1
:goto_40
if-nez v5, :cond_3ed
invoke-virtual/range {p1 .. p1}, Ljava/lang/String;->length()I
move-result v5
const/16 v6, 0xc0
const-string v9, "autoType is not support. "
if-ge v5, v6, :cond_3d7
invoke-virtual/range {p1 .. p1}, Ljava/lang/String;->length()I
move-result v5
const/4 v6, 0x3
if-lt v5, v6, :cond_3d7
if-nez v2, :cond_57
:cond_55
:goto_55
const/4 v5, 0x0
goto :goto_bb
:cond_57
invoke-virtual/range {p2 .. p2}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v5
invoke-static {v5}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->fnv1a_64(Ljava/lang/String;)J
move-result-wide v10
const-wide v12, -0x6f5da0a455dead62L # -1.514751450580626E-228
cmp-long v5, v10, v12
if-eqz v5, :cond_55
const-wide v12, 0x2d10a5801b9d6136L # 1.2768618085266423E-91
cmp-long v5, v10, v12
if-eqz v5, :cond_55
const-wide v12, -0x50a795a8e1cfd395L # -1.2869594668238042E-80
cmp-long v5, v10, v12
if-eqz v5, :cond_55
const-wide v12, -0x12ff8cff584dd83aL # -1.1341028219519378E217
cmp-long v5, v10, v12
if-eqz v5, :cond_55
const-wide v12, 0x295c4605fd1eaa95L
cmp-long v5, v10, v12
if-eqz v5, :cond_55
const-wide v12, 0x47ef269aadc650b4L # 3.312520992710671E38
cmp-long v5, v10, v12
if-eqz v5, :cond_55
const-wide v12, 0x6439c4dff712ae8bL # 6.373467611436065E174
cmp-long v5, v10, v12
if-eqz v5, :cond_55
const-wide v12, -0x1c22678a5d23ad7dL # -1.1437309411088266E173
cmp-long v5, v10, v12
if-eqz v5, :cond_55
const-wide v12, -0x1d572245fc1961f3L # -1.8328867399748285E167
cmp-long v5, v10, v12
if-eqz v5, :cond_55
const-wide v12, -0x28cb314b3c162e26L # -1.2509996135591577E112
cmp-long v5, v10, v12
if-nez v5, :cond_ba
goto :goto_55
:cond_ba
const/4 v5, 0x1
:goto_bb
const/16 v10, 0x24
const/16 v11, 0x2e
invoke-virtual {v0, v10, v11}, Ljava/lang/String;->replace(CC)Ljava/lang/String;
move-result-object v10
invoke-virtual {v10, v7}, Ljava/lang/String;->charAt(I)C
move-result v12
int-to-long v12, v12
const-wide v14, -0x340d631b7bdddcdbL # -7.302176725335867E57
xor-long/2addr v12, v14
const-wide v16, 0x100000001b3L
mul-long v12, v12, v16
const-wide v18, -0x509be9b379fdb0e6L # -2.1176223865607047E-80
cmp-long v20, v12, v18
if-eqz v20, :cond_3c1
invoke-virtual {v10}, Ljava/lang/String;->length()I
move-result v18
add-int/lit8 v4, v18, -0x1
invoke-virtual {v10, v4}, Ljava/lang/String;->charAt(I)C
move-result v4
move-object/from16 v20, v9
int-to-long v8, v4
xor-long/2addr v8, v12
mul-long v8, v8, v16
const-wide v12, 0x9198507b5af98f0L
cmp-long v4, v8, v12
if-eqz v4, :cond_3aa
invoke-virtual {v10, v7}, Ljava/lang/String;->charAt(I)C
move-result v4
int-to-long v8, v4
xor-long/2addr v8, v14
mul-long v8, v8, v16
const/4 v4, 0x1
invoke-virtual {v10, v4}, Ljava/lang/String;->charAt(I)C
move-result v12
int-to-long v12, v12
xor-long/2addr v8, v12
mul-long v8, v8, v16
const/4 v4, 0x2
invoke-virtual {v10, v4}, Ljava/lang/String;->charAt(I)C
move-result v4
int-to-long v12, v4
xor-long/2addr v8, v12
mul-long v8, v8, v16
invoke-static {v10}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->fnv1a_64(Ljava/lang/String;)J
move-result-wide v12
sget-object v4, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->d:[J
invoke-static {v4, v12, v13}, Ljava/util/Arrays;->binarySearch([JJ)I
move-result v4
if-ltz v4, :cond_11f
const/4 v4, 0x1
goto :goto_120
:cond_11f
const/4 v4, 0x0
:goto_120
iget-object v14, v1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->n:[J
if-eqz v14, :cond_15c
move-wide/from16 v21, v8
const/4 v14, 0x3
:goto_127
invoke-virtual {v10}, Ljava/lang/String;->length()I
move-result v15
if-ge v14, v15, :cond_15c
invoke-virtual {v10, v14}, Ljava/lang/String;->charAt(I)C
move-result v15
int-to-long v6, v15
xor-long v6, v21, v6
mul-long v6, v6, v16
iget-object v15, v1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->n:[J
invoke-static {v15, v6, v7}, Ljava/util/Arrays;->binarySearch([JJ)I
move-result v15
if-gez v15, :cond_145
add-int/lit8 v14, v14, 0x1
move-wide/from16 v21, v6
const/4 v6, 0x3
const/4 v7, 0x0
goto :goto_127
:cond_145
new-instance v2, Lcom/tradplus/ads/common/serialization/JSONException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
move-object/from16 v6, v20
invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v2, v0}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;)V
throw v2
:cond_15c
move-object/from16 v6, v20
if-nez v4, :cond_1bb
iget-boolean v7, v1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->m:Z
if-nez v7, :cond_166
if-eqz v5, :cond_1bb
:cond_166
move-wide v14, v8
const/4 v7, 0x3
:goto_168
invoke-virtual {v10}, Ljava/lang/String;->length()I
move-result v11
if-ge v7, v11, :cond_1bb
invoke-virtual {v10, v7}, Ljava/lang/String;->charAt(I)C
move-result v11
move-wide/from16 v21, v8
int-to-long v8, v11
xor-long/2addr v8, v14
mul-long v14, v8, v16
iget-object v8, v1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->p:[J
invoke-static {v8, v14, v15}, Ljava/util/Arrays;->binarySearch([JJ)I
move-result v8
if-ltz v8, :cond_18a
iget-object v8, v1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->a:Ljava/lang/ClassLoader;
const/4 v9, 0x1
invoke-static {v0, v8, v9}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->loadClass(Ljava/lang/String;Ljava/lang/ClassLoader;Z)Ljava/lang/Class;
move-result-object v8
if-eqz v8, :cond_18a
return-object v8
:cond_18a
iget-object v8, v1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->o:[J
invoke-static {v8, v14, v15}, Ljava/util/Arrays;->binarySearch([JJ)I
move-result v8
if-ltz v8, :cond_1b6
invoke-static/range {p1 .. p1}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->getClassFromMapping(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v8
if-nez v8, :cond_1b6
iget-object v8, v1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->p:[J
invoke-static {v8, v12, v13}, Ljava/util/Arrays;->binarySearch([JJ)I
move-result v8
if-ltz v8, :cond_1a1
goto :goto_1b6
:cond_1a1
new-instance v2, Lcom/tradplus/ads/common/serialization/JSONException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v2, v0}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;)V
throw v2
:cond_1b6
:goto_1b6
add-int/lit8 v7, v7, 0x1
move-wide/from16 v8, v21
goto :goto_168
:cond_1bb
move-wide/from16 v21, v8
invoke-static/range {p1 .. p1}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->getClassFromMapping(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v7
if-nez v7, :cond_1c9
iget-object v7, v1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
invoke-virtual {v7, v0}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->findClass(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v7
:cond_1c9
if-nez v7, :cond_1d3
iget-object v7, v1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->g:Ljava/util/concurrent/ConcurrentMap;
invoke-interface {v7, v0}, Ljava/util/concurrent/ConcurrentMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v7
check-cast v7, Ljava/lang/Class;
:cond_1d3
if-eqz v4, :cond_1dd
iget-object v4, v1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->a:Ljava/lang/ClassLoader;
const/4 v7, 0x1
invoke-static {v0, v4, v7}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->loadClass(Ljava/lang/String;Ljava/lang/ClassLoader;Z)Ljava/lang/Class;
move-result-object v4
goto :goto_1de
:cond_1dd
move-object v4, v7
:goto_1de
const-string v7, " -> "
const-string v8, "type not match. "
if-eqz v4, :cond_211
if-eqz v2, :cond_210
const-class v3, Ljava/util/HashMap;
if-eq v4, v3, :cond_210
invoke-virtual {v2, v4}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v3
if-eqz v3, :cond_1f1
goto :goto_210
:cond_1f1
new-instance v3, Lcom/tradplus/ads/common/serialization/JSONException;
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v4, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual/range {p2 .. p2}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v0
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v3, v0}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;)V
throw v3
:cond_210
:goto_210
return-object v4
:cond_211
iget-boolean v9, v1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->m:Z
if-nez v9, :cond_282
const/4 v9, 0x3
:goto_216
invoke-virtual {v10}, Ljava/lang/String;->length()I
move-result v11
if-ge v9, v11, :cond_282
invoke-virtual {v10, v9}, Ljava/lang/String;->charAt(I)C
move-result v11
int-to-long v11, v11
xor-long v11, v21, v11
mul-long v11, v11, v16
iget-object v13, v1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->o:[J
invoke-static {v13, v11, v12}, Ljava/util/Arrays;->binarySearch([JJ)I
move-result v13
if-gez v13, :cond_26d
iget-object v13, v1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->p:[J
invoke-static {v13, v11, v12}, Ljava/util/Arrays;->binarySearch([JJ)I
move-result v13
if-ltz v13, :cond_268
iget-object v3, v1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->a:Ljava/lang/ClassLoader;
const/4 v4, 0x1
invoke-static {v0, v3, v4}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->loadClass(Ljava/lang/String;Ljava/lang/ClassLoader;Z)Ljava/lang/Class;
move-result-object v3
if-nez v3, :cond_23f
return-object v2
:cond_23f
if-eqz v2, :cond_267
invoke-virtual {v2, v3}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v4
if-nez v4, :cond_248
goto :goto_267
:cond_248
new-instance v3, Lcom/tradplus/ads/common/serialization/JSONException;
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v4, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual/range {p2 .. p2}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v0
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v3, v0}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;)V
throw v3
:cond_267
:goto_267
return-object v3
:cond_268
add-int/lit8 v9, v9, 0x1
move-wide/from16 v21, v11
goto :goto_216
:cond_26d
new-instance v2, Lcom/tradplus/ads/common/serialization/JSONException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v2, v0}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;)V
throw v2
:cond_282
:try_start_282
new-instance v9, Ljava/lang/StringBuilder;
invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
const/16 v10, 0x2f
const/16 v11, 0x2e
invoke-virtual {v0, v11, v10}, Ljava/lang/String;->replace(CC)Ljava/lang/String;
move-result-object v10
invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v10, ".class"
invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v9
iget-object v10, v1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->a:Ljava/lang/ClassLoader;
if-eqz v10, :cond_2a6
iget-object v10, v1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->a:Ljava/lang/ClassLoader;
:goto_2a1
invoke-virtual {v10, v9}, Ljava/lang/ClassLoader;->getResourceAsStream(Ljava/lang/String;)Ljava/io/InputStream;
move-result-object v9
goto :goto_2ad
:cond_2a6
const-class v10, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;
invoke-virtual {v10}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v10
:try_end_2ac
.catch Ljava/lang/Exception; {:try_start_282 .. :try_end_2ac} :catch_2de
.catchall {:try_start_282 .. :try_end_2ac} :catchall_2d7
goto :goto_2a1
:goto_2ad
if-eqz v9, :cond_2d0
:try_start_2af
new-instance v10, Lcom/tradplus/ads/common/serialization/asm/ClassReader;
:try_end_2b1
.catch Ljava/lang/Exception; {:try_start_2af .. :try_end_2b1} :catch_2cb
.catchall {:try_start_2af .. :try_end_2b1} :catchall_2c7
const/4 v11, 0x1
:try_start_2b2
invoke-direct {v10, v9, v11}, Lcom/tradplus/ads/common/serialization/asm/ClassReader;-><init>(Ljava/io/InputStream;Z)V
new-instance v12, Lcom/tradplus/ads/common/serialization/asm/TypeCollector;
const-string v13, "<clinit>"
:try_end_2b9
.catch Ljava/lang/Exception; {:try_start_2b2 .. :try_end_2b9} :catch_2cc
.catchall {:try_start_2b2 .. :try_end_2b9} :catchall_2c7
const/4 v14, 0x0
:try_start_2ba
new-array v15, v14, [Ljava/lang/Class;
invoke-direct {v12, v13, v15}, Lcom/tradplus/ads/common/serialization/asm/TypeCollector;-><init>(Ljava/lang/String;[Ljava/lang/Class;)V
invoke-virtual {v10, v12}, Lcom/tradplus/ads/common/serialization/asm/ClassReader;->accept(Lcom/tradplus/ads/common/serialization/asm/TypeCollector;)V
invoke-virtual {v12}, Lcom/tradplus/ads/common/serialization/asm/TypeCollector;->hasJsonType()Z
move-result v10
:try_end_2c6
.catch Ljava/lang/Exception; {:try_start_2ba .. :try_end_2c6} :catch_2cd
.catchall {:try_start_2ba .. :try_end_2c6} :catchall_2c7
goto :goto_2d3
:catchall_2c7
move-exception v0
move-object/from16 v19, v9
goto :goto_2da
:catch_2cb
const/4 v11, 0x1
:catch_2cc
const/4 v14, 0x0
:catch_2cd
move-object/from16 v19, v9
goto :goto_2e2
:cond_2d0
const/4 v11, 0x1
const/4 v14, 0x0
const/4 v10, 0x0
:goto_2d3
invoke-static {v9}, Lcom/tradplus/ads/common/serialization/util/IOUtils;->close(Ljava/io/Closeable;)V
goto :goto_2e6
:catchall_2d7
move-exception v0
const/16 v19, 0x0
:goto_2da
invoke-static/range {v19 .. v19}, Lcom/tradplus/ads/common/serialization/util/IOUtils;->close(Ljava/io/Closeable;)V
throw v0
:catch_2de
const/4 v11, 0x1
const/4 v14, 0x0
const/16 v19, 0x0
:goto_2e2
invoke-static/range {v19 .. v19}, Lcom/tradplus/ads/common/serialization/util/IOUtils;->close(Ljava/io/Closeable;)V
const/4 v10, 0x0
:goto_2e6
sget-object v9, Lcom/tradplus/ads/common/serialization/parser/Feature;->SupportAutoType:Lcom/tradplus/ads/common/serialization/parser/Feature;
iget v9, v9, Lcom/tradplus/ads/common/serialization/parser/Feature;->mask:I
iget-boolean v12, v1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->m:Z
if-nez v12, :cond_2f9
and-int/2addr v3, v9
if-nez v3, :cond_2f9
sget v3, Lcom/tradplus/ads/common/serialization/JSON;->DEFAULT_PARSER_FEATURE:I
and-int/2addr v3, v9
if-eqz v3, :cond_2f7
goto :goto_2f9
:cond_2f7
const/4 v3, 0x0
goto :goto_2fa
:cond_2f9
:goto_2f9
const/4 v3, 0x1
:goto_2fa
if-nez v3, :cond_300
if-nez v10, :cond_300
if-eqz v5, :cond_30b
:cond_300
if-nez v3, :cond_304
if-eqz v10, :cond_305
:cond_304
const/4 v14, 0x1
:cond_305
iget-object v4, v1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->a:Ljava/lang/ClassLoader;
invoke-static {v0, v4, v14}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->loadClass(Ljava/lang/String;Ljava/lang/ClassLoader;Z)Ljava/lang/Class;
move-result-object v4
:cond_30b
if-eqz v4, :cond_38d
if-eqz v10, :cond_313
invoke-static {v0, v4}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->addMapping(Ljava/lang/String;Ljava/lang/Class;)V
return-object v4
:cond_313
const-class v5, Ljava/lang/ClassLoader;
invoke-virtual {v5, v4}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v5
if-nez v5, :cond_378
const-class v5, Ljavax/sql/DataSource;
invoke-virtual {v5, v4}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v5
if-nez v5, :cond_378
const-class v5, Ljavax/sql/RowSet;
invoke-virtual {v5, v4}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v5
if-nez v5, :cond_378
if-eqz v2, :cond_356
invoke-virtual {v2, v4}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v3
if-eqz v3, :cond_337
invoke-static {v0, v4}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->addMapping(Ljava/lang/String;Ljava/lang/Class;)V
return-object v4
:cond_337
new-instance v3, Lcom/tradplus/ads/common/serialization/JSONException;
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v4, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual/range {p2 .. p2}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v0
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v3, v0}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;)V
throw v3
:cond_356
iget-object v2, v1, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->propertyNamingStrategy:Lcom/tradplus/ads/common/serialization/PropertyNamingStrategy;
invoke-static {v4, v4, v2}, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->build(Ljava/lang/Class;Ljava/lang/reflect/Type;Lcom/tradplus/ads/common/serialization/PropertyNamingStrategy;)Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
move-result-object v2
iget-object v2, v2, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->creatorConstructor:Ljava/lang/reflect/Constructor;
if-eqz v2, :cond_38d
if-nez v3, :cond_363
goto :goto_38d
:cond_363
new-instance v2, Lcom/tradplus/ads/common/serialization/JSONException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v2, v0}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;)V
throw v2
:cond_378
new-instance v2, Lcom/tradplus/ads/common/serialization/JSONException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v2, v0}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;)V
throw v2
:cond_38d
:goto_38d
if-eqz v3, :cond_395
if-eqz v4, :cond_394
invoke-static {v0, v4}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->addMapping(Ljava/lang/String;Ljava/lang/Class;)V
:cond_394
return-object v4
:cond_395
new-instance v2, Lcom/tradplus/ads/common/serialization/JSONException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v2, v0}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;)V
throw v2
:cond_3aa
move-object/from16 v6, v20
new-instance v2, Lcom/tradplus/ads/common/serialization/JSONException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v2, v0}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;)V
throw v2
:cond_3c1
move-object v6, v9
new-instance v2, Lcom/tradplus/ads/common/serialization/JSONException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v2, v0}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;)V
throw v2
:cond_3d7
move-object v6, v9
new-instance v2, Lcom/tradplus/ads/common/serialization/JSONException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v2, v0}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;)V
throw v2
:cond_3ed
new-instance v2, Lcom/tradplus/ads/common/serialization/JSONException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "safeMode not support autoType : "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v2, v0}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;)V
goto :goto_405
:goto_404
throw v2
:goto_405
goto :goto_404
.end method
.method public clearDeserializers()V
.registers 2
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
invoke-virtual {v0}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->clear()V
invoke-direct {p0}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->a()V
return-void
.end method
.method public configFromPropety(Ljava/util/Properties;)V
.registers 3
const-string v0, "fastjson.parser.deny"
invoke-virtual {p1, v0}, Ljava/util/Properties;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->a(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v0
invoke-direct {p0, v0}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->b([Ljava/lang/String;)V
const-string v0, "fastjson.parser.autoTypeAccept"
invoke-virtual {p1, v0}, Ljava/util/Properties;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->a(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v0
invoke-direct {p0, v0}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->c([Ljava/lang/String;)V
const-string v0, "fastjson.parser.autoTypeSupport"
invoke-virtual {p1, v0}, Ljava/util/Properties;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
const-string v0, "true"
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_2c
const/4 p1, 0x1
:goto_29
iput-boolean p1, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->m:Z
goto :goto_36
:cond_2c
const-string v0, "false"
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_36
const/4 p1, 0x0
goto :goto_29
:cond_36
:goto_36
return-void
.end method
.method public 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;
.registers 8
iget-object p2, p2, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->clazz:Ljava/lang/Class;
iget-object v0, p3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;
invoke-virtual {p3}, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->getAnnotation()Lcom/tradplus/ads/common/serialization/annotation/JSONField;
move-result-object v1
const/4 v2, 0x0
if-eqz v1, :cond_15
invoke-interface {v1}, Lcom/tradplus/ads/common/serialization/annotation/JSONField;->deserializeUsing()Ljava/lang/Class;
move-result-object v1
const-class v3, Ljava/lang/Void;
if-ne v1, v3, :cond_14
goto :goto_15
:cond_14
move-object v2, v1
:cond_15
:goto_15
if-nez v2, :cond_25
const-class v1, Ljava/util/List;
if-eq v0, v1, :cond_1f
const-class v1, Ljava/util/ArrayList;
if-ne v0, v1, :cond_25
:cond_1f
new-instance v0, Lcom/tradplus/ads/common/serialization/parser/deserializer/ArrayListTypeFieldDeserializer;
invoke-direct {v0, p1, p2, p3}, Lcom/tradplus/ads/common/serialization/parser/deserializer/ArrayListTypeFieldDeserializer;-><init>(Lcom/tradplus/ads/common/serialization/parser/ParserConfig;Ljava/lang/Class;Lcom/tradplus/ads/common/serialization/util/FieldInfo;)V
return-object v0
:cond_25
new-instance v0, Lcom/tradplus/ads/common/serialization/parser/deserializer/DefaultFieldDeserializer;
invoke-direct {v0, p1, p2, p3}, 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
return-object v0
.end method
.method public createJavaBeanDeserializer(Ljava/lang/Class;Ljava/lang/reflect/Type;)Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
.registers 14
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/reflect/Type;",
")",
"Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;"
}
.end annotation
iget-boolean v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->h:Z
iget-boolean v1, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->fieldBased:Z
const/4 v2, 0x1
xor-int/2addr v1, v2
and-int/2addr v0, v1
const/4 v1, 0x0
if-eqz v0, :cond_57
const-class v3, Lcom/tradplus/ads/common/serialization/annotation/JSONType;
invoke-static {p1, v3}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->getAnnotation(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
move-result-object v3
check-cast v3, Lcom/tradplus/ads/common/serialization/annotation/JSONType;
if-eqz v3, :cond_38
invoke-interface {v3}, Lcom/tradplus/ads/common/serialization/annotation/JSONType;->deserializer()Ljava/lang/Class;
move-result-object v0
const-class v4, Ljava/lang/Void;
if-eq v0, v4, :cond_28
:try_start_1c
invoke-virtual {v0}, Ljava/lang/Class;->newInstance()Ljava/lang/Object;
move-result-object v0
instance-of v4, v0, Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
if-eqz v4, :cond_28
check-cast v0, Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
:try_end_26
.catch Ljava/lang/Throwable; {:try_start_1c .. :try_end_26} :catch_27
return-object v0
:catch_27
nop
:cond_28
invoke-interface {v3}, Lcom/tradplus/ads/common/serialization/annotation/JSONType;->asm()Z
move-result v0
if-eqz v0, :cond_37
invoke-interface {v3}, Lcom/tradplus/ads/common/serialization/annotation/JSONType;->parseFeatures()[Lcom/tradplus/ads/common/serialization/parser/Feature;
move-result-object v0
array-length v0, v0
if-nez v0, :cond_37
const/4 v0, 0x1
goto :goto_38
:cond_37
const/4 v0, 0x0
:cond_38
:goto_38
if-eqz v0, :cond_57
invoke-static {p1, v3}, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->getBuilderClass(Ljava/lang/Class;Lcom/tradplus/ads/common/serialization/annotation/JSONType;)Ljava/lang/Class;
move-result-object v3
if-nez v3, :cond_41
move-object v3, p1
:cond_41
invoke-virtual {v3}, Ljava/lang/Class;->getModifiers()I
move-result v4
invoke-static {v4}, Ljava/lang/reflect/Modifier;->isPublic(I)Z
move-result v4
if-nez v4, :cond_4d
const/4 v0, 0x0
goto :goto_57
:cond_4d
invoke-virtual {v3}, Ljava/lang/Class;->getSuperclass()Ljava/lang/Class;
move-result-object v3
const-class v4, Ljava/lang/Object;
if-eq v3, v4, :cond_57
if-nez v3, :cond_41
:cond_57
:goto_57
invoke-virtual {p1}, Ljava/lang/Class;->getTypeParameters()[Ljava/lang/reflect/TypeVariable;
move-result-object v3
array-length v3, v3
if-eqz v3, :cond_5f
const/4 v0, 0x0
:cond_5f
if-eqz v0, :cond_6e
iget-object v3, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->b:Lcom/tradplus/ads/common/serialization/parser/deserializer/ASMDeserializerFactory;
if-eqz v3, :cond_6e
iget-object v3, v3, Lcom/tradplus/ads/common/serialization/parser/deserializer/ASMDeserializerFactory;->classLoader:Lcom/tradplus/ads/common/serialization/util/ASMClassLoader;
invoke-virtual {v3, p1}, Lcom/tradplus/ads/common/serialization/util/ASMClassLoader;->isExternalClass(Ljava/lang/Class;)Z
move-result v3
if-eqz v3, :cond_6e
const/4 v0, 0x0
:cond_6e
if-eqz v0, :cond_78
invoke-virtual {p1}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->checkName(Ljava/lang/String;)Z
move-result v0
:cond_78
if-eqz v0, :cond_135
invoke-virtual {p1}, Ljava/lang/Class;->isInterface()Z
move-result v3
if-eqz v3, :cond_81
const/4 v0, 0x0
:cond_81
iget-object v5, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->propertyNamingStrategy:Lcom/tradplus/ads/common/serialization/PropertyNamingStrategy;
const/4 v6, 0x0
sget-boolean v7, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->compatibleWithJavaBean:Z
iget-boolean v8, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->q:Z
move-object v3, p1
move-object v4, p2
invoke-static/range {v3 .. v8}, 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 v3
if-eqz v0, :cond_98
iget-object v4, v3, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->fields:[Lcom/tradplus/ads/common/serialization/util/FieldInfo;
array-length v4, v4
const/16 v5, 0xc8
if-le v4, v5, :cond_98
const/4 v0, 0x0
:cond_98
iget-object v4, v3, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->defaultConstructor:Ljava/lang/reflect/Constructor;
if-eqz v0, :cond_a5
if-nez v4, :cond_a5
invoke-virtual {p1}, Ljava/lang/Class;->isInterface()Z
move-result v4
if-nez v4, :cond_a5
const/4 v0, 0x0
:cond_a5
iget-object v3, v3, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->fields:[Lcom/tradplus/ads/common/serialization/util/FieldInfo;
array-length v4, v3
const/4 v5, 0x0
:goto_a9
if-ge v5, v4, :cond_135
aget-object v6, v3, v5
iget-boolean v7, v6, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->getOnly:Z
if-eqz v7, :cond_b4
:cond_b1
:goto_b1
const/4 v0, 0x0
goto/16 :goto_135
:cond_b4
iget-object v7, v6, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;
invoke-virtual {v7}, Ljava/lang/Class;->getModifiers()I
move-result v8
invoke-static {v8}, Ljava/lang/reflect/Modifier;->isPublic(I)Z
move-result v8
if-nez v8, :cond_c1
goto :goto_b1
:cond_c1
invoke-virtual {v7}, Ljava/lang/Class;->isMemberClass()Z
move-result v8
if-eqz v8, :cond_d2
invoke-virtual {v7}, Ljava/lang/Class;->getModifiers()I
move-result v8
invoke-static {v8}, Ljava/lang/reflect/Modifier;->isStatic(I)Z
move-result v8
if-nez v8, :cond_d2
goto :goto_b1
:cond_d2
invoke-virtual {v6}, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->getMember()Ljava/lang/reflect/Member;
move-result-object v8
if-eqz v8, :cond_e7
invoke-virtual {v6}, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->getMember()Ljava/lang/reflect/Member;
move-result-object v8
invoke-interface {v8}, Ljava/lang/reflect/Member;->getName()Ljava/lang/String;
move-result-object v8
invoke-static {v8}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->checkName(Ljava/lang/String;)Z
move-result v8
if-nez v8, :cond_e7
goto :goto_b1
:cond_e7
invoke-virtual {v6}, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->getAnnotation()Lcom/tradplus/ads/common/serialization/annotation/JSONField;
move-result-object v8
if-eqz v8, :cond_116
invoke-interface {v8}, Lcom/tradplus/ads/common/serialization/annotation/JSONField;->name()Ljava/lang/String;
move-result-object v9
invoke-static {v9}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->checkName(Ljava/lang/String;)Z
move-result v9
if-eqz v9, :cond_b1
invoke-interface {v8}, Lcom/tradplus/ads/common/serialization/annotation/JSONField;->format()Ljava/lang/String;
move-result-object v9
invoke-virtual {v9}, Ljava/lang/String;->length()I
move-result v9
if-nez v9, :cond_b1
invoke-interface {v8}, Lcom/tradplus/ads/common/serialization/annotation/JSONField;->deserializeUsing()Ljava/lang/Class;
move-result-object v9
const-class v10, Ljava/lang/Void;
if-ne v9, v10, :cond_b1
invoke-interface {v8}, Lcom/tradplus/ads/common/serialization/annotation/JSONField;->parseFeatures()[Lcom/tradplus/ads/common/serialization/parser/Feature;
move-result-object v9
array-length v9, v9
if-nez v9, :cond_b1
invoke-interface {v8}, Lcom/tradplus/ads/common/serialization/annotation/JSONField;->unwrapped()Z
move-result v8
if-nez v8, :cond_b1
:cond_116
iget-object v6, v6, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->method:Ljava/lang/reflect/Method;
if-eqz v6, :cond_122
invoke-virtual {v6}, Ljava/lang/reflect/Method;->getParameterTypes()[Ljava/lang/Class;
move-result-object v6
array-length v6, v6
if-le v6, v2, :cond_122
goto :goto_b1
:cond_122
invoke-virtual {v7}, Ljava/lang/Class;->isEnum()Z
move-result v6
if-eqz v6, :cond_131
invoke-virtual {p0, v7}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->getDeserializer(Ljava/lang/reflect/Type;)Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
move-result-object v6
instance-of v6, v6, Lcom/tradplus/ads/common/serialization/parser/deserializer/EnumDeserializer;
if-nez v6, :cond_131
goto :goto_b1
:cond_131
add-int/lit8 v5, v5, 0x1
goto/16 :goto_a9
:cond_135
:goto_135
if-eqz v0, :cond_148
invoke-virtual {p1}, Ljava/lang/Class;->isMemberClass()Z
move-result v2
if-eqz v2, :cond_148
invoke-virtual {p1}, Ljava/lang/Class;->getModifiers()I
move-result v2
invoke-static {v2}, Ljava/lang/reflect/Modifier;->isStatic(I)Z
move-result v2
if-nez v2, :cond_148
const/4 v0, 0x0
:cond_148
if-eqz v0, :cond_151
invoke-static {p1}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->isXmlField(Ljava/lang/Class;)Z
move-result v2
if-eqz v2, :cond_151
const/4 v0, 0x0
:cond_151
if-nez v0, :cond_159
new-instance v0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;
invoke-direct {v0, p0, p1, 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-object v0
:cond_159
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->propertyNamingStrategy:Lcom/tradplus/ads/common/serialization/PropertyNamingStrategy;
invoke-static {p1, p2, v0}, Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;->build(Ljava/lang/Class;Ljava/lang/reflect/Type;Lcom/tradplus/ads/common/serialization/PropertyNamingStrategy;)Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;
move-result-object v0
:try_start_15f
iget-object v1, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->b:Lcom/tradplus/ads/common/serialization/parser/deserializer/ASMDeserializerFactory;
invoke-virtual {v1, p0, v0}, Lcom/tradplus/ads/common/serialization/parser/deserializer/ASMDeserializerFactory;->createJavaBeanDeserializer(Lcom/tradplus/ads/common/serialization/parser/ParserConfig;Lcom/tradplus/ads/common/serialization/util/JavaBeanInfo;)Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
move-result-object p1
:try_end_165
.catch Ljava/lang/NoSuchMethodException; {:try_start_15f .. :try_end_165} :catch_188
.catch Lcom/tradplus/ads/common/serialization/JSONException; {:try_start_15f .. :try_end_165} :catch_182
.catch Ljava/lang/Exception; {:try_start_15f .. :try_end_165} :catch_166
return-object p1
:catch_166
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
const-string v2, "create asm deserializer error, "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/Class;->getName()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
:catch_182
new-instance p1, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;
invoke-direct {p1, p0, v0}, 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-object p1
:catch_188
new-instance v0, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaBeanDeserializer;
invoke-direct {v0, p0, p1, 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-object v0
.end method
.method public get(Ljava/lang/reflect/Type;)Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
.registers 4
invoke-static {p1}, Lcom/tradplus/ads/common/serialization/JSON;->getMixInAnnotations(Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
move-result-object v0
if-nez v0, :cond_f
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
invoke-virtual {v0, p1}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
:goto_c
check-cast p1, Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
return-object p1
:cond_f
iget-object v1, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->f:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
invoke-virtual {v1, p1}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
if-nez p1, :cond_1b
const/4 p1, 0x0
return-object p1
:cond_1b
invoke-virtual {p1, v0}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
goto :goto_c
.end method
.method public getDefaultClassLoader()Ljava/lang/ClassLoader;
.registers 2
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->a:Ljava/lang/ClassLoader;
return-object v0
.end method
.method public getDerializers()Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/tradplus/ads/common/serialization/util/IdentityHashMap<",
"Ljava/lang/reflect/Type;",
"Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;",
">;"
}
.end annotation
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
return-object v0
.end method
.method public getDeserializer(Lcom/tradplus/ads/common/serialization/util/FieldInfo;)Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
.registers 3
iget-object v0, p1, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;
iget-object p1, p1, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldType:Ljava/lang/reflect/Type;
invoke-virtual {p0, v0, p1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->getDeserializer(Ljava/lang/Class;Ljava/lang/reflect/Type;)Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
move-result-object p1
return-object p1
.end method
.method public getDeserializer(Ljava/lang/Class;Ljava/lang/reflect/Type;)Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
.registers 12
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/reflect/Type;",
")",
"Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;"
}
.end annotation
const-string v0, "java.util.Optional"
invoke-virtual {p0, p2}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->get(Ljava/lang/reflect/Type;)Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
move-result-object v1
if-nez v1, :cond_17
instance-of v2, p2, Lcom/tradplus/ads/common/serialization/util/ParameterizedTypeImpl;
if-eqz v2, :cond_17
move-object v1, p2
check-cast v1, Lcom/tradplus/ads/common/serialization/util/ParameterizedTypeImpl;
invoke-static {v1}, Lcom/tradplus/ads/common/serialization/TypeReference;->intern(Lcom/tradplus/ads/common/serialization/util/ParameterizedTypeImpl;)Ljava/lang/reflect/Type;
move-result-object v1
invoke-virtual {p0, v1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->get(Ljava/lang/reflect/Type;)Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
move-result-object v1
:cond_17
if-eqz v1, :cond_1a
return-object v1
:cond_1a
if-nez p2, :cond_1d
move-object p2, p1
:cond_1d
invoke-virtual {p0, p2}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->get(Ljava/lang/reflect/Type;)Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
move-result-object v1
if-eqz v1, :cond_24
return-object v1
:cond_24
const-class v2, Lcom/tradplus/ads/common/serialization/annotation/JSONType;
invoke-static {p1, v2}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->getAnnotation(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
move-result-object v2
check-cast v2, Lcom/tradplus/ads/common/serialization/annotation/JSONType;
if-eqz v2, :cond_3b
invoke-interface {v2}, Lcom/tradplus/ads/common/serialization/annotation/JSONType;->mappingTo()Ljava/lang/Class;
move-result-object v2
const-class v3, Ljava/lang/Void;
if-eq v2, v3, :cond_3b
invoke-virtual {p0, v2, v2}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->getDeserializer(Ljava/lang/Class;Ljava/lang/reflect/Type;)Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
move-result-object p1
return-object p1
:cond_3b
instance-of v2, p2, Ljava/lang/reflect/WildcardType;
if-nez v2, :cond_47
instance-of v2, p2, Ljava/lang/reflect/TypeVariable;
if-nez v2, :cond_47
instance-of v2, p2, Ljava/lang/reflect/ParameterizedType;
if-eqz v2, :cond_4b
:cond_47
invoke-virtual {p0, p1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->get(Ljava/lang/reflect/Type;)Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
move-result-object v1
:cond_4b
if-eqz v1, :cond_4e
return-object v1
:cond_4e
iget-object v2, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->r:Ljava/util/List;
invoke-interface {v2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v2
:cond_54
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_6a
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/tradplus/ads/common/serialization/spi/Module;
invoke-interface {v1, p0, p1}, Lcom/tradplus/ads/common/serialization/spi/Module;->createDeserializer(Lcom/tradplus/ads/common/serialization/parser/ParserConfig;Ljava/lang/Class;)Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
move-result-object v1
if-eqz v1, :cond_54
invoke-virtual {p0, p2, v1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->putDeserializer(Ljava/lang/reflect/Type;Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;)V
return-object v1
:cond_6a
invoke-virtual {p1}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v2
const/16 v3, 0x24
const/16 v4, 0x2e
invoke-virtual {v2, v3, v4}, Ljava/lang/String;->replace(CC)Ljava/lang/String;
move-result-object v2
sget-boolean v3, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->j:Z
const/4 v4, 0x0
if-nez v3, :cond_110
const/4 v3, 0x1
:try_start_7c
const-string v5, "java.time."
invoke-virtual {v2, v5}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v5
const/4 v6, 0x3
const/4 v7, 0x2
const/4 v8, 0x4
if-eqz v5, :cond_df
const/16 v0, 0xc
new-array v0, v0, [Ljava/lang/String;
const-string v5, "java.time.LocalDateTime"
aput-object v5, v0, v4
const-string v5, "java.time.LocalDate"
aput-object v5, v0, v3
const-string v5, "java.time.LocalTime"
aput-object v5, v0, v7
const-string v5, "java.time.ZonedDateTime"
aput-object v5, v0, v6
const-string v5, "java.time.OffsetDateTime"
aput-object v5, v0, v8
const/4 v5, 0x5
const-string v6, "java.time.OffsetTime"
aput-object v6, v0, v5
const/4 v5, 0x6
const-string v6, "java.time.ZoneOffset"
aput-object v6, v0, v5
const/4 v5, 0x7
const-string v6, "java.time.ZoneRegion"
aput-object v6, v0, v5
const/16 v5, 0x8
const-string v6, "java.time.ZoneId"
aput-object v6, v0, v5
const/16 v5, 0x9
const-string v6, "java.time.Period"
aput-object v6, v0, v5
const/16 v5, 0xa
const-string v6, "java.time.Duration"
aput-object v6, v0, v5
const/16 v5, 0xb
const-string v6, "java.time.Instant"
aput-object v6, v0, v5
array-length v5, v0
const/4 v6, 0x0
:goto_c8
if-ge v6, v5, :cond_110
aget-object v7, v0, v6
invoke-virtual {v7, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v8
if-eqz v8, :cond_dc
invoke-static {v7}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
sget-object v1, Lcom/tradplus/ads/common/serialization/parser/deserializer/Jdk8DateCodec;->instance:Lcom/tradplus/ads/common/serialization/parser/deserializer/Jdk8DateCodec;
invoke-virtual {p0, v0, v1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->putDeserializer(Ljava/lang/reflect/Type;Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;)V
return-object v1
:cond_dc
add-int/lit8 v6, v6, 0x1
goto :goto_c8
:cond_df
invoke-virtual {v2, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v5
if-eqz v5, :cond_110
new-array v5, v8, [Ljava/lang/String;
aput-object v0, v5, v4
const-string v0, "java.util.OptionalDouble"
aput-object v0, v5, v3
const-string v0, "java.util.OptionalInt"
aput-object v0, v5, v7
const-string v0, "java.util.OptionalLong"
aput-object v0, v5, v6
array-length v0, v5
const/4 v6, 0x0
:goto_f7
if-ge v6, v0, :cond_110
aget-object v7, v5, v6
invoke-virtual {v7, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v8
if-eqz v8, :cond_10b
invoke-static {v7}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
sget-object v1, Lcom/tradplus/ads/common/serialization/parser/deserializer/OptionalCodec;->instance:Lcom/tradplus/ads/common/serialization/parser/deserializer/OptionalCodec;
invoke-virtual {p0, v0, v1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->putDeserializer(Ljava/lang/reflect/Type;Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;)V
:try_end_10a
.catch Ljava/lang/Throwable; {:try_start_7c .. :try_end_10a} :catch_10e
return-object v1
:cond_10b
add-int/lit8 v6, v6, 0x1
goto :goto_f7
:catch_10e
sput-boolean v3, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->j:Z
:cond_110
const-string v0, "java.nio.ByteBuffer"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_11d
sget-object v1, Lcom/tradplus/ads/common/serialization/serializer/ByteBufferCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/ByteBufferCodec;
invoke-virtual {p0, p1, v1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->putDeserializer(Ljava/lang/reflect/Type;Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;)V
:cond_11d
const-string v0, "java.nio.file.Path"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_12a
sget-object v1, Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;
invoke-virtual {p0, p1, v1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->putDeserializer(Ljava/lang/reflect/Type;Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;)V
:cond_12a
const-class v0, Ljava/util/Map$Entry;
if-ne p1, v0, :cond_133
sget-object v1, Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;
invoke-virtual {p0, p1, v1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->putDeserializer(Ljava/lang/reflect/Type;Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;)V
:cond_133
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Thread;->getContextClassLoader()Ljava/lang/ClassLoader;
move-result-object v0
:try_start_13b
const-class v2, Lcom/tradplus/ads/common/serialization/parser/deserializer/AutowiredObjectDeserializer;
invoke-static {v2, v0}, Lcom/tradplus/ads/common/serialization/util/ServiceLoader;->load(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/Set;
move-result-object v0
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v0
:cond_145
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_169
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/tradplus/ads/common/serialization/parser/deserializer/AutowiredObjectDeserializer;
invoke-interface {v2}, Lcom/tradplus/ads/common/serialization/parser/deserializer/AutowiredObjectDeserializer;->getAutowiredFor()Ljava/util/Set;
move-result-object v3
invoke-interface {v3}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v3
:goto_159
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v5
if-eqz v5, :cond_145
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v5
check-cast v5, Ljava/lang/reflect/Type;
invoke-virtual {p0, v5, v2}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->putDeserializer(Ljava/lang/reflect/Type;Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;)V
:try_end_168
.catch Ljava/lang/Exception; {:try_start_13b .. :try_end_168} :catch_169
goto :goto_159
:catch_169
:cond_169
if-nez v1, :cond_16f
invoke-virtual {p0, p2}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->get(Ljava/lang/reflect/Type;)Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
move-result-object v1
:cond_16f
if-eqz v1, :cond_172
return-object v1
:cond_172
invoke-virtual {p1}, Ljava/lang/Class;->isEnum()Z
move-result v0
if-eqz v0, :cond_1e3
iget-boolean v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->q:Z
if-eqz v0, :cond_196
invoke-virtual {p1}, Ljava/lang/Class;->getMethods()[Ljava/lang/reflect/Method;
move-result-object v0
array-length v1, v0
:goto_181
if-ge v4, v1, :cond_196
aget-object v2, v0, v4
invoke-static {v2}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->isJacksonCreator(Ljava/lang/reflect/Method;)Z
move-result v2
if-eqz v2, :cond_193
invoke-virtual {p0, p1, p2}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->createJavaBeanDeserializer(Ljava/lang/Class;Ljava/lang/reflect/Type;)Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
move-result-object p1
invoke-virtual {p0, p2, p1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->putDeserializer(Ljava/lang/reflect/Type;Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;)V
return-object p1
:cond_193
add-int/lit8 v4, v4, 0x1
goto :goto_181
:cond_196
invoke-static {p1}, Lcom/tradplus/ads/common/serialization/JSON;->getMixInAnnotations(Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
move-result-object v0
check-cast v0, Ljava/lang/Class;
if-eqz v0, :cond_1a0
move-object v1, v0
goto :goto_1a1
:cond_1a0
move-object v1, p1
:goto_1a1
const-class v2, Lcom/tradplus/ads/common/serialization/annotation/JSONType;
invoke-static {v1, v2}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->getAnnotation(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
move-result-object v1
check-cast v1, Lcom/tradplus/ads/common/serialization/annotation/JSONType;
if-eqz v1, :cond_1b9
invoke-interface {v1}, Lcom/tradplus/ads/common/serialization/annotation/JSONType;->deserializer()Ljava/lang/Class;
move-result-object v1
:try_start_1af
invoke-virtual {v1}, Ljava/lang/Class;->newInstance()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
invoke-virtual {p0, p1, v1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->putDeserializer(Ljava/lang/reflect/Type;Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;)V
:try_end_1b8
.catch Ljava/lang/Throwable; {:try_start_1af .. :try_end_1b8} :catch_1b9
return-object v1
:catch_1b9
:cond_1b9
const/4 v1, 0x0
if-eqz v0, :cond_1cf
invoke-static {v0, p1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->a(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
if-eqz v0, :cond_1d3
:try_start_1c2
invoke-virtual {v0}, Ljava/lang/reflect/Method;->getName()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0}, Ljava/lang/reflect/Method;->getParameterTypes()[Ljava/lang/Class;
move-result-object v0
invoke-virtual {p1, v2, v0}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v1
:try_end_1ce
.catch Ljava/lang/Exception; {:try_start_1c2 .. :try_end_1ce} :catch_1d3
goto :goto_1d3
:cond_1cf
invoke-static {p1, p1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->a(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v1
:catch_1d3
:cond_1d3
:goto_1d3
if-eqz v1, :cond_1de
new-instance p2, Lcom/tradplus/ads/common/serialization/parser/deserializer/EnumCreatorDeserializer;
invoke-direct {p2, v1}, Lcom/tradplus/ads/common/serialization/parser/deserializer/EnumCreatorDeserializer;-><init>(Ljava/lang/reflect/Method;)V
invoke-virtual {p0, p1, p2}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->putDeserializer(Ljava/lang/reflect/Type;Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;)V
return-object p2
:cond_1de
invoke-virtual {p0, p1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->a(Ljava/lang/Class;)Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
move-result-object p1
goto :goto_240
:cond_1e3
invoke-virtual {p1}, Ljava/lang/Class;->isArray()Z
move-result v0
if-eqz v0, :cond_1ec
sget-object p1, Lcom/tradplus/ads/common/serialization/serializer/ObjectArrayCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/ObjectArrayCodec;
goto :goto_240
:cond_1ec
const-class v0, Ljava/util/Set;
if-eq p1, v0, :cond_23e
const-class v0, Ljava/util/HashSet;
if-eq p1, v0, :cond_23e
const-class v0, Ljava/util/Collection;
if-eq p1, v0, :cond_23e
const-class v0, Ljava/util/List;
if-eq p1, v0, :cond_23e
const-class v0, Ljava/util/ArrayList;
if-ne p1, v0, :cond_201
goto :goto_23e
:cond_201
const-class v0, Ljava/util/Collection;
invoke-virtual {v0, p1}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v0
if-eqz v0, :cond_20a
goto :goto_23e
:cond_20a
const-class v0, Ljava/util/Map;
invoke-virtual {v0, p1}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v0
if-eqz v0, :cond_215
sget-object p1, Lcom/tradplus/ads/common/serialization/parser/deserializer/MapDeserializer;->instance:Lcom/tradplus/ads/common/serialization/parser/deserializer/MapDeserializer;
goto :goto_240
:cond_215
const-class v0, Ljava/lang/Throwable;
invoke-virtual {v0, p1}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v0
if-eqz v0, :cond_224
new-instance v0, Lcom/tradplus/ads/common/serialization/parser/deserializer/ThrowableDeserializer;
invoke-direct {v0, p0, p1}, Lcom/tradplus/ads/common/serialization/parser/deserializer/ThrowableDeserializer;-><init>(Lcom/tradplus/ads/common/serialization/parser/ParserConfig;Ljava/lang/Class;)V
:goto_222
move-object p1, v0
goto :goto_240
:cond_224
const-class v0, Lcom/tradplus/ads/common/serialization/parser/deserializer/PropertyProcessable;
invoke-virtual {v0, p1}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v0
if-eqz v0, :cond_232
new-instance v0, Lcom/tradplus/ads/common/serialization/parser/deserializer/PropertyProcessableDeserializer;
invoke-direct {v0, p1}, Lcom/tradplus/ads/common/serialization/parser/deserializer/PropertyProcessableDeserializer;-><init>(Ljava/lang/Class;)V
goto :goto_222
:cond_232
const-class v0, Ljava/net/InetAddress;
if-ne p1, v0, :cond_239
sget-object p1, Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/MiscCodec;
goto :goto_240
:cond_239
invoke-virtual {p0, p1, p2}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->createJavaBeanDeserializer(Ljava/lang/Class;Ljava/lang/reflect/Type;)Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
move-result-object p1
goto :goto_240
:cond_23e
:goto_23e
sget-object p1, Lcom/tradplus/ads/common/serialization/serializer/CollectionCodec;->instance:Lcom/tradplus/ads/common/serialization/serializer/CollectionCodec;
:goto_240
invoke-virtual {p0, p2, p1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->putDeserializer(Ljava/lang/reflect/Type;Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;)V
return-object p1
.end method
.method public getDeserializer(Ljava/lang/reflect/Type;)Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
.registers 4
invoke-virtual {p0, p1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->get(Ljava/lang/reflect/Type;)Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
move-result-object v0
if-eqz v0, :cond_7
return-object v0
:cond_7
instance-of v0, p1, Ljava/lang/Class;
if-eqz v0, :cond_13
move-object v0, p1
check-cast v0, Ljava/lang/Class;
invoke-virtual {p0, v0, p1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->getDeserializer(Ljava/lang/Class;Ljava/lang/reflect/Type;)Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
move-result-object p1
return-object p1
:cond_13
instance-of v0, p1, Ljava/lang/reflect/ParameterizedType;
if-eqz v0, :cond_2e
move-object v0, p1
check-cast v0, Ljava/lang/reflect/ParameterizedType;
invoke-interface {v0}, Ljava/lang/reflect/ParameterizedType;->getRawType()Ljava/lang/reflect/Type;
move-result-object v0
instance-of v1, v0, Ljava/lang/Class;
if-eqz v1, :cond_29
check-cast v0, Ljava/lang/Class;
invoke-virtual {p0, v0, p1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->getDeserializer(Ljava/lang/Class;Ljava/lang/reflect/Type;)Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
move-result-object p1
return-object p1
:cond_29
invoke-virtual {p0, v0}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->getDeserializer(Ljava/lang/reflect/Type;)Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
move-result-object p1
return-object p1
:cond_2e
instance-of v0, p1, Ljava/lang/reflect/WildcardType;
if-eqz v0, :cond_44
check-cast p1, Ljava/lang/reflect/WildcardType;
invoke-interface {p1}, Ljava/lang/reflect/WildcardType;->getUpperBounds()[Ljava/lang/reflect/Type;
move-result-object p1
array-length v0, p1
const/4 v1, 0x1
if-ne v0, v1, :cond_44
const/4 v0, 0x0
aget-object p1, p1, v0
invoke-virtual {p0, p1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->getDeserializer(Ljava/lang/reflect/Type;)Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
move-result-object p1
return-object p1
:cond_44
sget-object p1, Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaObjectDeserializer;->instance:Lcom/tradplus/ads/common/serialization/parser/deserializer/JavaObjectDeserializer;
return-object p1
.end method
.method public getDeserializers()Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/tradplus/ads/common/serialization/util/IdentityHashMap<",
"Ljava/lang/reflect/Type;",
"Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;",
">;"
}
.end annotation
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
return-object v0
.end method
.method public varargs initJavaBeanDeserializers([Ljava/lang/Class;)V
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Ljava/lang/Class<",
"*>;)V"
}
.end annotation
if-nez p1, :cond_3
return-void
:cond_3
array-length v0, p1
const/4 v1, 0x0
:goto_5
if-ge v1, v0, :cond_16
aget-object v2, p1, v1
if-nez v2, :cond_c
goto :goto_13
:cond_c
invoke-virtual {p0, v2, v2}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->createJavaBeanDeserializer(Ljava/lang/Class;Ljava/lang/reflect/Type;)Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;
move-result-object v3
invoke-virtual {p0, v2, v3}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->putDeserializer(Ljava/lang/reflect/Type;Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;)V
:goto_13
add-int/lit8 v1, v1, 0x1
goto :goto_5
:cond_16
return-void
.end method
.method public isAsmEnable()Z
.registers 2
iget-boolean v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->h:Z
return v0
.end method
.method public isAutoTypeSupport()Z
.registers 2
iget-boolean v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->m:Z
return v0
.end method
.method public isJacksonCompatible()Z
.registers 2
iget-boolean v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->q:Z
return v0
.end method
.method public isPrimitive(Ljava/lang/Class;)Z
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;)Z"
}
.end annotation
invoke-static {p1}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->isPrimitive2(Ljava/lang/Class;)Z
move-result p1
return p1
.end method
.method public isSafeMode()Z
.registers 2
iget-boolean v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->t:Z
return v0
.end method
.method public putDeserializer(Ljava/lang/reflect/Type;Lcom/tradplus/ads/common/serialization/parser/deserializer/ObjectDeserializer;)V
.registers 6
invoke-static {p1}, Lcom/tradplus/ads/common/serialization/JSON;->getMixInAnnotations(Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
move-result-object v0
if-eqz v0, :cond_1f
iget-object v1, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->f:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
invoke-virtual {v1, p1}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
if-nez v1, :cond_1b
new-instance v1, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
const/4 v2, 0x4
invoke-direct {v1, v2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;-><init>(I)V
iget-object v2, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->f:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
invoke-virtual {v2, p1, v1}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
:cond_1b
invoke-virtual {v1, v0, p2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
goto :goto_24
:cond_1f
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->e:Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;
invoke-virtual {v0, p1, p2}, Lcom/tradplus/ads/common/serialization/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Z
:goto_24
return-void
.end method
.method public register(Lcom/tradplus/ads/common/serialization/spi/Module;)V
.registers 3
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->r:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
return-void
.end method
.method public register(Ljava/lang/String;Ljava/lang/Class;)V
.registers 4
iget-object v0, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->g:Ljava/util/concurrent/ConcurrentMap;
invoke-interface {v0, p1, p2}, Ljava/util/concurrent/ConcurrentMap;->putIfAbsent(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
return-void
.end method
.method public setAsmEnable(Z)V
.registers 2
iput-boolean p1, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->h:Z
return-void
.end method
.method public setAutoTypeSupport(Z)V
.registers 2
iput-boolean p1, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->m:Z
return-void
.end method
.method public setDefaultClassLoader(Ljava/lang/ClassLoader;)V
.registers 2
iput-object p1, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->a:Ljava/lang/ClassLoader;
return-void
.end method
.method public setJacksonCompatible(Z)V
.registers 2
iput-boolean p1, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->q:Z
return-void
.end method
.method public setSafeMode(Z)V
.registers 2
iput-boolean p1, p0, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->t:Z
return-void
.end method