i.smali
.class public final Lcom/alibaba/fastjson/parser/i;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field public static final h:[Ljava/lang/String;
.field public static final i:[Ljava/lang/String;
.field public static final j:Z
.field public static k:Lcom/alibaba/fastjson/parser/i;
.field public static l:Z
.field public static m:Z
# instance fields
.field public final a:Lcom/alibaba/fastjson/util/f;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/alibaba/fastjson/util/f<",
"Ljava/lang/reflect/Type;",
"Lcom/alibaba/fastjson/parser/deserializer/r;",
">;"
}
.end annotation
.end field
.field public b:Z
.field public final c:Lcom/alibaba/fastjson/parser/j;
.field public d:Lcom/alibaba/fastjson/parser/deserializer/a;
.field public e:Z
.field public f:[Ljava/lang/String;
.field public g:[Ljava/lang/String;
# direct methods
.method public static constructor <clinit>()V
.registers 4
const-string v0, "fastjson.parser.deny"
.line 1
invoke-static {v0}, Lcom/alibaba/fastjson/util/e;->d(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v1, ","
const/4 v2, 0x0
if-eqz v0, :cond_16
.line 2
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v3
if-lez v3, :cond_16
.line 3
invoke-virtual {v0, v1}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v0
goto :goto_17
:cond_16
move-object v0, v2
.line 4
:goto_17
sput-object v0, Lcom/alibaba/fastjson/parser/i;->h:[Ljava/lang/String;
const-string v0, "fastjson.parser.autoTypeSupport"
.line 5
invoke-static {v0}, Lcom/alibaba/fastjson/util/e;->d(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v3, "true"
.line 6
invoke-virtual {v3, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
sput-boolean v0, Lcom/alibaba/fastjson/parser/i;->j:Z
const-string v0, "fastjson.parser.autoTypeAccept"
.line 7
invoke-static {v0}, Lcom/alibaba/fastjson/util/e;->d(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
if-eqz v0, :cond_39
.line 8
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v3
if-lez v3, :cond_39
.line 9
invoke-virtual {v0, v1}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v2
:cond_39
const/4 v0, 0x0
if-nez v2, :cond_3e
new-array v2, v0, [Ljava/lang/String;
.line 10
:cond_3e
sput-object v2, Lcom/alibaba/fastjson/parser/i;->i:[Ljava/lang/String;
.line 11
new-instance v1, Lcom/alibaba/fastjson/parser/i;
invoke-direct {v1}, Lcom/alibaba/fastjson/parser/i;-><init>()V
sput-object v1, Lcom/alibaba/fastjson/parser/i;->k:Lcom/alibaba/fastjson/parser/i;
.line 12
sput-boolean v0, Lcom/alibaba/fastjson/parser/i;->l:Z
.line 13
sput-boolean v0, Lcom/alibaba/fastjson/parser/i;->m:Z
return-void
.end method
.method public constructor <init>()V
.registers 11
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
new-instance v0, Lcom/alibaba/fastjson/util/f;
invoke-direct {v0}, Lcom/alibaba/fastjson/util/f;-><init>()V
iput-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
.line 3
sget-boolean v0, Lcom/alibaba/fastjson/util/b;->a:Z
xor-int/lit8 v1, v0, 0x1
iput-boolean v1, p0, Lcom/alibaba/fastjson/parser/i;->b:Z
.line 4
new-instance v1, Lcom/alibaba/fastjson/parser/j;
invoke-direct {v1}, Lcom/alibaba/fastjson/parser/j;-><init>()V
iput-object v1, p0, Lcom/alibaba/fastjson/parser/i;->c:Lcom/alibaba/fastjson/parser/j;
.line 5
sget-boolean v1, Lcom/alibaba/fastjson/parser/i;->j:Z
iput-boolean v1, p0, Lcom/alibaba/fastjson/parser/i;->e:Z
const-string v1, "bsh,com.mchange,com.sun.,java.lang.Thread,java.net.Socket,java.rmi,javax.xml,org.apache.bcel,org.apache.commons.beanutils,org.apache.commons.collections.Transformer,org.apache.commons.collections.functors,org.apache.commons.collections4.comparators,org.apache.commons.fileupload,org.apache.myfaces.context.servlet,org.apache.tomcat,org.apache.wicket.util,org.codehaus.groovy.runtime,org.hibernate,org.jboss,org.mozilla.javascript,org.python.core,org.springframework"
const-string v2, ","
.line 6
invoke-virtual {v1, v2}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v1
iput-object v1, p0, Lcom/alibaba/fastjson/parser/i;->f:[Ljava/lang/String;
.line 7
sget-object v1, Lcom/alibaba/fastjson/parser/i;->i:[Ljava/lang/String;
iput-object v1, p0, Lcom/alibaba/fastjson/parser/i;->g:[Ljava/lang/String;
if-nez v0, :cond_36
.line 8
:try_start_2b
new-instance v0, Lcom/alibaba/fastjson/parser/deserializer/a;
new-instance v1, Lcom/alibaba/fastjson/util/a;
invoke-direct {v1}, Lcom/alibaba/fastjson/util/a;-><init>()V
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/parser/deserializer/a;-><init>(Ljava/lang/ClassLoader;)V
:try_end_35
.catch Ljava/lang/ExceptionInInitializerError; {:try_start_2b .. :try_end_35} :catch_36
.catch Ljava/security/AccessControlException; {:try_start_2b .. :try_end_35} :catch_36
.catch Ljava/lang/NoClassDefFoundError; {:try_start_2b .. :try_end_35} :catch_36
goto :goto_37
:catch_36
:cond_36
const/4 v0, 0x0
.line 9
:goto_37
iput-object v0, p0, Lcom/alibaba/fastjson/parser/i;->d:Lcom/alibaba/fastjson/parser/deserializer/a;
const/4 v1, 0x0
if-nez v0, :cond_3e
.line 10
iput-boolean v1, p0, Lcom/alibaba/fastjson/parser/i;->b:Z
.line 11
:cond_3e
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/text/SimpleDateFormat;
sget-object v3, Lcom/alibaba/fastjson/serializer/l0;->a:Lcom/alibaba/fastjson/serializer/l0;
invoke-virtual {v0, v2, v3}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 12
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/sql/Timestamp;
sget-object v4, Lcom/alibaba/fastjson/parser/deserializer/u;->c:Lcom/alibaba/fastjson/parser/deserializer/u;
invoke-virtual {v0, v2, v4}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 13
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/sql/Date;
sget-object v4, Lcom/alibaba/fastjson/parser/deserializer/u;->b:Lcom/alibaba/fastjson/parser/deserializer/u;
invoke-virtual {v0, v2, v4}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 14
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/sql/Time;
sget-object v4, Lcom/alibaba/fastjson/parser/deserializer/x;->a:Lcom/alibaba/fastjson/parser/deserializer/x;
invoke-virtual {v0, v2, v4}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 15
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/util/Date;
sget-object v4, Lcom/alibaba/fastjson/serializer/t;->a:Lcom/alibaba/fastjson/serializer/t;
invoke-virtual {v0, v2, v4}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 16
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/util/Calendar;
sget-object v4, Lcom/alibaba/fastjson/serializer/m;->b:Lcom/alibaba/fastjson/serializer/m;
invoke-virtual {v0, v2, v4}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 17
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljavax/xml/datatype/XMLGregorianCalendar;
invoke-virtual {v0, v2, v4}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 18
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Lcom/alibaba/fastjson/e;
sget-object v4, Lcom/alibaba/fastjson/parser/deserializer/p;->a:Lcom/alibaba/fastjson/parser/deserializer/p;
invoke-virtual {v0, v2, v4}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 19
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Lcom/alibaba/fastjson/b;
sget-object v5, Lcom/alibaba/fastjson/serializer/q;->a:Lcom/alibaba/fastjson/serializer/q;
invoke-virtual {v0, v2, v5}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 20
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/util/Map;
invoke-virtual {v0, v2, v4}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 21
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/util/HashMap;
invoke-virtual {v0, v2, v4}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 22
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/util/LinkedHashMap;
invoke-virtual {v0, v2, v4}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 23
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/util/TreeMap;
invoke-virtual {v0, v2, v4}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 24
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/util/concurrent/ConcurrentMap;
invoke-virtual {v0, v2, v4}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 25
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/util/concurrent/ConcurrentHashMap;
invoke-virtual {v0, v2, v4}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 26
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/util/Collection;
invoke-virtual {v0, v2, v5}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 27
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/util/List;
invoke-virtual {v0, v2, v5}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 28
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/util/ArrayList;
invoke-virtual {v0, v2, v5}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 29
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/lang/Object;
sget-object v4, Lcom/alibaba/fastjson/parser/deserializer/n;->a:Lcom/alibaba/fastjson/parser/deserializer/n;
invoke-virtual {v0, v2, v4}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 30
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/lang/String;
sget-object v5, Lcom/alibaba/fastjson/serializer/a1;->a:Lcom/alibaba/fastjson/serializer/a1;
invoke-virtual {v0, v2, v5}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 31
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/lang/StringBuffer;
invoke-virtual {v0, v2, v5}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 32
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/lang/StringBuilder;
invoke-virtual {v0, v2, v5}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 33
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
sget-object v2, Ljava/lang/Character;->TYPE:Ljava/lang/Class;
sget-object v5, Lcom/alibaba/fastjson/serializer/o;->a:Lcom/alibaba/fastjson/serializer/o;
invoke-virtual {v0, v2, v5}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 34
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/lang/Character;
invoke-virtual {v0, v2, v5}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 35
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
sget-object v2, Ljava/lang/Byte;->TYPE:Ljava/lang/Class;
sget-object v5, Lcom/alibaba/fastjson/parser/deserializer/q;->a:Lcom/alibaba/fastjson/parser/deserializer/q;
invoke-virtual {v0, v2, v5}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 36
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/lang/Byte;
invoke-virtual {v0, v2, v5}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 37
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
sget-object v2, Ljava/lang/Short;->TYPE:Ljava/lang/Class;
invoke-virtual {v0, v2, v5}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 38
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/lang/Short;
invoke-virtual {v0, v2, v5}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 39
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
sget-object v2, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
sget-object v6, Lcom/alibaba/fastjson/serializer/a0;->a:Lcom/alibaba/fastjson/serializer/a0;
invoke-virtual {v0, v2, v6}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 40
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/lang/Integer;
invoke-virtual {v0, v2, v6}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 41
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
sget-object v2, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
sget-object v7, Lcom/alibaba/fastjson/serializer/j0;->a:Lcom/alibaba/fastjson/serializer/j0;
invoke-virtual {v0, v2, v7}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 42
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/lang/Long;
invoke-virtual {v0, v2, v7}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 43
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/math/BigInteger;
sget-object v8, Lcom/alibaba/fastjson/serializer/k;->a:Lcom/alibaba/fastjson/serializer/k;
invoke-virtual {v0, v2, v8}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 44
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/math/BigDecimal;
sget-object v8, Lcom/alibaba/fastjson/serializer/j;->a:Lcom/alibaba/fastjson/serializer/j;
invoke-virtual {v0, v2, v8}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 45
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
sget-object v2, Ljava/lang/Float;->TYPE:Ljava/lang/Class;
sget-object v8, Lcom/alibaba/fastjson/serializer/y;->b:Lcom/alibaba/fastjson/serializer/y;
invoke-virtual {v0, v2, v8}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 46
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/lang/Float;
invoke-virtual {v0, v2, v8}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 47
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
sget-object v2, Ljava/lang/Double;->TYPE:Ljava/lang/Class;
invoke-virtual {v0, v2, v5}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 48
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/lang/Double;
invoke-virtual {v0, v2, v5}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 49
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
sget-object v2, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
sget-object v8, Lcom/alibaba/fastjson/serializer/l;->a:Lcom/alibaba/fastjson/serializer/l;
invoke-virtual {v0, v2, v8}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 50
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/lang/Boolean;
invoke-virtual {v0, v2, v8}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 51
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/lang/Class;
invoke-virtual {v0, v2, v3}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 52
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, [C
new-instance v9, Lcom/alibaba/fastjson/serializer/n;
invoke-direct {v9}, Lcom/alibaba/fastjson/serializer/n;-><init>()V
invoke-virtual {v0, v2, v9}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 53
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {v0, v2, v8}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 54
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {v0, v2, v6}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 55
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {v0, v2, v7}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 56
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/util/concurrent/atomic/AtomicReference;
sget-object v6, Lcom/alibaba/fastjson/serializer/s0;->a:Lcom/alibaba/fastjson/serializer/s0;
invoke-virtual {v0, v2, v6}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 57
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/lang/ref/WeakReference;
invoke-virtual {v0, v2, v6}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 58
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/lang/ref/SoftReference;
invoke-virtual {v0, v2, v6}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 59
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/util/UUID;
invoke-virtual {v0, v2, v3}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 60
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/util/TimeZone;
invoke-virtual {v0, v2, v3}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 61
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/util/Locale;
invoke-virtual {v0, v2, v3}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 62
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/util/Currency;
invoke-virtual {v0, v2, v3}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 63
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/net/InetAddress;
invoke-virtual {v0, v2, v3}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 64
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/net/Inet4Address;
invoke-virtual {v0, v2, v3}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 65
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/net/Inet6Address;
invoke-virtual {v0, v2, v3}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 66
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/net/InetSocketAddress;
invoke-virtual {v0, v2, v3}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 67
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/io/File;
invoke-virtual {v0, v2, v3}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 68
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/net/URI;
invoke-virtual {v0, v2, v3}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 69
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/net/URL;
invoke-virtual {v0, v2, v3}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 70
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/util/regex/Pattern;
invoke-virtual {v0, v2, v3}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 71
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/nio/charset/Charset;
invoke-virtual {v0, v2, v3}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 72
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Lcom/alibaba/fastjson/f;
invoke-virtual {v0, v2, v3}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 73
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/lang/Number;
invoke-virtual {v0, v2, v5}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 74
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/util/concurrent/atomic/AtomicIntegerArray;
sget-object v3, Lcom/alibaba/fastjson/serializer/e;->a:Lcom/alibaba/fastjson/serializer/e;
invoke-virtual {v0, v2, v3}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 75
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/util/concurrent/atomic/AtomicLongArray;
invoke-virtual {v0, v2, v3}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 76
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/lang/StackTraceElement;
sget-object v3, Lcom/alibaba/fastjson/parser/deserializer/v;->a:Lcom/alibaba/fastjson/parser/deserializer/v;
invoke-virtual {v0, v2, v3}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 77
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/io/Serializable;
invoke-virtual {v0, v2, v4}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 78
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/lang/Cloneable;
invoke-virtual {v0, v2, v4}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 79
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/lang/Comparable;
invoke-virtual {v0, v2, v4}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 80
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-class v2, Ljava/io/Closeable;
invoke-virtual {v0, v2, v4}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 81
sget-object v0, Lcom/alibaba/fastjson/parser/i;->h:[Ljava/lang/String;
if-nez v0, :cond_25c
goto :goto_291
:cond_25c
const/4 v2, 0x0
.line 82
:goto_25d
array-length v3, v0
if-ge v2, v3, :cond_291
.line 83
aget-object v3, v0, v2
if-eqz v3, :cond_28e
.line 84
invoke-virtual {v3}, Ljava/lang/String;->length()I
move-result v4
if-nez v4, :cond_26b
goto :goto_28e
.line 85
:cond_26b
iget-object v4, p0, Lcom/alibaba/fastjson/parser/i;->f:[Ljava/lang/String;
array-length v5, v4
const/4 v6, 0x0
:goto_26f
if-ge v6, v5, :cond_27d
aget-object v7, v4, v6
.line 86
invoke-virtual {v3, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v7
if-eqz v7, :cond_27a
goto :goto_28e
:cond_27a
add-int/lit8 v6, v6, 0x1
goto :goto_26f
.line 87
:cond_27d
iget-object v4, p0, Lcom/alibaba/fastjson/parser/i;->f:[Ljava/lang/String;
array-length v5, v4
add-int/lit8 v5, v5, 0x1
new-array v6, v5, [Ljava/lang/String;
.line 88
array-length v7, v4
invoke-static {v4, v1, v6, v1, v7}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
add-int/lit8 v5, v5, -0x1
.line 89
aput-object v3, v6, v5
.line 90
iput-object v6, p0, Lcom/alibaba/fastjson/parser/i;->f:[Ljava/lang/String;
:cond_28e
:goto_28e
add-int/lit8 v2, v2, 0x1
goto :goto_25d
.line 91
:cond_291
:goto_291
sget-object v0, Lcom/alibaba/fastjson/parser/i;->i:[Ljava/lang/String;
if-nez v0, :cond_296
goto :goto_2cb
:cond_296
const/4 v2, 0x0
.line 92
:goto_297
array-length v3, v0
if-ge v2, v3, :cond_2cb
.line 93
aget-object v3, v0, v2
if-eqz v3, :cond_2c8
.line 94
invoke-virtual {v3}, Ljava/lang/String;->length()I
move-result v4
if-nez v4, :cond_2a5
goto :goto_2c8
.line 95
:cond_2a5
iget-object v4, p0, Lcom/alibaba/fastjson/parser/i;->g:[Ljava/lang/String;
array-length v5, v4
const/4 v6, 0x0
:goto_2a9
if-ge v6, v5, :cond_2b7
aget-object v7, v4, v6
.line 96
invoke-virtual {v3, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v7
if-eqz v7, :cond_2b4
goto :goto_2c8
:cond_2b4
add-int/lit8 v6, v6, 0x1
goto :goto_2a9
.line 97
:cond_2b7
iget-object v4, p0, Lcom/alibaba/fastjson/parser/i;->g:[Ljava/lang/String;
array-length v5, v4
add-int/lit8 v5, v5, 0x1
new-array v6, v5, [Ljava/lang/String;
.line 98
array-length v7, v4
invoke-static {v4, v1, v6, v1, v7}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
add-int/lit8 v5, v5, -0x1
.line 99
aput-object v3, v6, v5
.line 100
iput-object v6, p0, Lcom/alibaba/fastjson/parser/i;->g:[Ljava/lang/String;
:cond_2c8
:goto_2c8
add-int/lit8 v2, v2, 0x1
goto :goto_297
:cond_2cb
:goto_2cb
return-void
.end method
.method public static d(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/reflect/Field;
.registers 4
.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
.line 1
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
.line 2
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_39
.line 3
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 p0
invoke-interface {p1, p0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
move-object v0, p0
check-cast v0, Ljava/lang/reflect/Field;
:cond_39
return-object v0
.end method
.method public static e(Ljava/lang/Class;)Z
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;)Z"
}
.end annotation
.line 1
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
.line 2
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 f(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
.line 1
invoke-virtual {p0}, Ljava/lang/Class;->getDeclaredFields()[Ljava/lang/reflect/Field;
move-result-object v0
.line 2
array-length v1, v0
const/4 v2, 0x0
:goto_6
if-ge v2, v1, :cond_1a
aget-object v3, v0, v2
.line 3
invoke-virtual {v3}, Ljava/lang/reflect/Field;->getName()Ljava/lang/String;
move-result-object v4
.line 4
invoke-interface {p1, v4}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v5
if-nez v5, :cond_17
.line 5
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
.line 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
.line 7
invoke-virtual {p0}, Ljava/lang/Class;->getSuperclass()Ljava/lang/Class;
move-result-object p0
invoke-static {p0, p1}, Lcom/alibaba/fastjson/parser/i;->f(Ljava/lang/Class;Ljava/util/Map;)V
:cond_2f
return-void
.end method
# virtual methods
.method public final a(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Class;
.registers 14
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/lang/Class<",
"*>;)",
"Ljava/lang/Class<",
"*>;"
}
.end annotation
const/4 v0, 0x0
if-nez p1, :cond_4
return-object v0
:cond_4
const/16 v1, 0x24
const/16 v2, 0x2e
.line 1
invoke-virtual {p1, v1, v2}, Ljava/lang/String;->replace(CC)Ljava/lang/String;
move-result-object v1
.line 2
iget-boolean v2, p0, Lcom/alibaba/fastjson/parser/i;->e:Z
const-string v3, "autoType is not support. "
const/4 v4, 0x0
if-nez v2, :cond_15
if-eqz p2, :cond_46
:cond_15
const/4 v2, 0x0
.line 3
:goto_16
iget-object v5, p0, Lcom/alibaba/fastjson/parser/i;->g:[Ljava/lang/String;
array-length v6, v5
if-ge v2, v6, :cond_2b
.line 4
aget-object v5, v5, v2
.line 5
invoke-virtual {v1, v5}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v5
if-eqz v5, :cond_28
.line 6
invoke-static {p1}, Lcom/alibaba/fastjson/util/j;->C(Ljava/lang/String;)Ljava/lang/Class;
move-result-object p1
return-object p1
:cond_28
add-int/lit8 v2, v2, 0x1
goto :goto_16
:cond_2b
const/4 v2, 0x0
.line 7
:goto_2c
iget-object v5, p0, Lcom/alibaba/fastjson/parser/i;->f:[Ljava/lang/String;
array-length v6, v5
if-ge v2, v6, :cond_46
.line 8
aget-object v5, v5, v2
.line 9
invoke-virtual {v1, v5}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v5
if-nez v5, :cond_3c
add-int/lit8 v2, v2, 0x1
goto :goto_2c
.line 10
:cond_3c
new-instance p2, Lcom/alibaba/fastjson/d;
.line 11
invoke-static {v3, p1}, Landroidx/appcompat/e;->g(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
.line 12
invoke-direct {p2, p1}, Lcom/alibaba/fastjson/d;-><init>(Ljava/lang/String;)V
throw p2
.line 13
:cond_46
sget-object v2, Lcom/alibaba/fastjson/util/j;->l:Ljava/util/concurrent/ConcurrentHashMap;
invoke-virtual {v2, p1}, Ljava/util/concurrent/ConcurrentHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/Class;
if-nez v2, :cond_7a
.line 14
iget-object v2, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
.line 15
iget-object v2, v2, Lcom/alibaba/fastjson/util/f;->a:[Lcom/alibaba/fastjson/util/f$a;
array-length v5, v2
const/4 v6, 0x0
:goto_56
if-ge v6, v5, :cond_7b
aget-object v7, v2, v6
if-nez v7, :cond_5d
goto :goto_77
:cond_5d
move-object v8, v7
:goto_5e
if-eqz v8, :cond_77
.line 16
iget-object v9, v7, Lcom/alibaba/fastjson/util/f$a;->a:Ljava/lang/Object;
.line 17
instance-of v10, v9, Ljava/lang/Class;
if-eqz v10, :cond_74
.line 18
check-cast v9, Ljava/lang/Class;
.line 19
invoke-virtual {v9}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v10
.line 20
invoke-virtual {v10, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v10
if-eqz v10, :cond_74
move-object v0, v9
goto :goto_7b
.line 21
:cond_74
iget-object v8, v8, Lcom/alibaba/fastjson/util/f$a;->c:Lcom/alibaba/fastjson/util/f$a;
goto :goto_5e
:cond_77
:goto_77
add-int/lit8 v6, v6, 0x1
goto :goto_56
:cond_7a
move-object v0, v2
:cond_7b
:goto_7b
const-string v2, " -> "
const-string v5, "type not match. "
if-eqz v0, :cond_99
if-eqz p2, :cond_98
.line 22
invoke-virtual {p2, v0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v1
if-eqz v1, :cond_8a
goto :goto_98
.line 23
:cond_8a
new-instance v0, Lcom/alibaba/fastjson/d;
.line 24
invoke-static {v5, p1, v2}, Landroidx/appcompat/view/g;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p1
.line 25
invoke-static {p2, p1}, Landroidx/appcompat/view/f;->c(Ljava/lang/Class;Ljava/lang/StringBuilder;)Ljava/lang/String;
move-result-object p1
.line 26
invoke-direct {v0, p1}, Lcom/alibaba/fastjson/d;-><init>(Ljava/lang/String;)V
throw v0
:cond_98
:goto_98
return-object v0
.line 27
:cond_99
iget-boolean v6, p0, Lcom/alibaba/fastjson/parser/i;->e:Z
if-nez v6, :cond_e4
const/4 v6, 0x0
.line 28
:goto_9e
iget-object v7, p0, Lcom/alibaba/fastjson/parser/i;->f:[Ljava/lang/String;
array-length v8, v7
if-ge v6, v8, :cond_b8
.line 29
aget-object v7, v7, v6
.line 30
invoke-virtual {v1, v7}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v7
if-nez v7, :cond_ae
add-int/lit8 v6, v6, 0x1
goto :goto_9e
.line 31
:cond_ae
new-instance p2, Lcom/alibaba/fastjson/d;
.line 32
invoke-static {v3, p1}, Landroidx/appcompat/e;->g(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
.line 33
invoke-direct {p2, p1}, Lcom/alibaba/fastjson/d;-><init>(Ljava/lang/String;)V
throw p2
.line 34
:cond_b8
:goto_b8
iget-object v6, p0, Lcom/alibaba/fastjson/parser/i;->g:[Ljava/lang/String;
array-length v7, v6
if-ge v4, v7, :cond_e4
.line 35
aget-object v6, v6, v4
.line 36
invoke-virtual {v1, v6}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v6
if-eqz v6, :cond_e1
.line 37
invoke-static {p1}, Lcom/alibaba/fastjson/util/j;->C(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
if-eqz p2, :cond_e0
.line 38
invoke-virtual {p2, v0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v1
if-nez v1, :cond_d2
goto :goto_e0
.line 39
:cond_d2
new-instance v0, Lcom/alibaba/fastjson/d;
.line 40
invoke-static {v5, p1, v2}, Landroidx/appcompat/view/g;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p1
.line 41
invoke-static {p2, p1}, Landroidx/appcompat/view/f;->c(Ljava/lang/Class;Ljava/lang/StringBuilder;)Ljava/lang/String;
move-result-object p1
.line 42
invoke-direct {v0, p1}, Lcom/alibaba/fastjson/d;-><init>(Ljava/lang/String;)V
throw v0
:cond_e0
:goto_e0
return-object v0
:cond_e1
add-int/lit8 v4, v4, 0x1
goto :goto_b8
.line 43
:cond_e4
iget-boolean v1, p0, Lcom/alibaba/fastjson/parser/i;->e:Z
if-nez v1, :cond_ea
if-eqz p2, :cond_ee
.line 44
:cond_ea
invoke-static {p1}, Lcom/alibaba/fastjson/util/j;->C(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
:cond_ee
if-eqz v0, :cond_121
.line 45
const-class v1, Ljava/lang/ClassLoader;
invoke-virtual {v1, v0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v1
if-nez v1, :cond_117
const-class v1, Ljavax/sql/DataSource;
.line 46
invoke-virtual {v1, v0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v1
if-nez v1, :cond_117
if-eqz p2, :cond_121
.line 47
invoke-virtual {p2, v0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v1
if-eqz v1, :cond_109
return-object v0
.line 48
:cond_109
new-instance v0, Lcom/alibaba/fastjson/d;
.line 49
invoke-static {v5, p1, v2}, Landroidx/appcompat/view/g;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p1
.line 50
invoke-static {p2, p1}, Landroidx/appcompat/view/f;->c(Ljava/lang/Class;Ljava/lang/StringBuilder;)Ljava/lang/String;
move-result-object p1
.line 51
invoke-direct {v0, p1}, Lcom/alibaba/fastjson/d;-><init>(Ljava/lang/String;)V
throw v0
.line 52
:cond_117
new-instance p2, Lcom/alibaba/fastjson/d;
.line 53
invoke-static {v3, p1}, Landroidx/appcompat/e;->g(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
.line 54
invoke-direct {p2, p1}, Lcom/alibaba/fastjson/d;-><init>(Ljava/lang/String;)V
throw p2
.line 55
:cond_121
iget-boolean p2, p0, Lcom/alibaba/fastjson/parser/i;->e:Z
if-eqz p2, :cond_126
return-object v0
.line 56
:cond_126
new-instance p2, Lcom/alibaba/fastjson/d;
.line 57
invoke-static {v3, p1}, Landroidx/appcompat/e;->g(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
.line 58
invoke-direct {p2, p1}, Lcom/alibaba/fastjson/d;-><init>(Ljava/lang/String;)V
throw p2
.end method
.method public final b(Ljava/lang/Class;Ljava/lang/reflect/Type;)Lcom/alibaba/fastjson/parser/deserializer/r;
.registers 11
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/reflect/Type;",
")",
"Lcom/alibaba/fastjson/parser/deserializer/r;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
invoke-virtual {v0, p2}, Lcom/alibaba/fastjson/util/f;->a(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/alibaba/fastjson/parser/deserializer/r;
if-eqz v0, :cond_b
return-object v0
:cond_b
if-nez p2, :cond_e
move-object p2, p1
.line 2
:cond_e
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
invoke-virtual {v0, p2}, Lcom/alibaba/fastjson/util/f;->a(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/alibaba/fastjson/parser/deserializer/r;
if-eqz v0, :cond_19
return-object v0
.line 3
:cond_19
const-class v1, Lcom/alibaba/fastjson/annotation/d;
invoke-virtual {p1, v1}, Ljava/lang/Class;->getAnnotation(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
move-result-object v1
check-cast v1, Lcom/alibaba/fastjson/annotation/d;
if-eqz v1, :cond_30
.line 4
invoke-interface {v1}, Lcom/alibaba/fastjson/annotation/d;->mappingTo()Ljava/lang/Class;
move-result-object v1
.line 5
const-class v2, Ljava/lang/Void;
if-eq v1, v2, :cond_30
.line 6
invoke-virtual {p0, v1, v1}, Lcom/alibaba/fastjson/parser/i;->b(Ljava/lang/Class;Ljava/lang/reflect/Type;)Lcom/alibaba/fastjson/parser/deserializer/r;
move-result-object p1
return-object p1
.line 7
:cond_30
instance-of v1, p2, Ljava/lang/reflect/WildcardType;
if-nez v1, :cond_3c
instance-of v1, p2, Ljava/lang/reflect/TypeVariable;
if-nez v1, :cond_3c
instance-of v1, p2, Ljava/lang/reflect/ParameterizedType;
if-eqz v1, :cond_44
.line 8
:cond_3c
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
invoke-virtual {v0, p1}, Lcom/alibaba/fastjson/util/f;->a(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/alibaba/fastjson/parser/deserializer/r;
:cond_44
if-eqz v0, :cond_47
return-object v0
.line 9
:cond_47
invoke-virtual {p1}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v1
const/16 v2, 0x24
const/16 v3, 0x2e
.line 10
invoke-virtual {v1, v2, v3}, Ljava/lang/String;->replace(CC)Ljava/lang/String;
move-result-object v1
const-string v2, "java.awt."
.line 11
invoke-virtual {v1, v2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v2
const/4 v3, 0x1
if-eqz v2, :cond_99
.line 12
invoke-static {p1}, Lcom/alibaba/fastjson/serializer/g;->j(Ljava/lang/Class;)Z
move-result v2
if-eqz v2, :cond_99
.line 13
sget-boolean v2, Lcom/alibaba/fastjson/parser/i;->l:Z
if-nez v2, :cond_99
.line 14
:try_start_66
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-string v2, "java.awt.Point"
invoke-static {v2}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v2
sget-object v4, Lcom/alibaba/fastjson/serializer/g;->a:Lcom/alibaba/fastjson/serializer/g;
invoke-virtual {v0, v2, v4}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 15
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-string v2, "java.awt.Font"
invoke-static {v2}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v2
invoke-virtual {v0, v2, v4}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 16
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-string v2, "java.awt.Rectangle"
invoke-static {v2}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v2
invoke-virtual {v0, v2, v4}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 17
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-string v2, "java.awt.Color"
invoke-static {v2}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v2
invoke-virtual {v0, v2, v4}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
:try_end_94
.catchall {:try_start_66 .. :try_end_94} :catchall_95
goto :goto_97
.line 18
:catchall_95
sput-boolean v3, Lcom/alibaba/fastjson/parser/i;->l:Z
.line 19
:goto_97
sget-object v0, Lcom/alibaba/fastjson/serializer/g;->a:Lcom/alibaba/fastjson/serializer/g;
.line 20
:cond_99
sget-boolean v2, Lcom/alibaba/fastjson/parser/i;->m:Z
if-nez v2, :cond_176
:try_start_9d
const-string v2, "java.time."
.line 21
invoke-virtual {v1, v2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v2
if-eqz v2, :cond_134
.line 22
iget-object v2, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-string v4, "java.time.LocalDateTime"
invoke-static {v4}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v4
sget-object v5, Lcom/alibaba/fastjson/parser/deserializer/o;->a:Lcom/alibaba/fastjson/parser/deserializer/o;
invoke-virtual {v2, v4, v5}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 23
iget-object v2, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-string v4, "java.time.LocalDate"
invoke-static {v4}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v4
invoke-virtual {v2, v4, v5}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 24
iget-object v2, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-string v4, "java.time.LocalTime"
invoke-static {v4}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v4
invoke-virtual {v2, v4, v5}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 25
iget-object v2, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-string v4, "java.time.ZonedDateTime"
invoke-static {v4}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v4
invoke-virtual {v2, v4, v5}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 26
iget-object v2, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-string v4, "java.time.OffsetDateTime"
invoke-static {v4}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v4
invoke-virtual {v2, v4, v5}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 27
iget-object v2, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-string v4, "java.time.OffsetTime"
invoke-static {v4}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v4
invoke-virtual {v2, v4, v5}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 28
iget-object v2, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-string v4, "java.time.ZoneOffset"
invoke-static {v4}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v4
invoke-virtual {v2, v4, v5}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 29
iget-object v2, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-string v4, "java.time.ZoneRegion"
invoke-static {v4}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v4
invoke-virtual {v2, v4, v5}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 30
iget-object v2, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-string v4, "java.time.ZoneId"
invoke-static {v4}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v4
invoke-virtual {v2, v4, v5}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 31
iget-object v2, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-string v4, "java.time.Period"
invoke-static {v4}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v4
invoke-virtual {v2, v4, v5}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 32
iget-object v2, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-string v4, "java.time.Duration"
invoke-static {v4}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v4
invoke-virtual {v2, v4, v5}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 33
iget-object v2, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-string v4, "java.time.Instant"
invoke-static {v4}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v4
invoke-virtual {v2, v4, v5}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 34
iget-object v2, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
invoke-virtual {v2, p1}, Lcom/alibaba/fastjson/util/f;->a(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/alibaba/fastjson/parser/deserializer/r;
goto :goto_172
:cond_134
const-string v2, "java.util.Optional"
.line 35
invoke-virtual {v1, v2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v2
if-eqz v2, :cond_176
.line 36
iget-object v2, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-string v4, "java.util.Optional"
invoke-static {v4}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v4
sget-object v5, Lcom/alibaba/fastjson/parser/deserializer/s;->a:Lcom/alibaba/fastjson/parser/deserializer/s;
invoke-virtual {v2, v4, v5}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 37
iget-object v2, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-string v4, "java.util.OptionalDouble"
invoke-static {v4}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v4
invoke-virtual {v2, v4, v5}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 38
iget-object v2, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-string v4, "java.util.OptionalInt"
invoke-static {v4}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v4
invoke-virtual {v2, v4, v5}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 39
iget-object v2, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
const-string v4, "java.util.OptionalLong"
invoke-static {v4}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v4
invoke-virtual {v2, v4, v5}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 40
iget-object v2, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
invoke-virtual {v2, p1}, Lcom/alibaba/fastjson/util/f;->a(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/alibaba/fastjson/parser/deserializer/r;
:try_end_172
.catchall {:try_start_9d .. :try_end_172} :catchall_174
:goto_172
move-object v0, v2
goto :goto_176
.line 41
:catchall_174
sput-boolean v3, Lcom/alibaba/fastjson/parser/i;->m:Z
:cond_176
:goto_176
const-string v2, "java.nio.file.Path"
.line 42
invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_185
.line 43
iget-object v1, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
sget-object v2, Lcom/alibaba/fastjson/serializer/l0;->a:Lcom/alibaba/fastjson/serializer/l0;
invoke-virtual {v1, p1, v2}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 44
:cond_185
const-class v1, Ljava/util/Map$Entry;
if-ne p1, v1, :cond_190
.line 45
iget-object v1, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
sget-object v2, Lcom/alibaba/fastjson/serializer/l0;->a:Lcom/alibaba/fastjson/serializer/l0;
invoke-virtual {v1, p1, v2}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 46
:cond_190
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Thread;->getContextClassLoader()Ljava/lang/ClassLoader;
move-result-object v1
.line 47
:try_start_198
const-class v2, Lcom/alibaba/fastjson/parser/deserializer/d;
invoke-static {v2, v1}, Lcom/alibaba/fastjson/util/i;->a(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/Set;
move-result-object v1
invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v1
:cond_1a2
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1c9
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/alibaba/fastjson/parser/deserializer/d;
.line 48
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/deserializer/d;->a()Ljava/util/Set;
move-result-object v3
invoke-interface {v3}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v3
:goto_1b6
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v4
if-eqz v4, :cond_1a2
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Ljava/lang/reflect/Type;
.line 49
iget-object v5, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
invoke-virtual {v5, v4, v2}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
:try_end_1c7
.catch Ljava/lang/Exception; {:try_start_198 .. :try_end_1c7} :catch_1c8
goto :goto_1b6
:catch_1c8
nop
:cond_1c9
if-nez v0, :cond_1d3
.line 50
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
invoke-virtual {v0, p2}, Lcom/alibaba/fastjson/util/f;->a(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/alibaba/fastjson/parser/deserializer/r;
:cond_1d3
if-eqz v0, :cond_1d6
return-object v0
.line 51
:cond_1d6
invoke-virtual {p1}, Ljava/lang/Class;->isEnum()Z
move-result v0
if-eqz v0, :cond_1e3
.line 52
new-instance v0, Lcom/alibaba/fastjson/parser/deserializer/g;
invoke-direct {v0, p1}, Lcom/alibaba/fastjson/parser/deserializer/g;-><init>(Ljava/lang/Class;)V
goto/16 :goto_37c
.line 53
:cond_1e3
invoke-virtual {p1}, Ljava/lang/Class;->isArray()Z
move-result v0
if-eqz v0, :cond_1ed
.line 54
sget-object v0, Lcom/alibaba/fastjson/serializer/n0;->a:Lcom/alibaba/fastjson/serializer/n0;
goto/16 :goto_37c
.line 55
:cond_1ed
const-class v0, Ljava/util/Set;
if-eq p1, v0, :cond_37a
const-class v0, Ljava/util/HashSet;
if-eq p1, v0, :cond_37a
const-class v0, Ljava/util/Collection;
if-eq p1, v0, :cond_37a
const-class v0, Ljava/util/List;
if-eq p1, v0, :cond_37a
const-class v0, Ljava/util/ArrayList;
if-ne p1, v0, :cond_203
goto/16 :goto_37a
.line 56
:cond_203
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_20f
.line 57
sget-object v0, Lcom/alibaba/fastjson/serializer/q;->a:Lcom/alibaba/fastjson/serializer/q;
goto/16 :goto_37c
.line 58
:cond_20f
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_21b
.line 59
sget-object v0, Lcom/alibaba/fastjson/parser/deserializer/p;->a:Lcom/alibaba/fastjson/parser/deserializer/p;
goto/16 :goto_37c
.line 60
:cond_21b
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_22a
.line 61
new-instance v0, Lcom/alibaba/fastjson/parser/deserializer/w;
invoke-direct {v0, p0, p1}, Lcom/alibaba/fastjson/parser/deserializer/w;-><init>(Lcom/alibaba/fastjson/parser/i;Ljava/lang/Class;)V
goto/16 :goto_37c
.line 62
:cond_22a
iget-boolean v0, p0, Lcom/alibaba/fastjson/parser/i;->b:Z
const/4 v1, 0x0
const/4 v2, 0x0
if-eqz v0, :cond_27a
.line 63
const-class v3, Lcom/alibaba/fastjson/annotation/d;
invoke-virtual {p1, v3}, Ljava/lang/Class;->getAnnotation(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
move-result-object v3
check-cast v3, Lcom/alibaba/fastjson/annotation/d;
if-eqz v3, :cond_252
.line 64
invoke-interface {v3}, Lcom/alibaba/fastjson/annotation/d;->deserializer()Ljava/lang/Class;
move-result-object v0
.line 65
const-class v4, Ljava/lang/Void;
if-eq v0, v4, :cond_24e
.line 66
:try_start_242
invoke-virtual {v0}, Ljava/lang/Class;->newInstance()Ljava/lang/Object;
move-result-object v0
.line 67
instance-of v4, v0, Lcom/alibaba/fastjson/parser/deserializer/r;
if-eqz v4, :cond_24e
.line 68
check-cast v0, Lcom/alibaba/fastjson/parser/deserializer/r;
:try_end_24c
.catchall {:try_start_242 .. :try_end_24c} :catchall_24e
goto/16 :goto_37c
.line 69
:catchall_24e
:cond_24e
invoke-interface {v3}, Lcom/alibaba/fastjson/annotation/d;->asm()Z
move-result v0
:cond_252
if-eqz v0, :cond_27a
if-nez v3, :cond_257
goto :goto_261
.line 70
:cond_257
invoke-interface {v3}, Lcom/alibaba/fastjson/annotation/d;->builder()Ljava/lang/Class;
move-result-object v3
.line 71
const-class v4, Ljava/lang/Void;
if-ne v3, v4, :cond_260
goto :goto_261
:cond_260
move-object v1, v3
:goto_261
if-nez v1, :cond_264
move-object v1, p1
.line 72
:cond_264
invoke-virtual {v1}, Ljava/lang/Class;->getModifiers()I
move-result v3
invoke-static {v3}, Ljava/lang/reflect/Modifier;->isPublic(I)Z
move-result v3
if-nez v3, :cond_270
const/4 v0, 0x0
goto :goto_27a
.line 73
:cond_270
invoke-virtual {v1}, Ljava/lang/Class;->getSuperclass()Ljava/lang/Class;
move-result-object v1
.line 74
const-class v3, Ljava/lang/Object;
if-eq v1, v3, :cond_27a
if-nez v1, :cond_264
.line 75
:cond_27a
:goto_27a
invoke-virtual {p1}, Ljava/lang/Class;->getTypeParameters()[Ljava/lang/reflect/TypeVariable;
move-result-object v1
array-length v1, v1
if-eqz v1, :cond_282
const/4 v0, 0x0
:cond_282
if-eqz v0, :cond_291
.line 76
iget-object v1, p0, Lcom/alibaba/fastjson/parser/i;->d:Lcom/alibaba/fastjson/parser/deserializer/a;
if-eqz v1, :cond_291
iget-object v1, v1, Lcom/alibaba/fastjson/parser/deserializer/a;->a:Lcom/alibaba/fastjson/util/a;
invoke-virtual {v1, p1}, Lcom/alibaba/fastjson/util/a;->b(Ljava/lang/Class;)Z
move-result v1
if-eqz v1, :cond_291
const/4 v0, 0x0
:cond_291
if-eqz v0, :cond_29b
.line 77
invoke-virtual {p1}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/alibaba/fastjson/util/b;->a(Ljava/lang/String;)Z
move-result v0
:cond_29b
if-eqz v0, :cond_335
.line 78
invoke-virtual {p1}, Ljava/lang/Class;->isInterface()Z
move-result v1
if-eqz v1, :cond_2a4
const/4 v0, 0x0
.line 79
:cond_2a4
invoke-static {p1, p2}, Lcom/alibaba/fastjson/util/g;->b(Ljava/lang/Class;Ljava/lang/reflect/Type;)Lcom/alibaba/fastjson/util/g;
move-result-object v1
if-eqz v0, :cond_2b2
.line 80
iget-object v3, v1, Lcom/alibaba/fastjson/util/g;->h:[Lcom/alibaba/fastjson/util/c;
array-length v3, v3
const/16 v4, 0xc8
if-le v3, v4, :cond_2b2
const/4 v0, 0x0
.line 81
:cond_2b2
iget-object v3, v1, Lcom/alibaba/fastjson/util/g;->c:Ljava/lang/reflect/Constructor;
if-eqz v0, :cond_2bf
if-nez v3, :cond_2bf
.line 82
invoke-virtual {p1}, Ljava/lang/Class;->isInterface()Z
move-result v3
if-nez v3, :cond_2bf
const/4 v0, 0x0
.line 83
:cond_2bf
iget-object v1, v1, Lcom/alibaba/fastjson/util/g;->h:[Lcom/alibaba/fastjson/util/c;
array-length v3, v1
const/4 v4, 0x0
:goto_2c3
if-ge v4, v3, :cond_335
aget-object v5, v1, v4
.line 84
iget-boolean v6, v5, Lcom/alibaba/fastjson/util/c;->h:Z
if-eqz v6, :cond_2cc
goto :goto_330
.line 85
:cond_2cc
iget-object v6, v5, Lcom/alibaba/fastjson/util/c;->e:Ljava/lang/Class;
.line 86
invoke-virtual {v6}, Ljava/lang/Class;->getModifiers()I
move-result v7
invoke-static {v7}, Ljava/lang/reflect/Modifier;->isPublic(I)Z
move-result v7
if-nez v7, :cond_2d9
goto :goto_330
.line 87
:cond_2d9
invoke-virtual {v6}, Ljava/lang/Class;->isMemberClass()Z
move-result v7
if-eqz v7, :cond_2ea
invoke-virtual {v6}, Ljava/lang/Class;->getModifiers()I
move-result v7
invoke-static {v7}, Ljava/lang/reflect/Modifier;->isStatic(I)Z
move-result v7
if-nez v7, :cond_2ea
goto :goto_330
.line 88
:cond_2ea
invoke-virtual {v5}, Lcom/alibaba/fastjson/util/c;->f()Ljava/lang/reflect/Member;
move-result-object v7
if-eqz v7, :cond_2ff
.line 89
invoke-virtual {v5}, Lcom/alibaba/fastjson/util/c;->f()Ljava/lang/reflect/Member;
move-result-object v7
invoke-interface {v7}, Ljava/lang/reflect/Member;->getName()Ljava/lang/String;
move-result-object v7
invoke-static {v7}, Lcom/alibaba/fastjson/util/b;->a(Ljava/lang/String;)Z
move-result v7
if-nez v7, :cond_2ff
goto :goto_330
.line 90
:cond_2ff
invoke-virtual {v5}, Lcom/alibaba/fastjson/util/c;->d()Lcom/alibaba/fastjson/annotation/b;
move-result-object v5
if-eqz v5, :cond_322
.line 91
invoke-interface {v5}, Lcom/alibaba/fastjson/annotation/b;->name()Ljava/lang/String;
move-result-object v7
invoke-static {v7}, Lcom/alibaba/fastjson/util/b;->a(Ljava/lang/String;)Z
move-result v7
if-eqz v7, :cond_330
.line 92
invoke-interface {v5}, Lcom/alibaba/fastjson/annotation/b;->format()Ljava/lang/String;
move-result-object v7
invoke-virtual {v7}, Ljava/lang/String;->length()I
move-result v7
if-nez v7, :cond_330
.line 93
invoke-interface {v5}, Lcom/alibaba/fastjson/annotation/b;->deserializeUsing()Ljava/lang/Class;
move-result-object v5
const-class v7, Ljava/lang/Void;
if-eq v5, v7, :cond_322
goto :goto_330
.line 94
:cond_322
invoke-virtual {v6}, Ljava/lang/Class;->isEnum()Z
move-result v5
if-eqz v5, :cond_332
.line 95
invoke-virtual {p0, v6}, Lcom/alibaba/fastjson/parser/i;->c(Ljava/lang/reflect/Type;)Lcom/alibaba/fastjson/parser/deserializer/r;
move-result-object v5
.line 96
instance-of v5, v5, Lcom/alibaba/fastjson/parser/deserializer/g;
if-nez v5, :cond_332
:cond_330
:goto_330
const/4 v0, 0x0
goto :goto_335
:cond_332
add-int/lit8 v4, v4, 0x1
goto :goto_2c3
:cond_335
:goto_335
if-eqz v0, :cond_348
.line 97
invoke-virtual {p1}, Ljava/lang/Class;->isMemberClass()Z
move-result v1
if-eqz v1, :cond_348
invoke-virtual {p1}, Ljava/lang/Class;->getModifiers()I
move-result v1
invoke-static {v1}, Ljava/lang/reflect/Modifier;->isStatic(I)Z
move-result v1
if-nez v1, :cond_348
goto :goto_349
:cond_348
move v2, v0
:goto_349
if-nez v2, :cond_351
.line 98
new-instance v0, Lcom/alibaba/fastjson/parser/deserializer/m;
invoke-direct {v0, p0, p1, p2}, Lcom/alibaba/fastjson/parser/deserializer/m;-><init>(Lcom/alibaba/fastjson/parser/i;Ljava/lang/Class;Ljava/lang/reflect/Type;)V
goto :goto_37c
.line 99
:cond_351
invoke-static {p1, p2}, Lcom/alibaba/fastjson/util/g;->b(Ljava/lang/Class;Ljava/lang/reflect/Type;)Lcom/alibaba/fastjson/util/g;
move-result-object v0
.line 100
:try_start_355
iget-object v1, p0, Lcom/alibaba/fastjson/parser/i;->d:Lcom/alibaba/fastjson/parser/deserializer/a;
invoke-virtual {v1, p0, v0}, Lcom/alibaba/fastjson/parser/deserializer/a;->n(Lcom/alibaba/fastjson/parser/i;Lcom/alibaba/fastjson/util/g;)Lcom/alibaba/fastjson/parser/deserializer/r;
move-result-object p1
:try_end_35b
.catch Ljava/lang/NoSuchMethodException; {:try_start_355 .. :try_end_35b} :catch_374
.catch Lcom/alibaba/fastjson/d; {:try_start_355 .. :try_end_35b} :catch_36d
.catch Ljava/lang/Exception; {:try_start_355 .. :try_end_35b} :catch_35c
goto :goto_372
:catch_35c
move-exception p2
.line 101
new-instance v0, Lcom/alibaba/fastjson/d;
const-string v1, "create asm deserializer error, "
.line 102
invoke-static {v1}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
.line 103
invoke-static {p1, v1}, Landroidx/appcompat/view/f;->c(Ljava/lang/Class;Ljava/lang/StringBuilder;)Ljava/lang/String;
move-result-object p1
.line 104
invoke-direct {v0, p1, p2}, Lcom/alibaba/fastjson/d;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v0
.line 105
:catch_36d
new-instance p1, Lcom/alibaba/fastjson/parser/deserializer/m;
invoke-direct {p1, p0, v0}, Lcom/alibaba/fastjson/parser/deserializer/m;-><init>(Lcom/alibaba/fastjson/parser/i;Lcom/alibaba/fastjson/util/g;)V
:goto_372
move-object v0, p1
goto :goto_37c
.line 106
:catch_374
new-instance v0, Lcom/alibaba/fastjson/parser/deserializer/m;
invoke-direct {v0, p0, p1, p2}, Lcom/alibaba/fastjson/parser/deserializer/m;-><init>(Lcom/alibaba/fastjson/parser/i;Ljava/lang/Class;Ljava/lang/reflect/Type;)V
goto :goto_37c
.line 107
:cond_37a
:goto_37a
sget-object v0, Lcom/alibaba/fastjson/serializer/q;->a:Lcom/alibaba/fastjson/serializer/q;
.line 108
:goto_37c
iget-object p1, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
invoke-virtual {p1, p2, v0}, Lcom/alibaba/fastjson/util/f;->b(Ljava/lang/Object;Ljava/lang/Object;)Z
return-object v0
.end method
.method public final c(Ljava/lang/reflect/Type;)Lcom/alibaba/fastjson/parser/deserializer/r;
.registers 4
.line 1
iget-object v0, p0, Lcom/alibaba/fastjson/parser/i;->a:Lcom/alibaba/fastjson/util/f;
invoke-virtual {v0, p1}, Lcom/alibaba/fastjson/util/f;->a(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/alibaba/fastjson/parser/deserializer/r;
if-eqz v0, :cond_b
return-object v0
.line 2
:cond_b
instance-of v0, p1, Ljava/lang/Class;
if-eqz v0, :cond_17
.line 3
move-object v0, p1
check-cast v0, Ljava/lang/Class;
invoke-virtual {p0, v0, p1}, Lcom/alibaba/fastjson/parser/i;->b(Ljava/lang/Class;Ljava/lang/reflect/Type;)Lcom/alibaba/fastjson/parser/deserializer/r;
move-result-object p1
return-object p1
.line 4
:cond_17
instance-of v0, p1, Ljava/lang/reflect/ParameterizedType;
if-eqz v0, :cond_32
.line 5
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
.line 6
instance-of v1, v0, Ljava/lang/Class;
if-eqz v1, :cond_2d
.line 7
check-cast v0, Ljava/lang/Class;
invoke-virtual {p0, v0, p1}, Lcom/alibaba/fastjson/parser/i;->b(Ljava/lang/Class;Ljava/lang/reflect/Type;)Lcom/alibaba/fastjson/parser/deserializer/r;
move-result-object p1
return-object p1
.line 8
:cond_2d
invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/i;->c(Ljava/lang/reflect/Type;)Lcom/alibaba/fastjson/parser/deserializer/r;
move-result-object p1
return-object p1
.line 9
:cond_32
sget-object p1, Lcom/alibaba/fastjson/parser/deserializer/n;->a:Lcom/alibaba/fastjson/parser/deserializer/n;
return-object p1
.end method