JSON.smali
.class public abstract Lcom/alibaba/fastjson/JSON;
.super Ljava/lang/Object;
.source "JSON.java"
# interfaces
.implements Lcom/alibaba/fastjson/JSONStreamAware;
.implements Lcom/alibaba/fastjson/JSONAware;
# static fields
.field public static DEFAULT_GENERATE_FEATURE:I = 0x0
.field public static DEFAULT_PARSER_FEATURE:I = 0x0
.field public static DEFAULT_TYPE_KEY:Ljava/lang/String; = null
.field public static DEFFAULT_DATE_FORMAT:Ljava/lang/String; = null
.field public static final VERSION:Ljava/lang/String; = "1.2.83"
.field private static final bytesLocal:Ljava/lang/ThreadLocal;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/ThreadLocal<",
"[B>;"
}
.end annotation
.end field
.field private static final charsLocal:Ljava/lang/ThreadLocal;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/ThreadLocal<",
"[C>;"
}
.end annotation
.end field
.field public static defaultLocale:Ljava/util/Locale;
.field public static defaultTimeZone:Ljava/util/TimeZone;
.field static final emptyFilters:[Lcom/alibaba/fastjson/serializer/SerializeFilter;
.field private static final mixInsMapper:Ljava/util/concurrent/ConcurrentHashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/ConcurrentHashMap<",
"Ljava/lang/reflect/Type;",
"Ljava/lang/reflect/Type;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 3
.line 66
invoke-static {}, Ljava/util/TimeZone;->getDefault()Ljava/util/TimeZone;
move-result-object v0
sput-object v0, Lcom/alibaba/fastjson/JSON;->defaultTimeZone:Ljava/util/TimeZone;
.line 67
invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale;
move-result-object v0
sput-object v0, Lcom/alibaba/fastjson/JSON;->defaultLocale:Ljava/util/Locale;
const-string v0, "@type"
.line 68
sput-object v0, Lcom/alibaba/fastjson/JSON;->DEFAULT_TYPE_KEY:Ljava/lang/String;
const/4 v0, 0x0
new-array v1, v0, [Lcom/alibaba/fastjson/serializer/SerializeFilter;
.line 69
sput-object v1, Lcom/alibaba/fastjson/JSON;->emptyFilters:[Lcom/alibaba/fastjson/serializer/SerializeFilter;
const-string/jumbo v1, "yyyy-MM-dd HH:mm:ss"
.line 70
sput-object v1, Lcom/alibaba/fastjson/JSON;->DEFFAULT_DATE_FORMAT:Ljava/lang/String;
.line 74
new-instance v1, Ljava/util/concurrent/ConcurrentHashMap;
const/16 v2, 0x10
invoke-direct {v1, v2}, Ljava/util/concurrent/ConcurrentHashMap;-><init>(I)V
sput-object v1, Lcom/alibaba/fastjson/JSON;->mixInsMapper:Ljava/util/concurrent/ConcurrentHashMap;
.line 78
sget-object v1, Lcom/alibaba/fastjson/parser/Feature;->AutoCloseSource:Lcom/alibaba/fastjson/parser/Feature;
invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/Feature;->getMask()I
move-result v1
or-int/2addr v1, v0
.line 79
sget-object v2, Lcom/alibaba/fastjson/parser/Feature;->InternFieldNames:Lcom/alibaba/fastjson/parser/Feature;
invoke-virtual {v2}, Lcom/alibaba/fastjson/parser/Feature;->getMask()I
move-result v2
or-int/2addr v1, v2
.line 80
sget-object v2, Lcom/alibaba/fastjson/parser/Feature;->UseBigDecimal:Lcom/alibaba/fastjson/parser/Feature;
invoke-virtual {v2}, Lcom/alibaba/fastjson/parser/Feature;->getMask()I
move-result v2
or-int/2addr v1, v2
.line 81
sget-object v2, Lcom/alibaba/fastjson/parser/Feature;->AllowUnQuotedFieldNames:Lcom/alibaba/fastjson/parser/Feature;
invoke-virtual {v2}, Lcom/alibaba/fastjson/parser/Feature;->getMask()I
move-result v2
or-int/2addr v1, v2
.line 82
sget-object v2, Lcom/alibaba/fastjson/parser/Feature;->AllowSingleQuotes:Lcom/alibaba/fastjson/parser/Feature;
invoke-virtual {v2}, Lcom/alibaba/fastjson/parser/Feature;->getMask()I
move-result v2
or-int/2addr v1, v2
.line 83
sget-object v2, Lcom/alibaba/fastjson/parser/Feature;->AllowArbitraryCommas:Lcom/alibaba/fastjson/parser/Feature;
invoke-virtual {v2}, Lcom/alibaba/fastjson/parser/Feature;->getMask()I
move-result v2
or-int/2addr v1, v2
.line 84
sget-object v2, Lcom/alibaba/fastjson/parser/Feature;->SortFeidFastMatch:Lcom/alibaba/fastjson/parser/Feature;
invoke-virtual {v2}, Lcom/alibaba/fastjson/parser/Feature;->getMask()I
move-result v2
or-int/2addr v1, v2
.line 85
sget-object v2, Lcom/alibaba/fastjson/parser/Feature;->IgnoreNotMatch:Lcom/alibaba/fastjson/parser/Feature;
invoke-virtual {v2}, Lcom/alibaba/fastjson/parser/Feature;->getMask()I
move-result v2
or-int/2addr v1, v2
.line 86
sput v1, Lcom/alibaba/fastjson/JSON;->DEFAULT_PARSER_FEATURE:I
.line 91
sget-object v1, Lcom/alibaba/fastjson/serializer/SerializerFeature;->QuoteFieldNames:Lcom/alibaba/fastjson/serializer/SerializerFeature;
invoke-virtual {v1}, Lcom/alibaba/fastjson/serializer/SerializerFeature;->getMask()I
move-result v1
or-int/2addr v0, v1
.line 92
sget-object v1, Lcom/alibaba/fastjson/serializer/SerializerFeature;->SkipTransientField:Lcom/alibaba/fastjson/serializer/SerializerFeature;
invoke-virtual {v1}, Lcom/alibaba/fastjson/serializer/SerializerFeature;->getMask()I
move-result v1
or-int/2addr v0, v1
.line 93
sget-object v1, Lcom/alibaba/fastjson/serializer/SerializerFeature;->WriteEnumUsingName:Lcom/alibaba/fastjson/serializer/SerializerFeature;
invoke-virtual {v1}, Lcom/alibaba/fastjson/serializer/SerializerFeature;->getMask()I
move-result v1
or-int/2addr v0, v1
.line 94
sget-object v1, Lcom/alibaba/fastjson/serializer/SerializerFeature;->SortField:Lcom/alibaba/fastjson/serializer/SerializerFeature;
invoke-virtual {v1}, Lcom/alibaba/fastjson/serializer/SerializerFeature;->getMask()I
move-result v1
or-int/2addr v0, v1
.line 96
sput v0, Lcom/alibaba/fastjson/JSON;->DEFAULT_GENERATE_FEATURE:I
.line 98
sget-object v0, Lcom/alibaba/fastjson/util/IOUtils;->DEFAULT_PROPERTIES:Ljava/util/Properties;
invoke-static {v0}, Lcom/alibaba/fastjson/JSON;->config(Ljava/util/Properties;)V
.line 1265
new-instance v0, Ljava/lang/ThreadLocal;
invoke-direct {v0}, Ljava/lang/ThreadLocal;-><init>()V
sput-object v0, Lcom/alibaba/fastjson/JSON;->bytesLocal:Ljava/lang/ThreadLocal;
.line 1283
new-instance v0, Ljava/lang/ThreadLocal;
invoke-direct {v0}, Ljava/lang/ThreadLocal;-><init>()V
sput-object v0, Lcom/alibaba/fastjson/JSON;->charsLocal:Ljava/lang/ThreadLocal;
return-void
.end method
.method public constructor <init>()V
.registers 1
.line 65
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static addMixInAnnotations(Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;)V
.registers 3
if-eqz p0, :cond_9
if-eqz p1, :cond_9
.line 1403
sget-object v0, Lcom/alibaba/fastjson/JSON;->mixInsMapper:Ljava/util/concurrent/ConcurrentHashMap;
invoke-virtual {v0, p0, p1}, Ljava/util/concurrent/ConcurrentHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_9
return-void
.end method
.method private static allocateBytes(I)[B
.registers 3
.line 1267
sget-object v0, Lcom/alibaba/fastjson/JSON;->bytesLocal:Ljava/lang/ThreadLocal;
invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;
move-result-object v1
check-cast v1, [B
if-nez v1, :cond_17
const/high16 v1, 0x10000
if-gt p0, v1, :cond_14
new-array v1, v1, [B
.line 1272
invoke-virtual {v0, v1}, Ljava/lang/ThreadLocal;->set(Ljava/lang/Object;)V
goto :goto_1c
.line 1274
:cond_14
new-array v1, p0, [B
goto :goto_1c
.line 1276
:cond_17
array-length v0, v1
if-ge v0, p0, :cond_1c
.line 1277
new-array v1, p0, [B
:cond_1c
:goto_1c
return-object v1
.end method
.method private static allocateChars(I)[C
.registers 3
.line 1285
sget-object v0, Lcom/alibaba/fastjson/JSON;->charsLocal:Ljava/lang/ThreadLocal;
invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;
move-result-object v1
check-cast v1, [C
if-nez v1, :cond_17
const/high16 v1, 0x10000
if-gt p0, v1, :cond_14
new-array v1, v1, [C
.line 1290
invoke-virtual {v0, v1}, Ljava/lang/ThreadLocal;->set(Ljava/lang/Object;)V
goto :goto_1c
.line 1292
:cond_14
new-array v1, p0, [C
goto :goto_1c
.line 1294
:cond_17
array-length v0, v1
if-ge v0, p0, :cond_1c
.line 1295
new-array v1, p0, [C
:cond_1c
:goto_1c
return-object v1
.end method
.method public static clearMixInAnnotations()V
.registers 1
.line 1414
sget-object v0, Lcom/alibaba/fastjson/JSON;->mixInsMapper:Ljava/util/concurrent/ConcurrentHashMap;
invoke-virtual {v0}, Ljava/util/concurrent/ConcurrentHashMap;->clear()V
return-void
.end method
.method private static config(Ljava/util/Properties;)V
.registers 6
const-string v0, "fastjson.serializerFeatures.MapSortField"
.line 103
invoke-virtual {p0, v0}, Ljava/util/Properties;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 104
sget-object v1, Lcom/alibaba/fastjson/serializer/SerializerFeature;->MapSortField:Lcom/alibaba/fastjson/serializer/SerializerFeature;
invoke-virtual {v1}, Lcom/alibaba/fastjson/serializer/SerializerFeature;->getMask()I
move-result v1
const-string v2, "true"
.line 105
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
const-string v4, "false"
if-eqz v3, :cond_1c
.line 106
sget v0, Lcom/alibaba/fastjson/JSON;->DEFAULT_GENERATE_FEATURE:I
or-int/2addr v0, v1
sput v0, Lcom/alibaba/fastjson/JSON;->DEFAULT_GENERATE_FEATURE:I
goto :goto_28
.line 107
:cond_1c
invoke-virtual {v4, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_28
.line 108
sget v0, Lcom/alibaba/fastjson/JSON;->DEFAULT_GENERATE_FEATURE:I
not-int v1, v1
and-int/2addr v0, v1
sput v0, Lcom/alibaba/fastjson/JSON;->DEFAULT_GENERATE_FEATURE:I
:cond_28
:goto_28
const-string v0, "parser.features.NonStringKeyAsString"
.line 113
invoke-virtual {p0, v0}, Ljava/util/Properties;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_3f
.line 114
sget v0, Lcom/alibaba/fastjson/JSON;->DEFAULT_PARSER_FEATURE:I
sget-object v1, Lcom/alibaba/fastjson/parser/Feature;->NonStringKeyAsString:Lcom/alibaba/fastjson/parser/Feature;
invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/Feature;->getMask()I
move-result v1
or-int/2addr v0, v1
sput v0, Lcom/alibaba/fastjson/JSON;->DEFAULT_PARSER_FEATURE:I
:cond_3f
const-string v0, "parser.features.ErrorOnEnumNotMatch"
.line 119
invoke-virtual {p0, v0}, Ljava/util/Properties;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_57
const-string v0, "fastjson.parser.features.ErrorOnEnumNotMatch"
.line 120
invoke-virtual {p0, v0}, Ljava/util/Properties;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_62
.line 122
:cond_57
sget v0, Lcom/alibaba/fastjson/JSON;->DEFAULT_PARSER_FEATURE:I
sget-object v1, Lcom/alibaba/fastjson/parser/Feature;->ErrorOnEnumNotMatch:Lcom/alibaba/fastjson/parser/Feature;
invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/Feature;->getMask()I
move-result v1
or-int/2addr v0, v1
sput v0, Lcom/alibaba/fastjson/JSON;->DEFAULT_PARSER_FEATURE:I
:cond_62
const-string v0, "fastjson.asmEnable"
.line 127
invoke-virtual {p0, v0}, Ljava/util/Properties;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
invoke-virtual {v4, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_79
.line 128
sget-object p0, Lcom/alibaba/fastjson/parser/ParserConfig;->global:Lcom/alibaba/fastjson/parser/ParserConfig;
const/4 v0, 0x0
invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/parser/ParserConfig;->setAsmEnable(Z)V
.line 129
sget-object p0, Lcom/alibaba/fastjson/serializer/SerializeConfig;->globalInstance:Lcom/alibaba/fastjson/serializer/SerializeConfig;
invoke-virtual {p0, v0}, Lcom/alibaba/fastjson/serializer/SerializeConfig;->setAsmEnable(Z)V
:cond_79
return-void
.end method
.method public static getMixInAnnotations(Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
.registers 2
if-eqz p0, :cond_b
.line 1419
sget-object v0, Lcom/alibaba/fastjson/JSON;->mixInsMapper:Ljava/util/concurrent/ConcurrentHashMap;
invoke-virtual {v0, p0}, Ljava/util/concurrent/ConcurrentHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Ljava/lang/reflect/Type;
return-object p0
:cond_b
const/4 p0, 0x0
return-object p0
.end method
.method public static handleResovleTask(Lcom/alibaba/fastjson/parser/DefaultJSONParser;Ljava/lang/Object;)V
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lcom/alibaba/fastjson/parser/DefaultJSONParser;",
"TT;)V"
}
.end annotation
.line 1398
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->handleResovleTask(Ljava/lang/Object;)V
return-void
.end method
.method public static isValid(Ljava/lang/String;)Z
.registers 5
const/4 v0, 0x0
if-eqz p0, :cond_52
.line 1305
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v1
if-nez v1, :cond_a
goto :goto_52
.line 1309
:cond_a
new-instance v1, Lcom/alibaba/fastjson/parser/JSONScanner;
invoke-direct {v1, p0}, Lcom/alibaba/fastjson/parser/JSONScanner;-><init>(Ljava/lang/String;)V
.line 1311
:try_start_f
invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/JSONScanner;->nextToken()V
.line 1313
invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/JSONScanner;->token()I
move-result p0
:try_end_16
.catch Ljava/lang/Exception; {:try_start_f .. :try_end_16} :catch_4f
.catchall {:try_start_f .. :try_end_16} :catchall_4a
const/16 v2, 0xc
const/4 v3, 0x1
if-eq p0, v2, :cond_2e
const/16 v2, 0xe
if-eq p0, v2, :cond_2a
packed-switch p0, :pswitch_data_54
.line 1341
invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/JSONScanner;->close()V
return v0
.line 1331
:pswitch_26
:try_start_26
invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/JSONScanner;->nextToken()V
goto :goto_3d
.line 1322
:cond_2a
invoke-virtual {v1, v3}, Lcom/alibaba/fastjson/parser/JSONScanner;->skipArray(Z)V
goto :goto_3d
.line 1316
:cond_2e
invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/JSONScanner;->getCurrent()C
move-result p0
:try_end_32
.catch Ljava/lang/Exception; {:try_start_26 .. :try_end_32} :catch_4f
.catchall {:try_start_26 .. :try_end_32} :catchall_4a
const/16 v2, 0x1a
if-ne p0, v2, :cond_3a
.line 1341
invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/JSONScanner;->close()V
return v0
.line 1319
:cond_3a
:try_start_3a
invoke-virtual {v1, v3}, Lcom/alibaba/fastjson/parser/JSONScanner;->skipObject(Z)V
.line 1337
:goto_3d
invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/JSONScanner;->token()I
move-result p0
:try_end_41
.catch Ljava/lang/Exception; {:try_start_3a .. :try_end_41} :catch_4f
.catchall {:try_start_3a .. :try_end_41} :catchall_4a
const/16 v2, 0x14
if-ne p0, v2, :cond_46
move v0, v3
.line 1341
:cond_46
invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/JSONScanner;->close()V
return v0
:catchall_4a
move-exception p0
invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/JSONScanner;->close()V
.line 1342
throw p0
.line 1341
:catch_4f
invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/JSONScanner;->close()V
:cond_52
:goto_52
return v0
nop
:pswitch_data_54
.packed-switch 0x2
:pswitch_26
:pswitch_26
:pswitch_26
:pswitch_26
:pswitch_26
:pswitch_26
:pswitch_26
.end packed-switch
.end method
.method public static isValidArray(Ljava/lang/String;)Z
.registers 5
const/4 v0, 0x0
if-eqz p0, :cond_37
.line 1377
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v1
if-nez v1, :cond_a
goto :goto_37
.line 1381
:cond_a
new-instance v1, Lcom/alibaba/fastjson/parser/JSONScanner;
invoke-direct {v1, p0}, Lcom/alibaba/fastjson/parser/JSONScanner;-><init>(Ljava/lang/String;)V
.line 1383
:try_start_f
invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/JSONScanner;->nextToken()V
.line 1384
invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/JSONScanner;->token()I
move-result p0
const/16 v2, 0xe
if-ne p0, v2, :cond_2b
const/4 p0, 0x1
.line 1386
invoke-virtual {v1, p0}, Lcom/alibaba/fastjson/parser/JSONScanner;->skipArray(Z)V
.line 1387
invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/JSONScanner;->token()I
move-result v2
:try_end_22
.catch Ljava/lang/Exception; {:try_start_f .. :try_end_22} :catch_34
.catchall {:try_start_f .. :try_end_22} :catchall_2f
const/16 v3, 0x14
if-ne v2, v3, :cond_27
move v0, p0
.line 1393
:cond_27
invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/JSONScanner;->close()V
return v0
:cond_2b
invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/JSONScanner;->close()V
return v0
:catchall_2f
move-exception p0
invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/JSONScanner;->close()V
.line 1394
throw p0
.line 1393
:catch_34
invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/JSONScanner;->close()V
:cond_37
:goto_37
return v0
.end method
.method public static isValidObject(Ljava/lang/String;)Z
.registers 5
const/4 v0, 0x0
if-eqz p0, :cond_43
.line 1349
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v1
if-nez v1, :cond_a
goto :goto_43
.line 1353
:cond_a
new-instance v1, Lcom/alibaba/fastjson/parser/JSONScanner;
invoke-direct {v1, p0}, Lcom/alibaba/fastjson/parser/JSONScanner;-><init>(Ljava/lang/String;)V
.line 1356
:try_start_f
invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/JSONScanner;->nextToken()V
.line 1357
invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/JSONScanner;->token()I
move-result p0
const/16 v2, 0xc
if-ne p0, v2, :cond_37
.line 1359
invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/JSONScanner;->getCurrent()C
move-result p0
:try_end_1e
.catch Ljava/lang/Exception; {:try_start_f .. :try_end_1e} :catch_40
.catchall {:try_start_f .. :try_end_1e} :catchall_3b
const/16 v2, 0x1a
if-ne p0, v2, :cond_26
.line 1369
invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/JSONScanner;->close()V
return v0
:cond_26
const/4 p0, 0x1
.line 1362
:try_start_27
invoke-virtual {v1, p0}, Lcom/alibaba/fastjson/parser/JSONScanner;->skipObject(Z)V
.line 1363
invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/JSONScanner;->token()I
move-result v2
:try_end_2e
.catch Ljava/lang/Exception; {:try_start_27 .. :try_end_2e} :catch_40
.catchall {:try_start_27 .. :try_end_2e} :catchall_3b
const/16 v3, 0x14
if-ne v2, v3, :cond_33
move v0, p0
.line 1369
:cond_33
invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/JSONScanner;->close()V
return v0
:cond_37
invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/JSONScanner;->close()V
return v0
:catchall_3b
move-exception p0
invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/JSONScanner;->close()V
.line 1370
throw p0
.line 1369
:catch_40
invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/JSONScanner;->close()V
:cond_43
:goto_43
return v0
.end method
.method public static parse(Ljava/lang/String;)Ljava/lang/Object;
.registers 2
.line 147
sget v0, Lcom/alibaba/fastjson/JSON;->DEFAULT_PARSER_FEATURE:I
invoke-static {p0, v0}, Lcom/alibaba/fastjson/JSON;->parse(Ljava/lang/String;I)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method public static parse(Ljava/lang/String;I)Ljava/lang/Object;
.registers 3
.line 191
invoke-static {}, Lcom/alibaba/fastjson/parser/ParserConfig;->getGlobalInstance()Lcom/alibaba/fastjson/parser/ParserConfig;
move-result-object v0
invoke-static {p0, v0, p1}, Lcom/alibaba/fastjson/JSON;->parse(Ljava/lang/String;Lcom/alibaba/fastjson/parser/ParserConfig;I)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method public static parse(Ljava/lang/String;Lcom/alibaba/fastjson/parser/ParserConfig;)Ljava/lang/Object;
.registers 3
.line 155
sget v0, Lcom/alibaba/fastjson/JSON;->DEFAULT_PARSER_FEATURE:I
invoke-static {p0, p1, v0}, Lcom/alibaba/fastjson/JSON;->parse(Ljava/lang/String;Lcom/alibaba/fastjson/parser/ParserConfig;I)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method public static parse(Ljava/lang/String;Lcom/alibaba/fastjson/parser/ParserConfig;I)Ljava/lang/Object;
.registers 4
if-nez p0, :cond_4
const/4 p0, 0x0
return-object p0
.line 180
:cond_4
new-instance v0, Lcom/alibaba/fastjson/parser/DefaultJSONParser;
invoke-direct {v0, p0, p1, p2}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;-><init>(Ljava/lang/String;Lcom/alibaba/fastjson/parser/ParserConfig;I)V
.line 181
invoke-virtual {v0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->parse()Ljava/lang/Object;
move-result-object p0
.line 183
invoke-virtual {v0, p0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->handleResovleTask(Ljava/lang/Object;)V
.line 185
invoke-virtual {v0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->close()V
return-object p0
.end method
.method public static varargs parse(Ljava/lang/String;Lcom/alibaba/fastjson/parser/ParserConfig;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
.registers 8
.line 163
sget v0, Lcom/alibaba/fastjson/JSON;->DEFAULT_PARSER_FEATURE:I
.line 164
array-length v1, p2
const/4 v2, 0x0
:goto_4
if-ge v2, v1, :cond_10
aget-object v3, p2, v2
const/4 v4, 0x1
.line 165
invoke-static {v0, v3, v4}, Lcom/alibaba/fastjson/parser/Feature;->config(ILcom/alibaba/fastjson/parser/Feature;Z)I
move-result v0
add-int/lit8 v2, v2, 0x1
goto :goto_4
.line 168
:cond_10
invoke-static {p0, p1, v0}, Lcom/alibaba/fastjson/JSON;->parse(Ljava/lang/String;Lcom/alibaba/fastjson/parser/ParserConfig;I)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method public static varargs parse(Ljava/lang/String;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
.registers 7
.line 239
sget v0, Lcom/alibaba/fastjson/JSON;->DEFAULT_PARSER_FEATURE:I
.line 240
array-length v1, p1
const/4 v2, 0x0
:goto_4
if-ge v2, v1, :cond_10
aget-object v3, p1, v2
const/4 v4, 0x1
.line 241
invoke-static {v0, v3, v4}, Lcom/alibaba/fastjson/parser/Feature;->config(ILcom/alibaba/fastjson/parser/Feature;Z)I
move-result v0
add-int/lit8 v2, v2, 0x1
goto :goto_4
.line 244
:cond_10
invoke-static {p0, v0}, Lcom/alibaba/fastjson/JSON;->parse(Ljava/lang/String;I)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method public static parse([BIILjava/nio/charset/CharsetDecoder;I)Ljava/lang/Object;
.registers 9
.line 217
invoke-virtual {p3}, Ljava/nio/charset/CharsetDecoder;->reset()Ljava/nio/charset/CharsetDecoder;
int-to-double v0, p2
.line 219
invoke-virtual {p3}, Ljava/nio/charset/CharsetDecoder;->maxCharsPerByte()F
move-result v2
float-to-double v2, v2
mul-double/2addr v0, v2
double-to-int v0, v0
.line 220
invoke-static {v0}, Lcom/alibaba/fastjson/JSON;->allocateChars(I)[C
move-result-object v0
.line 222
invoke-static {p0, p1, p2}, Ljava/nio/ByteBuffer;->wrap([BII)Ljava/nio/ByteBuffer;
move-result-object p0
.line 223
invoke-static {v0}, Ljava/nio/CharBuffer;->wrap([C)Ljava/nio/CharBuffer;
move-result-object p1
.line 224
invoke-static {p3, p0, p1}, Lcom/alibaba/fastjson/util/IOUtils;->decode(Ljava/nio/charset/CharsetDecoder;Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)V
.line 226
invoke-virtual {p1}, Ljava/nio/CharBuffer;->position()I
move-result p0
.line 228
new-instance p1, Lcom/alibaba/fastjson/parser/DefaultJSONParser;
invoke-static {}, Lcom/alibaba/fastjson/parser/ParserConfig;->getGlobalInstance()Lcom/alibaba/fastjson/parser/ParserConfig;
move-result-object p2
invoke-direct {p1, v0, p0, p2, p4}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;-><init>([CILcom/alibaba/fastjson/parser/ParserConfig;I)V
.line 229
invoke-virtual {p1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->parse()Ljava/lang/Object;
move-result-object p0
.line 231
invoke-virtual {p1, p0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->handleResovleTask(Ljava/lang/Object;)V
.line 233
invoke-virtual {p1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->close()V
return-object p0
.end method
.method public static varargs parse([BIILjava/nio/charset/CharsetDecoder;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
.registers 10
if-eqz p0, :cond_1b
.line 204
array-length v0, p0
if-nez v0, :cond_6
goto :goto_1b
.line 208
:cond_6
sget v0, Lcom/alibaba/fastjson/JSON;->DEFAULT_PARSER_FEATURE:I
.line 209
array-length v1, p4
const/4 v2, 0x0
:goto_a
if-ge v2, v1, :cond_16
aget-object v3, p4, v2
const/4 v4, 0x1
.line 210
invoke-static {v0, v3, v4}, Lcom/alibaba/fastjson/parser/Feature;->config(ILcom/alibaba/fastjson/parser/Feature;Z)I
move-result v0
add-int/lit8 v2, v2, 0x1
goto :goto_a
.line 213
:cond_16
invoke-static {p0, p1, p2, p3, v0}, Lcom/alibaba/fastjson/JSON;->parse([BIILjava/nio/charset/CharsetDecoder;I)Ljava/lang/Object;
move-result-object p0
return-object p0
:cond_1b
:goto_1b
const/4 p0, 0x0
return-object p0
.end method
.method public static varargs parse([B[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
.registers 5
.line 195
array-length v0, p0
invoke-static {v0}, Lcom/alibaba/fastjson/JSON;->allocateChars(I)[C
move-result-object v0
.line 196
array-length v1, p0
const/4 v2, 0x0
invoke-static {p0, v2, v1, v0}, Lcom/alibaba/fastjson/util/IOUtils;->decodeUTF8([BII[C)I
move-result p0
if-gez p0, :cond_f
const/4 p0, 0x0
return-object p0
.line 200
:cond_f
new-instance v1, Ljava/lang/String;
invoke-direct {v1, v0, v2, p0}, Ljava/lang/String;-><init>([CII)V
invoke-static {v1, p1}, Lcom/alibaba/fastjson/JSON;->parse(Ljava/lang/String;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method public static parseArray(Ljava/lang/String;)Lcom/alibaba/fastjson/JSONArray;
.registers 2
.line 592
sget-object v0, Lcom/alibaba/fastjson/parser/ParserConfig;->global:Lcom/alibaba/fastjson/parser/ParserConfig;
invoke-static {p0, v0}, Lcom/alibaba/fastjson/JSON;->parseArray(Ljava/lang/String;Lcom/alibaba/fastjson/parser/ParserConfig;)Lcom/alibaba/fastjson/JSONArray;
move-result-object p0
return-object p0
.end method
.method public static parseArray(Ljava/lang/String;Lcom/alibaba/fastjson/parser/ParserConfig;)Lcom/alibaba/fastjson/JSONArray;
.registers 5
const/4 v0, 0x0
if-nez p0, :cond_4
return-object v0
.line 600
:cond_4
new-instance v1, Lcom/alibaba/fastjson/parser/DefaultJSONParser;
invoke-direct {v1, p0, p1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;-><init>(Ljava/lang/String;Lcom/alibaba/fastjson/parser/ParserConfig;)V
.line 604
iget-object p0, v1, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->lexer:Lcom/alibaba/fastjson/parser/JSONLexer;
.line 605
invoke-interface {p0}, Lcom/alibaba/fastjson/parser/JSONLexer;->token()I
move-result p1
const/16 v2, 0x8
if-ne p1, v2, :cond_17
.line 606
invoke-interface {p0}, Lcom/alibaba/fastjson/parser/JSONLexer;->nextToken()V
goto :goto_31
.line 608
:cond_17
invoke-interface {p0}, Lcom/alibaba/fastjson/parser/JSONLexer;->token()I
move-result p1
const/16 v2, 0x14
if-ne p1, v2, :cond_26
invoke-interface {p0}, Lcom/alibaba/fastjson/parser/JSONLexer;->isBlankInput()Z
move-result p0
if-eqz p0, :cond_26
goto :goto_31
.line 611
:cond_26
new-instance v0, Lcom/alibaba/fastjson/JSONArray;
invoke-direct {v0}, Lcom/alibaba/fastjson/JSONArray;-><init>()V
.line 612
invoke-virtual {v1, v0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->parseArray(Ljava/util/Collection;)V
.line 614
invoke-virtual {v1, v0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->handleResovleTask(Ljava/lang/Object;)V
.line 617
:goto_31
invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->close()V
return-object v0
.end method
.method public static parseArray(Ljava/lang/String;Ljava/lang/Class;)Ljava/util/List;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/String;",
"Ljava/lang/Class<",
"TT;>;)",
"Ljava/util/List<",
"TT;>;"
}
.end annotation
.line 623
sget-object v0, Lcom/alibaba/fastjson/parser/ParserConfig;->global:Lcom/alibaba/fastjson/parser/ParserConfig;
invoke-static {p0, p1, v0}, Lcom/alibaba/fastjson/JSON;->parseArray(Ljava/lang/String;Ljava/lang/Class;Lcom/alibaba/fastjson/parser/ParserConfig;)Ljava/util/List;
move-result-object p0
return-object p0
.end method
.method public static parseArray(Ljava/lang/String;Ljava/lang/Class;Lcom/alibaba/fastjson/parser/ParserConfig;)Ljava/util/List;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/String;",
"Ljava/lang/Class<",
"TT;>;",
"Lcom/alibaba/fastjson/parser/ParserConfig;",
")",
"Ljava/util/List<",
"TT;>;"
}
.end annotation
const/4 v0, 0x0
if-nez p0, :cond_4
return-object v0
.line 633
:cond_4
new-instance v1, Lcom/alibaba/fastjson/parser/DefaultJSONParser;
invoke-direct {v1, p0, p2}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;-><init>(Ljava/lang/String;Lcom/alibaba/fastjson/parser/ParserConfig;)V
.line 634
iget-object p0, v1, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->lexer:Lcom/alibaba/fastjson/parser/JSONLexer;
.line 635
invoke-interface {p0}, Lcom/alibaba/fastjson/parser/JSONLexer;->token()I
move-result p2
const/16 v2, 0x8
if-ne p2, v2, :cond_17
.line 637
invoke-interface {p0}, Lcom/alibaba/fastjson/parser/JSONLexer;->nextToken()V
goto :goto_2d
:cond_17
const/16 v2, 0x14
if-ne p2, v2, :cond_22
.line 639
invoke-interface {p0}, Lcom/alibaba/fastjson/parser/JSONLexer;->isBlankInput()Z
move-result p0
if-eqz p0, :cond_22
goto :goto_2d
.line 642
:cond_22
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 643
invoke-virtual {v1, p1, v0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->parseArray(Ljava/lang/Class;Ljava/util/Collection;)V
.line 645
invoke-virtual {v1, v0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->handleResovleTask(Ljava/lang/Object;)V
.line 648
:goto_2d
invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->close()V
return-object v0
.end method
.method public static parseArray(Ljava/lang/String;[Ljava/lang/reflect/Type;)Ljava/util/List;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"[",
"Ljava/lang/reflect/Type;",
")",
"Ljava/util/List<",
"Ljava/lang/Object;",
">;"
}
.end annotation
.line 654
sget-object v0, Lcom/alibaba/fastjson/parser/ParserConfig;->global:Lcom/alibaba/fastjson/parser/ParserConfig;
invoke-static {p0, p1, v0}, Lcom/alibaba/fastjson/JSON;->parseArray(Ljava/lang/String;[Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/ParserConfig;)Ljava/util/List;
move-result-object p0
return-object p0
.end method
.method public static parseArray(Ljava/lang/String;[Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/ParserConfig;)Ljava/util/List;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"[",
"Ljava/lang/reflect/Type;",
"Lcom/alibaba/fastjson/parser/ParserConfig;",
")",
"Ljava/util/List<",
"Ljava/lang/Object;",
">;"
}
.end annotation
const/4 v0, 0x0
if-nez p0, :cond_4
return-object v0
.line 664
:cond_4
new-instance v1, Lcom/alibaba/fastjson/parser/DefaultJSONParser;
invoke-direct {v1, p0, p2}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;-><init>(Ljava/lang/String;Lcom/alibaba/fastjson/parser/ParserConfig;)V
.line 665
invoke-virtual {v1, p1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->parseArray([Ljava/lang/reflect/Type;)[Ljava/lang/Object;
move-result-object p0
if-nez p0, :cond_10
goto :goto_14
.line 669
:cond_10
invoke-static {p0}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
move-result-object v0
.line 672
:goto_14
invoke-virtual {v1, v0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->handleResovleTask(Ljava/lang/Object;)V
.line 674
invoke-virtual {v1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->close()V
return-object v0
.end method
.method public static parseObject(Ljava/lang/String;)Lcom/alibaba/fastjson/JSONObject;
.registers 3
.line 252
invoke-static {p0}, Lcom/alibaba/fastjson/JSON;->parse(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p0
.line 253
instance-of v0, p0, Lcom/alibaba/fastjson/JSONObject;
if-eqz v0, :cond_b
.line 254
check-cast p0, Lcom/alibaba/fastjson/JSONObject;
return-object p0
.line 258
:cond_b
:try_start_b
invoke-static {p0}, Lcom/alibaba/fastjson/JSON;->toJSON(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Lcom/alibaba/fastjson/JSONObject;
:try_end_11
.catch Ljava/lang/RuntimeException; {:try_start_b .. :try_end_11} :catch_12
return-object p0
:catch_12
move-exception p0
.line 260
new-instance v0, Lcom/alibaba/fastjson/JSONException;
const-string v1, "can not cast to JSONObject."
invoke-direct {v0, v1, p0}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v0
.end method
.method public static varargs parseObject(Ljava/lang/String;[Lcom/alibaba/fastjson/parser/Feature;)Lcom/alibaba/fastjson/JSONObject;
.registers 2
.line 248
invoke-static {p0, p1}, Lcom/alibaba/fastjson/JSON;->parse(Ljava/lang/String;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Lcom/alibaba/fastjson/JSONObject;
return-object p0
.end method
.method public static varargs parseObject(Ljava/io/InputStream;Ljava/lang/reflect/Type;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/io/InputStream;",
"Ljava/lang/reflect/Type;",
"[",
"Lcom/alibaba/fastjson/parser/Feature;",
")TT;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 528
sget-object v0, Lcom/alibaba/fastjson/util/IOUtils;->UTF8:Ljava/nio/charset/Charset;
invoke-static {p0, v0, p1, p2}, Lcom/alibaba/fastjson/JSON;->parseObject(Ljava/io/InputStream;Ljava/nio/charset/Charset;Ljava/lang/reflect/Type;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method public static varargs parseObject(Ljava/io/InputStream;Ljava/nio/charset/Charset;Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/ParserConfig;Lcom/alibaba/fastjson/parser/deserializer/ParseProcess;I[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
.registers 16
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/io/InputStream;",
"Ljava/nio/charset/Charset;",
"Ljava/lang/reflect/Type;",
"Lcom/alibaba/fastjson/parser/ParserConfig;",
"Lcom/alibaba/fastjson/parser/deserializer/ParseProcess;",
"I[",
"Lcom/alibaba/fastjson/parser/Feature;",
")TT;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
if-nez p1, :cond_4
.line 566
sget-object p1, Lcom/alibaba/fastjson/util/IOUtils;->UTF8:Ljava/nio/charset/Charset;
:cond_4
move-object v3, p1
const/high16 p1, 0x10000
.line 569
invoke-static {p1}, Lcom/alibaba/fastjson/JSON;->allocateBytes(I)[B
move-result-object p1
const/4 v0, 0x0
move v2, v0
.line 572
:cond_d
:goto_d
array-length v1, p1
sub-int/2addr v1, v2
invoke-virtual {p0, p1, v2, v1}, Ljava/io/InputStream;->read([BII)I
move-result v1
const/4 v4, -0x1
if-ne v1, v4, :cond_22
const/4 v1, 0x0
move-object v0, p1
move-object v4, p2
move-object v5, p3
move-object v6, p4
move v7, p5
move-object v8, p6
.line 584
invoke-static/range {v0 .. v8}, Lcom/alibaba/fastjson/JSON;->parseObject([BIILjava/nio/charset/Charset;Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/ParserConfig;Lcom/alibaba/fastjson/parser/deserializer/ParseProcess;I[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
move-result-object p0
return-object p0
:cond_22
add-int/2addr v2, v1
.line 577
array-length v1, p1
if-ne v2, v1, :cond_d
.line 578
array-length v1, p1
mul-int/lit8 v1, v1, 0x3
div-int/lit8 v1, v1, 0x2
new-array v1, v1, [B
.line 579
array-length v4, p1
invoke-static {p1, v0, v1, v0, v4}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
move-object p1, v1
goto :goto_d
.end method
.method public static varargs parseObject(Ljava/io/InputStream;Ljava/nio/charset/Charset;Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/ParserConfig;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
.registers 12
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/io/InputStream;",
"Ljava/nio/charset/Charset;",
"Ljava/lang/reflect/Type;",
"Lcom/alibaba/fastjson/parser/ParserConfig;",
"[",
"Lcom/alibaba/fastjson/parser/Feature;",
")TT;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 551
sget v5, Lcom/alibaba/fastjson/JSON;->DEFAULT_PARSER_FEATURE:I
const/4 v4, 0x0
move-object v0, p0
move-object v1, p1
move-object v2, p2
move-object v3, p3
move-object v6, p4
invoke-static/range {v0 .. v6}, Lcom/alibaba/fastjson/JSON;->parseObject(Ljava/io/InputStream;Ljava/nio/charset/Charset;Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/ParserConfig;Lcom/alibaba/fastjson/parser/deserializer/ParseProcess;I[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method public static varargs parseObject(Ljava/io/InputStream;Ljava/nio/charset/Charset;Ljava/lang/reflect/Type;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/io/InputStream;",
"Ljava/nio/charset/Charset;",
"Ljava/lang/reflect/Type;",
"[",
"Lcom/alibaba/fastjson/parser/Feature;",
")TT;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 539
sget-object v0, Lcom/alibaba/fastjson/parser/ParserConfig;->global:Lcom/alibaba/fastjson/parser/ParserConfig;
invoke-static {p0, p1, p2, v0, p3}, Lcom/alibaba/fastjson/JSON;->parseObject(Ljava/io/InputStream;Ljava/nio/charset/Charset;Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/ParserConfig;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method public static varargs parseObject(Ljava/lang/String;Lcom/alibaba/fastjson/TypeReference;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/String;",
"Lcom/alibaba/fastjson/TypeReference<",
"TT;>;[",
"Lcom/alibaba/fastjson/parser/Feature;",
")TT;"
}
.end annotation
.line 276
iget-object p1, p1, Lcom/alibaba/fastjson/TypeReference;->type:Ljava/lang/reflect/Type;
sget-object v0, Lcom/alibaba/fastjson/parser/ParserConfig;->global:Lcom/alibaba/fastjson/parser/ParserConfig;
sget v1, Lcom/alibaba/fastjson/JSON;->DEFAULT_PARSER_FEATURE:I
invoke-static {p0, p1, v0, v1, p2}, Lcom/alibaba/fastjson/JSON;->parseObject(Ljava/lang/String;Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/ParserConfig;I[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method public static parseObject(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/String;",
"Ljava/lang/Class<",
"TT;>;)TT;"
}
.end annotation
const/4 v0, 0x0
new-array v0, v0, [Lcom/alibaba/fastjson/parser/Feature;
.line 588
invoke-static {p0, p1, v0}, Lcom/alibaba/fastjson/JSON;->parseObject(Ljava/lang/String;Ljava/lang/Class;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method public static varargs parseObject(Ljava/lang/String;Ljava/lang/Class;Lcom/alibaba/fastjson/parser/deserializer/ParseProcess;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
.registers 10
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/String;",
"Ljava/lang/Class<",
"TT;>;",
"Lcom/alibaba/fastjson/parser/deserializer/ParseProcess;",
"[",
"Lcom/alibaba/fastjson/parser/Feature;",
")TT;"
}
.end annotation
.line 303
sget-object v2, Lcom/alibaba/fastjson/parser/ParserConfig;->global:Lcom/alibaba/fastjson/parser/ParserConfig;
sget v4, Lcom/alibaba/fastjson/JSON;->DEFAULT_PARSER_FEATURE:I
move-object v0, p0
move-object v1, p1
move-object v3, p2
move-object v5, p3
invoke-static/range {v0 .. v5}, Lcom/alibaba/fastjson/JSON;->parseObject(Ljava/lang/String;Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/ParserConfig;Lcom/alibaba/fastjson/parser/deserializer/ParseProcess;I[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method public static varargs parseObject(Ljava/lang/String;Ljava/lang/Class;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
.registers 9
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/String;",
"Ljava/lang/Class<",
"TT;>;[",
"Lcom/alibaba/fastjson/parser/Feature;",
")TT;"
}
.end annotation
.line 298
sget-object v2, Lcom/alibaba/fastjson/parser/ParserConfig;->global:Lcom/alibaba/fastjson/parser/ParserConfig;
sget v4, Lcom/alibaba/fastjson/JSON;->DEFAULT_PARSER_FEATURE:I
const/4 v3, 0x0
move-object v0, p0
move-object v1, p1
move-object v5, p2
invoke-static/range {v0 .. v5}, Lcom/alibaba/fastjson/JSON;->parseObject(Ljava/lang/String;Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/ParserConfig;Lcom/alibaba/fastjson/parser/deserializer/ParseProcess;I[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method public static varargs parseObject(Ljava/lang/String;Ljava/lang/reflect/Type;I[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/String;",
"Ljava/lang/reflect/Type;",
"I[",
"Lcom/alibaba/fastjson/parser/Feature;",
")TT;"
}
.end annotation
if-nez p0, :cond_4
const/4 p0, 0x0
return-object p0
.line 339
:cond_4
array-length v0, p3
const/4 v1, 0x0
:goto_6
if-ge v1, v0, :cond_12
aget-object v2, p3, v1
const/4 v3, 0x1
.line 340
invoke-static {p2, v2, v3}, Lcom/alibaba/fastjson/parser/Feature;->config(ILcom/alibaba/fastjson/parser/Feature;Z)I
move-result p2
add-int/lit8 v1, v1, 0x1
goto :goto_6
.line 343
:cond_12
new-instance p3, Lcom/alibaba/fastjson/parser/DefaultJSONParser;
invoke-static {}, Lcom/alibaba/fastjson/parser/ParserConfig;->getGlobalInstance()Lcom/alibaba/fastjson/parser/ParserConfig;
move-result-object v0
invoke-direct {p3, p0, v0, p2}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;-><init>(Ljava/lang/String;Lcom/alibaba/fastjson/parser/ParserConfig;I)V
.line 344
invoke-virtual {p3, p1}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->parseObject(Ljava/lang/reflect/Type;)Ljava/lang/Object;
move-result-object p0
.line 346
invoke-virtual {p3, p0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->handleResovleTask(Ljava/lang/Object;)V
.line 348
invoke-virtual {p3}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->close()V
return-object p0
.end method
.method public static varargs parseObject(Ljava/lang/String;Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/ParserConfig;I[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
.registers 11
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/String;",
"Ljava/lang/reflect/Type;",
"Lcom/alibaba/fastjson/parser/ParserConfig;",
"I[",
"Lcom/alibaba/fastjson/parser/Feature;",
")TT;"
}
.end annotation
const/4 v3, 0x0
move-object v0, p0
move-object v1, p1
move-object v2, p2
move v4, p3
move-object v5, p4
.line 362
invoke-static/range {v0 .. v5}, Lcom/alibaba/fastjson/JSON;->parseObject(Ljava/lang/String;Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/ParserConfig;Lcom/alibaba/fastjson/parser/deserializer/ParseProcess;I[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method public static varargs parseObject(Ljava/lang/String;Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/ParserConfig;Lcom/alibaba/fastjson/parser/deserializer/ParseProcess;I[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
.registers 10
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/String;",
"Ljava/lang/reflect/Type;",
"Lcom/alibaba/fastjson/parser/ParserConfig;",
"Lcom/alibaba/fastjson/parser/deserializer/ParseProcess;",
"I[",
"Lcom/alibaba/fastjson/parser/Feature;",
")TT;"
}
.end annotation
const/4 v0, 0x0
if-eqz p0, :cond_4f
.line 368
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v1
if-nez v1, :cond_a
goto :goto_4f
:cond_a
if-eqz p5, :cond_18
.line 373
array-length v1, p5
const/4 v2, 0x0
:goto_e
if-ge v2, v1, :cond_18
aget-object v3, p5, v2
.line 374
iget v3, v3, Lcom/alibaba/fastjson/parser/Feature;->mask:I
or-int/2addr p4, v3
add-int/lit8 v2, v2, 0x1
goto :goto_e
.line 378
:cond_18
new-instance p5, Lcom/alibaba/fastjson/parser/DefaultJSONParser;
invoke-direct {p5, p0, p2, p4}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;-><init>(Ljava/lang/String;Lcom/alibaba/fastjson/parser/ParserConfig;I)V
if-eqz p3, :cond_44
.line 381
instance-of p0, p3, Lcom/alibaba/fastjson/parser/deserializer/ExtraTypeProvider;
if-eqz p0, :cond_2d
.line 382
invoke-virtual {p5}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->getExtraTypeProviders()Ljava/util/List;
move-result-object p0
move-object p2, p3
check-cast p2, Lcom/alibaba/fastjson/parser/deserializer/ExtraTypeProvider;
invoke-interface {p0, p2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 385
:cond_2d
instance-of p0, p3, Lcom/alibaba/fastjson/parser/deserializer/ExtraProcessor;
if-eqz p0, :cond_3b
.line 386
invoke-virtual {p5}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->getExtraProcessors()Ljava/util/List;
move-result-object p0
move-object p2, p3
check-cast p2, Lcom/alibaba/fastjson/parser/deserializer/ExtraProcessor;
invoke-interface {p0, p2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 389
:cond_3b
instance-of p0, p3, Lcom/alibaba/fastjson/parser/deserializer/FieldTypeResolver;
if-eqz p0, :cond_44
.line 390
check-cast p3, Lcom/alibaba/fastjson/parser/deserializer/FieldTypeResolver;
invoke-virtual {p5, p3}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->setFieldTypeResolver(Lcom/alibaba/fastjson/parser/deserializer/FieldTypeResolver;)V
.line 394
:cond_44
invoke-virtual {p5, p1, v0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->parseObject(Ljava/lang/reflect/Type;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
.line 396
invoke-virtual {p5, p0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->handleResovleTask(Ljava/lang/Object;)V
.line 398
invoke-virtual {p5}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->close()V
return-object p0
:cond_4f
:goto_4f
return-object v0
.end method
.method public static varargs parseObject(Ljava/lang/String;Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/ParserConfig;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
.registers 10
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/String;",
"Ljava/lang/reflect/Type;",
"Lcom/alibaba/fastjson/parser/ParserConfig;",
"[",
"Lcom/alibaba/fastjson/parser/Feature;",
")TT;"
}
.end annotation
.line 357
sget v4, Lcom/alibaba/fastjson/JSON;->DEFAULT_PARSER_FEATURE:I
const/4 v3, 0x0
move-object v0, p0
move-object v1, p1
move-object v2, p2
move-object v5, p3
invoke-static/range {v0 .. v5}, Lcom/alibaba/fastjson/JSON;->parseObject(Ljava/lang/String;Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/ParserConfig;Lcom/alibaba/fastjson/parser/deserializer/ParseProcess;I[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method public static varargs parseObject(Ljava/lang/String;Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/deserializer/ParseProcess;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
.registers 10
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/String;",
"Ljava/lang/reflect/Type;",
"Lcom/alibaba/fastjson/parser/deserializer/ParseProcess;",
"[",
"Lcom/alibaba/fastjson/parser/Feature;",
")TT;"
}
.end annotation
.line 330
sget-object v2, Lcom/alibaba/fastjson/parser/ParserConfig;->global:Lcom/alibaba/fastjson/parser/ParserConfig;
sget v4, Lcom/alibaba/fastjson/JSON;->DEFAULT_PARSER_FEATURE:I
move-object v0, p0
move-object v1, p1
move-object v3, p2
move-object v5, p3
invoke-static/range {v0 .. v5}, Lcom/alibaba/fastjson/JSON;->parseObject(Ljava/lang/String;Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/ParserConfig;Lcom/alibaba/fastjson/parser/deserializer/ParseProcess;I[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method public static varargs parseObject(Ljava/lang/String;Ljava/lang/reflect/Type;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/String;",
"Ljava/lang/reflect/Type;",
"[",
"Lcom/alibaba/fastjson/parser/Feature;",
")TT;"
}
.end annotation
.line 325
sget-object v0, Lcom/alibaba/fastjson/parser/ParserConfig;->global:Lcom/alibaba/fastjson/parser/ParserConfig;
sget v1, Lcom/alibaba/fastjson/JSON;->DEFAULT_PARSER_FEATURE:I
invoke-static {p0, p1, v0, v1, p2}, Lcom/alibaba/fastjson/JSON;->parseObject(Ljava/lang/String;Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/ParserConfig;I[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method public static varargs parseObject([BIILjava/nio/charset/Charset;Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/ParserConfig;Lcom/alibaba/fastjson/parser/deserializer/ParseProcess;I[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
.registers 16
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">([BII",
"Ljava/nio/charset/Charset;",
"Ljava/lang/reflect/Type;",
"Lcom/alibaba/fastjson/parser/ParserConfig;",
"Lcom/alibaba/fastjson/parser/deserializer/ParseProcess;",
"I[",
"Lcom/alibaba/fastjson/parser/Feature;",
")TT;"
}
.end annotation
if-nez p3, :cond_4
.line 442
sget-object p3, Lcom/alibaba/fastjson/util/IOUtils;->UTF8:Ljava/nio/charset/Charset;
.line 446
:cond_4
sget-object v0, Lcom/alibaba/fastjson/util/IOUtils;->UTF8:Ljava/nio/charset/Charset;
const/4 v1, 0x0
if-ne p3, v0, :cond_4a
.line 447
array-length p3, p0
invoke-static {p3}, Lcom/alibaba/fastjson/JSON;->allocateChars(I)[C
move-result-object p3
.line 448
invoke-static {p0, p1, p2, p3}, Lcom/alibaba/fastjson/util/IOUtils;->decodeUTF8([BII[C)I
move-result v0
if-gez v0, :cond_3a
.line 453
:try_start_14
new-instance v2, Ljava/io/InputStreamReader;
new-instance v3, Ljava/util/zip/GZIPInputStream;
new-instance v4, Ljava/io/ByteArrayInputStream;
invoke-direct {v4, p0, p1, p2}, Ljava/io/ByteArrayInputStream;-><init>([BII)V
invoke-direct {v3, v4}, Ljava/util/zip/GZIPInputStream;-><init>(Ljava/io/InputStream;)V
const-string p0, "UTF-8"
invoke-direct {v2, v3, p0}, Ljava/io/InputStreamReader;-><init>(Ljava/io/InputStream;Ljava/lang/String;)V
:try_end_25
.catch Ljava/lang/Exception; {:try_start_14 .. :try_end_25} :catch_35
.catchall {:try_start_14 .. :try_end_25} :catchall_30
.line 456
:try_start_25
invoke-static {v2}, Lcom/alibaba/fastjson/util/IOUtils;->readAll(Ljava/io/Reader;)Ljava/lang/String;
move-result-object p0
:try_end_29
.catch Ljava/lang/Exception; {:try_start_25 .. :try_end_29} :catch_36
.catchall {:try_start_25 .. :try_end_29} :catchall_2d
.line 460
invoke-static {v2}, Lcom/alibaba/fastjson/util/IOUtils;->close(Ljava/io/Closeable;)V
goto :goto_3b
:catchall_2d
move-exception p0
move-object v1, v2
goto :goto_31
:catchall_30
move-exception p0
:goto_31
invoke-static {v1}, Lcom/alibaba/fastjson/util/IOUtils;->close(Ljava/io/Closeable;)V
.line 461
throw p0
:catch_35
move-object v2, v1
.line 460
:catch_36
invoke-static {v2}, Lcom/alibaba/fastjson/util/IOUtils;->close(Ljava/io/Closeable;)V
return-object v1
:cond_3a
move-object p0, v1
:goto_3b
if-nez p0, :cond_40
if-gez v0, :cond_40
return-object v1
:cond_40
if-nez p0, :cond_48
.line 468
new-instance p0, Ljava/lang/String;
const/4 p1, 0x0
invoke-direct {p0, p3, p1, v0}, Ljava/lang/String;-><init>([CII)V
:cond_48
move-object v1, p0
goto :goto_53
:cond_4a
if-gez p2, :cond_4d
return-object v1
.line 474
:cond_4d
new-instance v0, Ljava/lang/String;
invoke-direct {v0, p0, p1, p2, p3}, Ljava/lang/String;-><init>([BIILjava/nio/charset/Charset;)V
move-object v1, v0
:goto_53
move-object v2, p4
move-object v3, p5
move-object v4, p6
move v5, p7
move-object v6, p8
.line 476
invoke-static/range {v1 .. v6}, Lcom/alibaba/fastjson/JSON;->parseObject(Ljava/lang/String;Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/ParserConfig;Lcom/alibaba/fastjson/parser/deserializer/ParseProcess;I[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method public static varargs parseObject([BIILjava/nio/charset/Charset;Ljava/lang/reflect/Type;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
.registers 15
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">([BII",
"Ljava/nio/charset/Charset;",
"Ljava/lang/reflect/Type;",
"[",
"Lcom/alibaba/fastjson/parser/Feature;",
")TT;"
}
.end annotation
.line 413
sget-object v5, Lcom/alibaba/fastjson/parser/ParserConfig;->global:Lcom/alibaba/fastjson/parser/ParserConfig;
sget v7, Lcom/alibaba/fastjson/JSON;->DEFAULT_PARSER_FEATURE:I
const/4 v6, 0x0
move-object v0, p0
move v1, p1
move v2, p2
move-object v3, p3
move-object v4, p4
move-object v8, p5
invoke-static/range {v0 .. v8}, Lcom/alibaba/fastjson/JSON;->parseObject([BIILjava/nio/charset/Charset;Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/ParserConfig;Lcom/alibaba/fastjson/parser/deserializer/ParseProcess;I[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method public static varargs parseObject([BIILjava/nio/charset/CharsetDecoder;Ljava/lang/reflect/Type;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
.registers 10
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">([BII",
"Ljava/nio/charset/CharsetDecoder;",
"Ljava/lang/reflect/Type;",
"[",
"Lcom/alibaba/fastjson/parser/Feature;",
")TT;"
}
.end annotation
.line 486
invoke-virtual {p3}, Ljava/nio/charset/CharsetDecoder;->reset()Ljava/nio/charset/CharsetDecoder;
int-to-double v0, p2
.line 488
invoke-virtual {p3}, Ljava/nio/charset/CharsetDecoder;->maxCharsPerByte()F
move-result v2
float-to-double v2, v2
mul-double/2addr v0, v2
double-to-int v0, v0
.line 489
invoke-static {v0}, Lcom/alibaba/fastjson/JSON;->allocateChars(I)[C
move-result-object v0
.line 491
invoke-static {p0, p1, p2}, Ljava/nio/ByteBuffer;->wrap([BII)Ljava/nio/ByteBuffer;
move-result-object p0
.line 492
invoke-static {v0}, Ljava/nio/CharBuffer;->wrap([C)Ljava/nio/CharBuffer;
move-result-object p1
.line 493
invoke-static {p3, p0, p1}, Lcom/alibaba/fastjson/util/IOUtils;->decode(Ljava/nio/charset/CharsetDecoder;Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)V
.line 495
invoke-virtual {p1}, Ljava/nio/CharBuffer;->position()I
move-result p0
.line 497
invoke-static {v0, p0, p4, p5}, Lcom/alibaba/fastjson/JSON;->parseObject([CILjava/lang/reflect/Type;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method public static varargs parseObject([BLjava/lang/reflect/Type;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
.registers 9
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">([B",
"Ljava/lang/reflect/Type;",
"[",
"Lcom/alibaba/fastjson/parser/Feature;",
")TT;"
}
.end annotation
.line 405
array-length v2, p0
sget-object v3, Lcom/alibaba/fastjson/util/IOUtils;->UTF8:Ljava/nio/charset/Charset;
const/4 v1, 0x0
move-object v0, p0
move-object v4, p1
move-object v5, p2
invoke-static/range {v0 .. v5}, Lcom/alibaba/fastjson/JSON;->parseObject([BIILjava/nio/charset/Charset;Ljava/lang/reflect/Type;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method public static varargs parseObject([BLjava/nio/charset/Charset;Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/ParserConfig;Lcom/alibaba/fastjson/parser/deserializer/ParseProcess;I[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
.registers 16
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">([B",
"Ljava/nio/charset/Charset;",
"Ljava/lang/reflect/Type;",
"Lcom/alibaba/fastjson/parser/ParserConfig;",
"Lcom/alibaba/fastjson/parser/deserializer/ParseProcess;",
"I[",
"Lcom/alibaba/fastjson/parser/Feature;",
")TT;"
}
.end annotation
.line 427
array-length v2, p0
const/4 v1, 0x0
move-object v0, p0
move-object v3, p1
move-object v4, p2
move-object v5, p3
move-object v6, p4
move v7, p5
move-object v8, p6
invoke-static/range {v0 .. v8}, Lcom/alibaba/fastjson/JSON;->parseObject([BIILjava/nio/charset/Charset;Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/ParserConfig;Lcom/alibaba/fastjson/parser/deserializer/ParseProcess;I[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method public static varargs parseObject([CILjava/lang/reflect/Type;[Lcom/alibaba/fastjson/parser/Feature;)Ljava/lang/Object;
.registers 9
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">([CI",
"Ljava/lang/reflect/Type;",
"[",
"Lcom/alibaba/fastjson/parser/Feature;",
")TT;"
}
.end annotation
if-eqz p0, :cond_2a
.line 502
array-length v0, p0
if-nez v0, :cond_6
goto :goto_2a
.line 506
:cond_6
sget v0, Lcom/alibaba/fastjson/JSON;->DEFAULT_PARSER_FEATURE:I
.line 507
array-length v1, p3
const/4 v2, 0x0
:goto_a
if-ge v2, v1, :cond_16
aget-object v3, p3, v2
const/4 v4, 0x1
.line 508
invoke-static {v0, v3, v4}, Lcom/alibaba/fastjson/parser/Feature;->config(ILcom/alibaba/fastjson/parser/Feature;Z)I
move-result v0
add-int/lit8 v2, v2, 0x1
goto :goto_a
.line 511
:cond_16
new-instance p3, Lcom/alibaba/fastjson/parser/DefaultJSONParser;
invoke-static {}, Lcom/alibaba/fastjson/parser/ParserConfig;->getGlobalInstance()Lcom/alibaba/fastjson/parser/ParserConfig;
move-result-object v1
invoke-direct {p3, p0, p1, v1, v0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;-><init>([CILcom/alibaba/fastjson/parser/ParserConfig;I)V
.line 512
invoke-virtual {p3, p2}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->parseObject(Ljava/lang/reflect/Type;)Ljava/lang/Object;
move-result-object p0
.line 514
invoke-virtual {p3, p0}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->handleResovleTask(Ljava/lang/Object;)V
.line 516
invoke-virtual {p3}, Lcom/alibaba/fastjson/parser/DefaultJSONParser;->close()V
return-object p0
:cond_2a
:goto_2a
const/4 p0, 0x0
return-object p0
.end method
.method public static removeMixInAnnotations(Ljava/lang/reflect/Type;)V
.registers 2
if-eqz p0, :cond_7
.line 1409
sget-object v0, Lcom/alibaba/fastjson/JSON;->mixInsMapper:Ljava/util/concurrent/ConcurrentHashMap;
invoke-virtual {v0, p0}, Ljava/util/concurrent/ConcurrentHashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
:cond_7
return-void
.end method
.method public static setDefaultTypeKey(Ljava/lang/String;)V
.registers 8
.line 139
sput-object p0, Lcom/alibaba/fastjson/JSON;->DEFAULT_TYPE_KEY:Ljava/lang/String;
.line 140
sget-object v0, Lcom/alibaba/fastjson/parser/ParserConfig;->global:Lcom/alibaba/fastjson/parser/ParserConfig;
iget-object v1, v0, Lcom/alibaba/fastjson/parser/ParserConfig;->symbolTable:Lcom/alibaba/fastjson/parser/SymbolTable;
.line 142
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v4
.line 143
invoke-virtual {p0}, Ljava/lang/String;->hashCode()I
move-result v5
const/4 v3, 0x0
const/4 v6, 0x1
move-object v2, p0
.line 140
invoke-virtual/range {v1 .. v6}, Lcom/alibaba/fastjson/parser/SymbolTable;->addSymbol(Ljava/lang/String;IIIZ)Ljava/lang/String;
return-void
.end method
.method public static toJSON(Ljava/lang/Object;)Ljava/lang/Object;
.registers 2
.line 1116
sget-object v0, Lcom/alibaba/fastjson/serializer/SerializeConfig;->globalInstance:Lcom/alibaba/fastjson/serializer/SerializeConfig;
invoke-static {p0, v0}, Lcom/alibaba/fastjson/JSON;->toJSON(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method public static toJSON(Ljava/lang/Object;Lcom/alibaba/fastjson/parser/ParserConfig;)Ljava/lang/Object;
.registers 2
.line 1123
sget-object p1, Lcom/alibaba/fastjson/serializer/SerializeConfig;->globalInstance:Lcom/alibaba/fastjson/serializer/SerializeConfig;
invoke-static {p0, p1}, Lcom/alibaba/fastjson/JSON;->toJSON(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method public static toJSON(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;)Ljava/lang/Object;
.registers 9
if-nez p0, :cond_4
const/4 p0, 0x0
return-object p0
.line 1132
:cond_4
instance-of v0, p0, Lcom/alibaba/fastjson/JSON;
if-eqz v0, :cond_9
return-object p0
.line 1136
:cond_9
instance-of v0, p0, Ljava/util/Map;
if-eqz v0, :cond_5a
.line 1137
check-cast p0, Ljava/util/Map;
.line 1139
invoke-interface {p0}, Ljava/util/Map;->size()I
move-result v0
.line 1142
instance-of v1, p0, Ljava/util/LinkedHashMap;
if-eqz v1, :cond_1d
.line 1143
new-instance v1, Ljava/util/LinkedHashMap;
invoke-direct {v1, v0}, Ljava/util/LinkedHashMap;-><init>(I)V
goto :goto_2c
.line 1144
:cond_1d
instance-of v1, p0, Ljava/util/TreeMap;
if-eqz v1, :cond_27
.line 1145
new-instance v1, Ljava/util/TreeMap;
invoke-direct {v1}, Ljava/util/TreeMap;-><init>()V
goto :goto_2c
.line 1147
:cond_27
new-instance v1, Ljava/util/HashMap;
invoke-direct {v1, v0}, Ljava/util/HashMap;-><init>(I)V
.line 1150
:goto_2c
new-instance v0, Lcom/alibaba/fastjson/JSONObject;
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONObject;-><init>(Ljava/util/Map;)V
.line 1152
invoke-interface {p0}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object p0
invoke-interface {p0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p0
:goto_39
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_59
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/util/Map$Entry;
.line 1153
invoke-interface {v1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v2
.line 1154
invoke-static {v2}, Lcom/alibaba/fastjson/util/TypeUtils;->castToString(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
.line 1155
invoke-interface {v1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v1
invoke-static {v1, p1}, Lcom/alibaba/fastjson/JSON;->toJSON(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;)Ljava/lang/Object;
move-result-object v1
.line 1156
invoke-virtual {v0, v2, v1}, Lcom/alibaba/fastjson/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_39
:cond_59
return-object v0
.line 1162
:cond_5a
instance-of v0, p0, Ljava/util/Collection;
if-eqz v0, :cond_80
.line 1163
check-cast p0, Ljava/util/Collection;
.line 1165
new-instance v0, Lcom/alibaba/fastjson/JSONArray;
invoke-interface {p0}, Ljava/util/Collection;->size()I
move-result v1
invoke-direct {v0, v1}, Lcom/alibaba/fastjson/JSONArray;-><init>(I)V
.line 1167
invoke-interface {p0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object p0
:goto_6d
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_7f
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
.line 1168
invoke-static {v1, p1}, Lcom/alibaba/fastjson/JSON;->toJSON(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;)Ljava/lang/Object;
move-result-object v1
.line 1169
invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/JSONArray;->add(Ljava/lang/Object;)Z
goto :goto_6d
:cond_7f
return-object v0
.line 1175
:cond_80
instance-of v0, p0, Lcom/alibaba/fastjson/serializer/JSONSerializable;
if-eqz v0, :cond_8d
.line 1176
invoke-static {p0}, Lcom/alibaba/fastjson/JSON;->toJSONString(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
.line 1177
invoke-static {p0}, Lcom/alibaba/fastjson/JSON;->parse(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p0
return-object p0
.line 1180
:cond_8d
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
.line 1182
invoke-virtual {v0}, Ljava/lang/Class;->isEnum()Z
move-result v1
if-eqz v1, :cond_9e
.line 1183
check-cast p0, Ljava/lang/Enum;
invoke-virtual {p0}, Ljava/lang/Enum;->name()Ljava/lang/String;
move-result-object p0
return-object p0
.line 1186
:cond_9e
invoke-virtual {v0}, Ljava/lang/Class;->isArray()Z
move-result v1
const/4 v2, 0x0
if-eqz v1, :cond_bf
.line 1187
invoke-static {p0}, Ljava/lang/reflect/Array;->getLength(Ljava/lang/Object;)I
move-result p1
.line 1189
new-instance v0, Lcom/alibaba/fastjson/JSONArray;
invoke-direct {v0, p1}, Lcom/alibaba/fastjson/JSONArray;-><init>(I)V
:goto_ae
if-ge v2, p1, :cond_be
.line 1192
invoke-static {p0, v2}, Ljava/lang/reflect/Array;->get(Ljava/lang/Object;I)Ljava/lang/Object;
move-result-object v1
.line 1193
invoke-static {v1}, Lcom/alibaba/fastjson/JSON;->toJSON(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
.line 1194
invoke-virtual {v0, v1}, Lcom/alibaba/fastjson/JSONArray;->add(Ljava/lang/Object;)Z
add-int/lit8 v2, v2, 0x1
goto :goto_ae
:cond_be
return-object v0
.line 1200
:cond_bf
invoke-static {v0}, Lcom/alibaba/fastjson/parser/ParserConfig;->isPrimitive2(Ljava/lang/Class;)Z
move-result v1
if-eqz v1, :cond_c6
return-object p0
.line 1204
:cond_c6
invoke-virtual {p1, v0}, Lcom/alibaba/fastjson/serializer/SerializeConfig;->getObjectWriter(Ljava/lang/Class;)Lcom/alibaba/fastjson/serializer/ObjectSerializer;
move-result-object v0
.line 1205
instance-of v1, v0, Lcom/alibaba/fastjson/serializer/JavaBeanSerializer;
if-eqz v1, :cond_126
.line 1206
check-cast v0, Lcom/alibaba/fastjson/serializer/JavaBeanSerializer;
.line 1208
invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/JavaBeanSerializer;->getJSONType()Lcom/alibaba/fastjson/annotation/JSONType;
move-result-object v1
if-eqz v1, :cond_ed
.line 1211
invoke-interface {v1}, Lcom/alibaba/fastjson/annotation/JSONType;->serialzeFeatures()[Lcom/alibaba/fastjson/serializer/SerializerFeature;
move-result-object v1
array-length v3, v1
move v4, v2
:goto_dc
if-ge v2, v3, :cond_ec
aget-object v5, v1, v2
.line 1212
sget-object v6, Lcom/alibaba/fastjson/serializer/SerializerFeature;->SortField:Lcom/alibaba/fastjson/serializer/SerializerFeature;
if-eq v5, v6, :cond_e8
sget-object v6, Lcom/alibaba/fastjson/serializer/SerializerFeature;->MapSortField:Lcom/alibaba/fastjson/serializer/SerializerFeature;
if-ne v5, v6, :cond_e9
:cond_e8
const/4 v4, 0x1
:cond_e9
add-int/lit8 v2, v2, 0x1
goto :goto_dc
:cond_ec
move v2, v4
.line 1219
:cond_ed
new-instance v1, Lcom/alibaba/fastjson/JSONObject;
invoke-direct {v1, v2}, Lcom/alibaba/fastjson/JSONObject;-><init>(Z)V
.line 1221
:try_start_f2
invoke-virtual {v0, p0}, Lcom/alibaba/fastjson/serializer/JavaBeanSerializer;->getFieldValuesMap(Ljava/lang/Object;)Ljava/util/Map;
move-result-object p0
.line 1222
invoke-interface {p0}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object p0
invoke-interface {p0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p0
:goto_fe
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_11c
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/Map$Entry;
.line 1223
invoke-interface {v0}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v0
invoke-static {v0, p1}, Lcom/alibaba/fastjson/JSON;->toJSON(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;)Ljava/lang/Object;
move-result-object v0
invoke-virtual {v1, v2, v0}, Lcom/alibaba/fastjson/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
:try_end_11b
.catch Ljava/lang/Exception; {:try_start_f2 .. :try_end_11b} :catch_11d
goto :goto_fe
:cond_11c
return-object v1
:catch_11d
move-exception p0
.line 1226
new-instance p1, Lcom/alibaba/fastjson/JSONException;
const-string v0, "toJSON error"
invoke-direct {p1, v0, p0}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p1
:cond_126
new-array v0, v2, [Lcom/alibaba/fastjson/serializer/SerializerFeature;
.line 1231
invoke-static {p0, p1, v0}, Lcom/alibaba/fastjson/JSON;->toJSONString(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String;
move-result-object p0
.line 1232
invoke-static {p0}, Lcom/alibaba/fastjson/JSON;->parse(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method public static varargs toJSONBytes(Ljava/lang/Object;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)[B
.registers 4
.line 746
sget-object v0, Lcom/alibaba/fastjson/serializer/SerializeConfig;->globalInstance:Lcom/alibaba/fastjson/serializer/SerializeConfig;
invoke-static {p0, v0, p1, p2}, Lcom/alibaba/fastjson/JSON;->toJSONBytes(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)[B
move-result-object p0
return-object p0
.end method
.method public static varargs toJSONBytes(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)[B
.registers 5
.line 819
sget-object v0, Lcom/alibaba/fastjson/JSON;->emptyFilters:[Lcom/alibaba/fastjson/serializer/SerializeFilter;
invoke-static {p0, p1, v0, p2, p3}, Lcom/alibaba/fastjson/JSON;->toJSONBytes(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializeFilter;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)[B
move-result-object p0
return-object p0
.end method
.method public static varargs toJSONBytes(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;Lcom/alibaba/fastjson/serializer/SerializeFilter;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)[B
.registers 6
const/4 v0, 0x1
new-array v0, v0, [Lcom/alibaba/fastjson/serializer/SerializeFilter;
const/4 v1, 0x0
aput-object p2, v0, v1
.line 830
sget p2, Lcom/alibaba/fastjson/JSON;->DEFAULT_GENERATE_FEATURE:I
invoke-static {p0, p1, v0, p2, p3}, Lcom/alibaba/fastjson/JSON;->toJSONBytes(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializeFilter;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)[B
move-result-object p0
return-object p0
.end method
.method public static varargs toJSONBytes(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializeFilter;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)[B
.registers 11
const/4 v3, 0x0
move-object v0, p0
move-object v1, p1
move-object v2, p2
move v4, p3
move-object v5, p4
.line 837
invoke-static/range {v0 .. v5}, Lcom/alibaba/fastjson/JSON;->toJSONBytes(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializeFilter;Ljava/lang/String;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)[B
move-result-object p0
return-object p0
.end method
.method public static varargs toJSONBytes(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializeFilter;Ljava/lang/String;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)[B
.registers 13
.line 844
sget-object v0, Lcom/alibaba/fastjson/util/IOUtils;->UTF8:Ljava/nio/charset/Charset;
move-object v1, p0
move-object v2, p1
move-object v3, p2
move-object v4, p3
move v5, p4
move-object v6, p5
invoke-static/range {v0 .. v6}, Lcom/alibaba/fastjson/JSON;->toJSONBytes(Ljava/nio/charset/Charset;Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializeFilter;Ljava/lang/String;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)[B
move-result-object p0
return-object p0
.end method
.method public static varargs toJSONBytes(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)[B
.registers 5
.line 812
sget-object v0, Lcom/alibaba/fastjson/JSON;->emptyFilters:[Lcom/alibaba/fastjson/serializer/SerializeFilter;
sget v1, Lcom/alibaba/fastjson/JSON;->DEFAULT_GENERATE_FEATURE:I
invoke-static {p0, p1, v0, v1, p2}, Lcom/alibaba/fastjson/JSON;->toJSONBytes(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializeFilter;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)[B
move-result-object p0
return-object p0
.end method
.method public static varargs toJSONBytes(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeFilter;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)[B
.registers 6
.line 739
sget-object v0, Lcom/alibaba/fastjson/serializer/SerializeConfig;->globalInstance:Lcom/alibaba/fastjson/serializer/SerializeConfig;
const/4 v1, 0x1
new-array v1, v1, [Lcom/alibaba/fastjson/serializer/SerializeFilter;
const/4 v2, 0x0
aput-object p1, v1, v2
sget p1, Lcom/alibaba/fastjson/JSON;->DEFAULT_GENERATE_FEATURE:I
invoke-static {p0, v0, v1, p1, p2}, Lcom/alibaba/fastjson/JSON;->toJSONBytes(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializeFilter;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)[B
move-result-object p0
return-object p0
.end method
.method public static varargs toJSONBytes(Ljava/lang/Object;[Lcom/alibaba/fastjson/serializer/SerializeFilter;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)[B
.registers 5
.line 826
sget-object v0, Lcom/alibaba/fastjson/serializer/SerializeConfig;->globalInstance:Lcom/alibaba/fastjson/serializer/SerializeConfig;
sget v1, Lcom/alibaba/fastjson/JSON;->DEFAULT_GENERATE_FEATURE:I
invoke-static {p0, v0, p1, v1, p2}, Lcom/alibaba/fastjson/JSON;->toJSONBytes(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializeFilter;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)[B
move-result-object p0
return-object p0
.end method
.method public static varargs toJSONBytes(Ljava/lang/Object;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)[B
.registers 3
.line 735
sget v0, Lcom/alibaba/fastjson/JSON;->DEFAULT_GENERATE_FEATURE:I
invoke-static {p0, v0, p1}, Lcom/alibaba/fastjson/JSON;->toJSONBytes(Ljava/lang/Object;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)[B
move-result-object p0
return-object p0
.end method
.method public static varargs toJSONBytes(Ljava/nio/charset/Charset;Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializeFilter;Ljava/lang/String;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)[B
.registers 9
.line 857
new-instance v0, Lcom/alibaba/fastjson/serializer/SerializeWriter;
const/4 v1, 0x0
invoke-direct {v0, v1, p5, p6}, Lcom/alibaba/fastjson/serializer/SerializeWriter;-><init>(Ljava/io/Writer;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)V
.line 860
:try_start_6
new-instance p5, Lcom/alibaba/fastjson/serializer/JSONSerializer;
invoke-direct {p5, v0, p2}, Lcom/alibaba/fastjson/serializer/JSONSerializer;-><init>(Lcom/alibaba/fastjson/serializer/SerializeWriter;Lcom/alibaba/fastjson/serializer/SerializeConfig;)V
if-eqz p4, :cond_1c
.line 862
invoke-virtual {p4}, Ljava/lang/String;->length()I
move-result p2
if-eqz p2, :cond_1c
.line 863
invoke-virtual {p5, p4}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->setDateFormat(Ljava/lang/String;)V
.line 864
sget-object p2, Lcom/alibaba/fastjson/serializer/SerializerFeature;->WriteDateUseDateFormat:Lcom/alibaba/fastjson/serializer/SerializerFeature;
const/4 p4, 0x1
invoke-virtual {p5, p2, p4}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->config(Lcom/alibaba/fastjson/serializer/SerializerFeature;Z)V
:cond_1c
if-eqz p3, :cond_2a
.line 868
array-length p2, p3
const/4 p4, 0x0
:goto_20
if-ge p4, p2, :cond_2a
aget-object p6, p3, p4
.line 869
invoke-virtual {p5, p6}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->addFilter(Lcom/alibaba/fastjson/serializer/SerializeFilter;)V
add-int/lit8 p4, p4, 0x1
goto :goto_20
.line 873
:cond_2a
invoke-virtual {p5, p1}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->write(Ljava/lang/Object;)V
.line 874
invoke-virtual {v0, p0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->toBytes(Ljava/nio/charset/Charset;)[B
move-result-object p0
:try_end_31
.catchall {:try_start_6 .. :try_end_31} :catchall_35
.line 876
invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V
return-object p0
:catchall_35
move-exception p0
invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V
.line 877
throw p0
.end method
.method public static varargs toJSONBytesWithFastJsonConfig(Ljava/nio/charset/Charset;Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializeFilter;Ljava/lang/String;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)[B
.registers 9
.line 893
new-instance v0, Lcom/alibaba/fastjson/serializer/SerializeWriter;
const/4 v1, 0x0
invoke-direct {v0, v1, p5, p6}, Lcom/alibaba/fastjson/serializer/SerializeWriter;-><init>(Ljava/io/Writer;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)V
.line 896
:try_start_6
new-instance p5, Lcom/alibaba/fastjson/serializer/JSONSerializer;
invoke-direct {p5, v0, p2}, Lcom/alibaba/fastjson/serializer/JSONSerializer;-><init>(Lcom/alibaba/fastjson/serializer/SerializeWriter;Lcom/alibaba/fastjson/serializer/SerializeConfig;)V
if-eqz p4, :cond_1c
.line 898
invoke-virtual {p4}, Ljava/lang/String;->length()I
move-result p2
if-eqz p2, :cond_1c
.line 899
invoke-virtual {p5, p4}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->setFastJsonConfigDateFormatPattern(Ljava/lang/String;)V
.line 900
sget-object p2, Lcom/alibaba/fastjson/serializer/SerializerFeature;->WriteDateUseDateFormat:Lcom/alibaba/fastjson/serializer/SerializerFeature;
const/4 p4, 0x1
invoke-virtual {p5, p2, p4}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->config(Lcom/alibaba/fastjson/serializer/SerializerFeature;Z)V
:cond_1c
if-eqz p3, :cond_2a
.line 904
array-length p2, p3
const/4 p4, 0x0
:goto_20
if-ge p4, p2, :cond_2a
aget-object p6, p3, p4
.line 905
invoke-virtual {p5, p6}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->addFilter(Lcom/alibaba/fastjson/serializer/SerializeFilter;)V
add-int/lit8 p4, p4, 0x1
goto :goto_20
.line 909
:cond_2a
invoke-virtual {p5, p1}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->write(Ljava/lang/Object;)V
.line 910
invoke-virtual {v0, p0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->toBytes(Ljava/nio/charset/Charset;)[B
move-result-object p0
:try_end_31
.catchall {:try_start_6 .. :try_end_31} :catchall_35
.line 912
invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V
return-object p0
:catchall_35
move-exception p0
invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V
.line 913
throw p0
.end method
.method public static toJSONString(Ljava/lang/Object;)Ljava/lang/String;
.registers 3
.line 688
sget-object v0, Lcom/alibaba/fastjson/JSON;->emptyFilters:[Lcom/alibaba/fastjson/serializer/SerializeFilter;
const/4 v1, 0x0
new-array v1, v1, [Lcom/alibaba/fastjson/serializer/SerializerFeature;
invoke-static {p0, v0, v1}, Lcom/alibaba/fastjson/JSON;->toJSONString(Ljava/lang/Object;[Lcom/alibaba/fastjson/serializer/SerializeFilter;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static varargs toJSONString(Ljava/lang/Object;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String;
.registers 6
.line 699
new-instance v0, Lcom/alibaba/fastjson/serializer/SerializeWriter;
const/4 v1, 0x0
check-cast v1, Ljava/io/Writer;
invoke-direct {v0, v1, p1, p2}, Lcom/alibaba/fastjson/serializer/SerializeWriter;-><init>(Ljava/io/Writer;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)V
.line 702
:try_start_8
new-instance p1, Lcom/alibaba/fastjson/serializer/JSONSerializer;
invoke-direct {p1, v0}, Lcom/alibaba/fastjson/serializer/JSONSerializer;-><init>(Lcom/alibaba/fastjson/serializer/SerializeWriter;)V
.line 703
invoke-virtual {p1, p0}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->write(Ljava/lang/Object;)V
.line 704
invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->toString()Ljava/lang/String;
move-result-object p1
.line 705
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result p2
if-lez p2, :cond_39
add-int/lit8 p2, p2, -0x1
.line 707
invoke-virtual {p1, p2}, Ljava/lang/String;->charAt(I)C
move-result v1
const/16 v2, 0x2e
if-ne v1, v2, :cond_39
instance-of p0, p0, Ljava/lang/Number;
if-eqz p0, :cond_39
sget-object p0, Lcom/alibaba/fastjson/serializer/SerializerFeature;->WriteClassName:Lcom/alibaba/fastjson/serializer/SerializerFeature;
.line 709
invoke-virtual {v0, p0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->isEnabled(Lcom/alibaba/fastjson/serializer/SerializerFeature;)Z
move-result p0
if-nez p0, :cond_39
const/4 p0, 0x0
.line 710
invoke-virtual {p1, p0, p2}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object p0
:try_end_35
.catchall {:try_start_8 .. :try_end_35} :catchall_3d
.line 714
invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V
return-object p0
:cond_39
invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V
return-object p1
:catchall_3d
move-exception p0
invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V
.line 715
throw p0
.end method
.method public static varargs toJSONString(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;Lcom/alibaba/fastjson/serializer/SerializeFilter;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String;
.registers 11
const/4 v0, 0x1
new-array v3, v0, [Lcom/alibaba/fastjson/serializer/SerializeFilter;
const/4 v0, 0x0
aput-object p2, v3, v0
.line 757
sget v5, Lcom/alibaba/fastjson/JSON;->DEFAULT_GENERATE_FEATURE:I
const/4 v4, 0x0
move-object v1, p0
move-object v2, p1
move-object v6, p3
invoke-static/range {v1 .. v6}, Lcom/alibaba/fastjson/JSON;->toJSONString(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializeFilter;Ljava/lang/String;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static varargs toJSONString(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializeFilter;Ljava/lang/String;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String;
.registers 8
.line 777
new-instance v0, Lcom/alibaba/fastjson/serializer/SerializeWriter;
const/4 v1, 0x0
invoke-direct {v0, v1, p4, p5}, Lcom/alibaba/fastjson/serializer/SerializeWriter;-><init>(Ljava/io/Writer;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)V
.line 780
:try_start_6
new-instance p4, Lcom/alibaba/fastjson/serializer/JSONSerializer;
invoke-direct {p4, v0, p1}, Lcom/alibaba/fastjson/serializer/JSONSerializer;-><init>(Lcom/alibaba/fastjson/serializer/SerializeWriter;Lcom/alibaba/fastjson/serializer/SerializeConfig;)V
if-eqz p3, :cond_1c
.line 782
invoke-virtual {p3}, Ljava/lang/String;->length()I
move-result p1
if-eqz p1, :cond_1c
.line 783
invoke-virtual {p4, p3}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->setDateFormat(Ljava/lang/String;)V
.line 784
sget-object p1, Lcom/alibaba/fastjson/serializer/SerializerFeature;->WriteDateUseDateFormat:Lcom/alibaba/fastjson/serializer/SerializerFeature;
const/4 p3, 0x1
invoke-virtual {p4, p1, p3}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->config(Lcom/alibaba/fastjson/serializer/SerializerFeature;Z)V
:cond_1c
if-eqz p2, :cond_2a
.line 788
array-length p1, p2
const/4 p3, 0x0
:goto_20
if-ge p3, p1, :cond_2a
aget-object p5, p2, p3
.line 789
invoke-virtual {p4, p5}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->addFilter(Lcom/alibaba/fastjson/serializer/SerializeFilter;)V
add-int/lit8 p3, p3, 0x1
goto :goto_20
.line 793
:cond_2a
invoke-virtual {p4, p0}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->write(Ljava/lang/Object;)V
.line 795
invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->toString()Ljava/lang/String;
move-result-object p0
:try_end_31
.catchall {:try_start_6 .. :try_end_31} :catchall_35
.line 797
invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V
return-object p0
:catchall_35
move-exception p0
invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V
.line 798
throw p0
.end method
.method public static varargs toJSONString(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializeFilter;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String;
.registers 10
.line 764
sget v4, Lcom/alibaba/fastjson/JSON;->DEFAULT_GENERATE_FEATURE:I
const/4 v3, 0x0
move-object v0, p0
move-object v1, p1
move-object v2, p2
move-object v5, p3
invoke-static/range {v0 .. v5}, Lcom/alibaba/fastjson/JSON;->toJSONString(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializeFilter;Ljava/lang/String;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static varargs toJSONString(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String;
.registers 4
const/4 v0, 0x0
.line 750
check-cast v0, Lcom/alibaba/fastjson/serializer/SerializeFilter;
invoke-static {p0, p1, v0, p2}, Lcom/alibaba/fastjson/JSON;->toJSONString(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;Lcom/alibaba/fastjson/serializer/SerializeFilter;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static varargs toJSONString(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeFilter;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String;
.registers 9
.line 727
sget-object v1, Lcom/alibaba/fastjson/serializer/SerializeConfig;->globalInstance:Lcom/alibaba/fastjson/serializer/SerializeConfig;
const/4 v0, 0x1
new-array v2, v0, [Lcom/alibaba/fastjson/serializer/SerializeFilter;
const/4 v0, 0x0
aput-object p1, v2, v0
sget v4, Lcom/alibaba/fastjson/JSON;->DEFAULT_GENERATE_FEATURE:I
const/4 v3, 0x0
move-object v0, p0
move-object v5, p2
invoke-static/range {v0 .. v5}, Lcom/alibaba/fastjson/JSON;->toJSONString(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializeFilter;Ljava/lang/String;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static toJSONString(Ljava/lang/Object;Z)Ljava/lang/String;
.registers 4
if-nez p1, :cond_7
.line 918
invoke-static {p0}, Lcom/alibaba/fastjson/JSON;->toJSONString(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
return-object p0
:cond_7
const/4 p1, 0x1
new-array p1, p1, [Lcom/alibaba/fastjson/serializer/SerializerFeature;
const/4 v0, 0x0
.line 921
sget-object v1, Lcom/alibaba/fastjson/serializer/SerializerFeature;->PrettyFormat:Lcom/alibaba/fastjson/serializer/SerializerFeature;
aput-object v1, p1, v0
invoke-static {p0, p1}, Lcom/alibaba/fastjson/JSON;->toJSONString(Ljava/lang/Object;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static varargs toJSONString(Ljava/lang/Object;[Lcom/alibaba/fastjson/serializer/SerializeFilter;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String;
.registers 9
.line 731
sget-object v1, Lcom/alibaba/fastjson/serializer/SerializeConfig;->globalInstance:Lcom/alibaba/fastjson/serializer/SerializeConfig;
sget v4, Lcom/alibaba/fastjson/JSON;->DEFAULT_GENERATE_FEATURE:I
const/4 v3, 0x0
move-object v0, p0
move-object v2, p1
move-object v5, p2
invoke-static/range {v0 .. v5}, Lcom/alibaba/fastjson/JSON;->toJSONString(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializeFilter;Ljava/lang/String;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static varargs toJSONString(Ljava/lang/Object;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String;
.registers 3
.line 692
sget v0, Lcom/alibaba/fastjson/JSON;->DEFAULT_GENERATE_FEATURE:I
invoke-static {p0, v0, p1}, Lcom/alibaba/fastjson/JSON;->toJSONString(Ljava/lang/Object;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static varargs toJSONStringWithDateFormat(Ljava/lang/Object;Ljava/lang/String;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String;
.registers 9
.line 723
sget-object v1, Lcom/alibaba/fastjson/serializer/SerializeConfig;->globalInstance:Lcom/alibaba/fastjson/serializer/SerializeConfig;
sget v4, Lcom/alibaba/fastjson/JSON;->DEFAULT_GENERATE_FEATURE:I
const/4 v2, 0x0
move-object v0, p0
move-object v3, p1
move-object v5, p2
invoke-static/range {v0 .. v5}, Lcom/alibaba/fastjson/JSON;->toJSONString(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializeFilter;Ljava/lang/String;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static varargs toJSONStringZ(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String;
.registers 9
.line 805
sget-object v2, Lcom/alibaba/fastjson/JSON;->emptyFilters:[Lcom/alibaba/fastjson/serializer/SerializeFilter;
const/4 v3, 0x0
const/4 v4, 0x0
move-object v0, p0
move-object v1, p1
move-object v5, p2
invoke-static/range {v0 .. v5}, Lcom/alibaba/fastjson/JSON;->toJSONString(Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializeFilter;Ljava/lang/String;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static toJavaObject(Lcom/alibaba/fastjson/JSON;Ljava/lang/Class;)Ljava/lang/Object;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lcom/alibaba/fastjson/JSON;",
"Ljava/lang/Class<",
"TT;>;)TT;"
}
.end annotation
.line 1236
invoke-static {}, Lcom/alibaba/fastjson/parser/ParserConfig;->getGlobalInstance()Lcom/alibaba/fastjson/parser/ParserConfig;
move-result-object v0
invoke-static {p0, p1, v0}, Lcom/alibaba/fastjson/util/TypeUtils;->cast(Ljava/lang/Object;Ljava/lang/Class;Lcom/alibaba/fastjson/parser/ParserConfig;)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method public static final varargs writeJSONString(Ljava/io/OutputStream;Ljava/lang/Object;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)I
.registers 12
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 978
sget-object v1, Lcom/alibaba/fastjson/util/IOUtils;->UTF8:Ljava/nio/charset/Charset;
sget-object v3, Lcom/alibaba/fastjson/serializer/SerializeConfig;->globalInstance:Lcom/alibaba/fastjson/serializer/SerializeConfig;
const/4 v4, 0x0
const/4 v5, 0x0
move-object v0, p0
move-object v2, p1
move v6, p2
move-object v7, p3
invoke-static/range {v0 .. v7}, Lcom/alibaba/fastjson/JSON;->writeJSONString(Ljava/io/OutputStream;Ljava/nio/charset/Charset;Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializeFilter;Ljava/lang/String;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)I
move-result p0
return p0
.end method
.method public static final varargs writeJSONString(Ljava/io/OutputStream;Ljava/lang/Object;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)I
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 968
sget v0, Lcom/alibaba/fastjson/JSON;->DEFAULT_GENERATE_FEATURE:I
invoke-static {p0, p1, v0, p2}, Lcom/alibaba/fastjson/JSON;->writeJSONString(Ljava/io/OutputStream;Ljava/lang/Object;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)I
move-result p0
return p0
.end method
.method public static final varargs writeJSONString(Ljava/io/OutputStream;Ljava/nio/charset/Charset;Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializeFilter;Ljava/lang/String;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)I
.registers 10
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1010
new-instance v0, Lcom/alibaba/fastjson/serializer/SerializeWriter;
const/4 v1, 0x0
invoke-direct {v0, v1, p6, p7}, Lcom/alibaba/fastjson/serializer/SerializeWriter;-><init>(Ljava/io/Writer;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)V
.line 1013
:try_start_6
new-instance p6, Lcom/alibaba/fastjson/serializer/JSONSerializer;
invoke-direct {p6, v0, p3}, Lcom/alibaba/fastjson/serializer/JSONSerializer;-><init>(Lcom/alibaba/fastjson/serializer/SerializeWriter;Lcom/alibaba/fastjson/serializer/SerializeConfig;)V
if-eqz p5, :cond_1c
.line 1015
invoke-virtual {p5}, Ljava/lang/String;->length()I
move-result p3
if-eqz p3, :cond_1c
.line 1016
invoke-virtual {p6, p5}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->setDateFormat(Ljava/lang/String;)V
.line 1017
sget-object p3, Lcom/alibaba/fastjson/serializer/SerializerFeature;->WriteDateUseDateFormat:Lcom/alibaba/fastjson/serializer/SerializerFeature;
const/4 p5, 0x1
invoke-virtual {p6, p3, p5}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->config(Lcom/alibaba/fastjson/serializer/SerializerFeature;Z)V
:cond_1c
if-eqz p4, :cond_2a
.line 1021
array-length p3, p4
const/4 p5, 0x0
:goto_20
if-ge p5, p3, :cond_2a
aget-object p7, p4, p5
.line 1022
invoke-virtual {p6, p7}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->addFilter(Lcom/alibaba/fastjson/serializer/SerializeFilter;)V
add-int/lit8 p5, p5, 0x1
goto :goto_20
.line 1026
:cond_2a
invoke-virtual {p6, p2}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->write(Ljava/lang/Object;)V
.line 1028
invoke-virtual {v0, p0, p1}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->writeToEx(Ljava/io/OutputStream;Ljava/nio/charset/Charset;)I
move-result p0
:try_end_31
.catchall {:try_start_6 .. :try_end_31} :catchall_35
.line 1031
invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V
return p0
:catchall_35
move-exception p0
invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V
.line 1032
throw p0
.end method
.method public static final varargs writeJSONString(Ljava/io/OutputStream;Ljava/nio/charset/Charset;Ljava/lang/Object;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)I
.registers 12
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 992
sget-object v3, Lcom/alibaba/fastjson/serializer/SerializeConfig;->globalInstance:Lcom/alibaba/fastjson/serializer/SerializeConfig;
sget v6, Lcom/alibaba/fastjson/JSON;->DEFAULT_GENERATE_FEATURE:I
const/4 v4, 0x0
const/4 v5, 0x0
move-object v0, p0
move-object v1, p1
move-object v2, p2
move-object v7, p3
invoke-static/range {v0 .. v7}, Lcom/alibaba/fastjson/JSON;->writeJSONString(Ljava/io/OutputStream;Ljava/nio/charset/Charset;Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializeFilter;Ljava/lang/String;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)I
move-result p0
return p0
.end method
.method public static varargs writeJSONString(Ljava/io/Writer;Ljava/lang/Object;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)V
.registers 5
.line 947
new-instance v0, Lcom/alibaba/fastjson/serializer/SerializeWriter;
invoke-direct {v0, p0, p2, p3}, Lcom/alibaba/fastjson/serializer/SerializeWriter;-><init>(Ljava/io/Writer;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)V
.line 950
:try_start_5
new-instance p0, Lcom/alibaba/fastjson/serializer/JSONSerializer;
invoke-direct {p0, v0}, Lcom/alibaba/fastjson/serializer/JSONSerializer;-><init>(Lcom/alibaba/fastjson/serializer/SerializeWriter;)V
.line 951
invoke-virtual {p0, p1}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->write(Ljava/lang/Object;)V
:try_end_d
.catchall {:try_start_5 .. :try_end_d} :catchall_11
.line 953
invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V
return-void
:catchall_11
move-exception p0
invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V
.line 954
throw p0
.end method
.method public static varargs writeJSONString(Ljava/io/Writer;Ljava/lang/Object;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)V
.registers 4
.line 940
sget v0, Lcom/alibaba/fastjson/JSON;->DEFAULT_GENERATE_FEATURE:I
invoke-static {p0, p1, v0, p2}, Lcom/alibaba/fastjson/JSON;->writeJSONString(Ljava/io/Writer;Ljava/lang/Object;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)V
return-void
.end method
.method public static varargs writeJSONStringTo(Ljava/lang/Object;Ljava/io/Writer;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)V
.registers 3
.line 928
invoke-static {p1, p0, p2}, Lcom/alibaba/fastjson/JSON;->writeJSONString(Ljava/io/Writer;Ljava/lang/Object;[Lcom/alibaba/fastjson/serializer/SerializerFeature;)V
return-void
.end method
.method public static final varargs writeJSONStringWithFastJsonConfig(Ljava/io/OutputStream;Ljava/nio/charset/Charset;Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/SerializeConfig;[Lcom/alibaba/fastjson/serializer/SerializeFilter;Ljava/lang/String;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)I
.registers 10
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1043
new-instance v0, Lcom/alibaba/fastjson/serializer/SerializeWriter;
const/4 v1, 0x0
invoke-direct {v0, v1, p6, p7}, Lcom/alibaba/fastjson/serializer/SerializeWriter;-><init>(Ljava/io/Writer;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)V
.line 1046
:try_start_6
new-instance p6, Lcom/alibaba/fastjson/serializer/JSONSerializer;
invoke-direct {p6, v0, p3}, Lcom/alibaba/fastjson/serializer/JSONSerializer;-><init>(Lcom/alibaba/fastjson/serializer/SerializeWriter;Lcom/alibaba/fastjson/serializer/SerializeConfig;)V
if-eqz p5, :cond_1c
.line 1048
invoke-virtual {p5}, Ljava/lang/String;->length()I
move-result p3
if-eqz p3, :cond_1c
.line 1049
invoke-virtual {p6, p5}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->setFastJsonConfigDateFormatPattern(Ljava/lang/String;)V
.line 1050
sget-object p3, Lcom/alibaba/fastjson/serializer/SerializerFeature;->WriteDateUseDateFormat:Lcom/alibaba/fastjson/serializer/SerializerFeature;
const/4 p5, 0x1
invoke-virtual {p6, p3, p5}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->config(Lcom/alibaba/fastjson/serializer/SerializerFeature;Z)V
:cond_1c
if-eqz p4, :cond_2a
.line 1054
array-length p3, p4
const/4 p5, 0x0
:goto_20
if-ge p5, p3, :cond_2a
aget-object p7, p4, p5
.line 1055
invoke-virtual {p6, p7}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->addFilter(Lcom/alibaba/fastjson/serializer/SerializeFilter;)V
add-int/lit8 p5, p5, 0x1
goto :goto_20
.line 1059
:cond_2a
invoke-virtual {p6, p2}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->write(Ljava/lang/Object;)V
.line 1061
invoke-virtual {v0, p0, p1}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->writeToEx(Ljava/io/OutputStream;Ljava/nio/charset/Charset;)I
move-result p0
:try_end_31
.catchall {:try_start_6 .. :try_end_31} :catchall_35
.line 1064
invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V
return p0
:catchall_35
move-exception p0
invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V
.line 1065
throw p0
.end method
# virtual methods
.method public toJSONString()Ljava/lang/String;
.registers 3
.line 1075
new-instance v0, Lcom/alibaba/fastjson/serializer/SerializeWriter;
invoke-direct {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;-><init>()V
.line 1077
:try_start_5
new-instance v1, Lcom/alibaba/fastjson/serializer/JSONSerializer;
invoke-direct {v1, v0}, Lcom/alibaba/fastjson/serializer/JSONSerializer;-><init>(Lcom/alibaba/fastjson/serializer/SerializeWriter;)V
invoke-virtual {v1, p0}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->write(Ljava/lang/Object;)V
.line 1078
invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->toString()Ljava/lang/String;
move-result-object v1
:try_end_11
.catchall {:try_start_5 .. :try_end_11} :catchall_15
.line 1080
invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V
return-object v1
:catchall_15
move-exception v1
invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V
.line 1081
throw v1
.end method
.method public toJavaObject(Lcom/alibaba/fastjson/TypeReference;)Ljava/lang/Object;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lcom/alibaba/fastjson/TypeReference;",
")TT;"
}
.end annotation
if-eqz p1, :cond_7
.line 1261
invoke-virtual {p1}, Lcom/alibaba/fastjson/TypeReference;->getType()Ljava/lang/reflect/Type;
move-result-object p1
goto :goto_8
:cond_7
const/4 p1, 0x0
.line 1262
:goto_8
invoke-static {}, Lcom/alibaba/fastjson/parser/ParserConfig;->getGlobalInstance()Lcom/alibaba/fastjson/parser/ParserConfig;
move-result-object v0
invoke-static {p0, p1, v0}, Lcom/alibaba/fastjson/util/TypeUtils;->cast(Ljava/lang/Object;Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/ParserConfig;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public toJavaObject(Ljava/lang/Class;)Ljava/lang/Object;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/Class<",
"TT;>;)TT;"
}
.end annotation
.line 1243
const-class v0, Lcom/alibaba/fastjson/JSONArray;
if-eq p1, v0, :cond_1a
const-class v0, Lcom/alibaba/fastjson/JSON;
if-eq p1, v0, :cond_1a
const-class v0, Ljava/util/Collection;
if-eq p1, v0, :cond_1a
const-class v0, Ljava/util/List;
if-ne p1, v0, :cond_11
goto :goto_1a
.line 1247
:cond_11
invoke-static {}, Lcom/alibaba/fastjson/parser/ParserConfig;->getGlobalInstance()Lcom/alibaba/fastjson/parser/ParserConfig;
move-result-object v0
invoke-static {p0, p1, v0}, Lcom/alibaba/fastjson/util/TypeUtils;->cast(Ljava/lang/Object;Ljava/lang/Class;Lcom/alibaba/fastjson/parser/ParserConfig;)Ljava/lang/Object;
move-result-object p1
return-object p1
:cond_1a
:goto_1a
return-object p0
.end method
.method public toJavaObject(Ljava/lang/reflect/Type;)Ljava/lang/Object;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/reflect/Type;",
")TT;"
}
.end annotation
.line 1254
invoke-static {}, Lcom/alibaba/fastjson/parser/ParserConfig;->getGlobalInstance()Lcom/alibaba/fastjson/parser/ParserConfig;
move-result-object v0
invoke-static {p0, p1, v0}, Lcom/alibaba/fastjson/util/TypeUtils;->cast(Ljava/lang/Object;Ljava/lang/reflect/Type;Lcom/alibaba/fastjson/parser/ParserConfig;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public toString()Ljava/lang/String;
.registers 2
.line 1071
invoke-virtual {p0}, Lcom/alibaba/fastjson/JSON;->toJSONString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public varargs toString([Lcom/alibaba/fastjson/serializer/SerializerFeature;)Ljava/lang/String;
.registers 5
.line 1088
new-instance v0, Lcom/alibaba/fastjson/serializer/SerializeWriter;
sget v1, Lcom/alibaba/fastjson/JSON;->DEFAULT_GENERATE_FEATURE:I
const/4 v2, 0x0
invoke-direct {v0, v2, v1, p1}, Lcom/alibaba/fastjson/serializer/SerializeWriter;-><init>(Ljava/io/Writer;I[Lcom/alibaba/fastjson/serializer/SerializerFeature;)V
.line 1091
:try_start_8
new-instance p1, Lcom/alibaba/fastjson/serializer/JSONSerializer;
invoke-direct {p1, v0}, Lcom/alibaba/fastjson/serializer/JSONSerializer;-><init>(Lcom/alibaba/fastjson/serializer/SerializeWriter;)V
invoke-virtual {p1, p0}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->write(Ljava/lang/Object;)V
.line 1092
invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->toString()Ljava/lang/String;
move-result-object p1
:try_end_14
.catchall {:try_start_8 .. :try_end_14} :catchall_18
.line 1094
invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V
return-object p1
:catchall_18
move-exception p1
invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V
.line 1095
throw p1
.end method
.method public writeJSONString(Ljava/lang/Appendable;)V
.registers 5
.line 1099
new-instance v0, Lcom/alibaba/fastjson/serializer/SerializeWriter;
invoke-direct {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;-><init>()V
.line 1101
:try_start_5
new-instance v1, Lcom/alibaba/fastjson/serializer/JSONSerializer;
invoke-direct {v1, v0}, Lcom/alibaba/fastjson/serializer/JSONSerializer;-><init>(Lcom/alibaba/fastjson/serializer/SerializeWriter;)V
invoke-virtual {v1, p0}, Lcom/alibaba/fastjson/serializer/JSONSerializer;->write(Ljava/lang/Object;)V
.line 1102
invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->toString()Ljava/lang/String;
move-result-object v1
invoke-interface {p1, v1}, Ljava/lang/Appendable;->append(Ljava/lang/CharSequence;)Ljava/lang/Appendable;
:try_end_14
.catch Ljava/io/IOException; {:try_start_5 .. :try_end_14} :catch_1a
.catchall {:try_start_5 .. :try_end_14} :catchall_18
.line 1106
invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V
return-void
:catchall_18
move-exception p1
goto :goto_25
:catch_1a
move-exception p1
.line 1104
:try_start_1b
new-instance v1, Lcom/alibaba/fastjson/JSONException;
invoke-virtual {p1}, Ljava/io/IOException;->getMessage()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2, p1}, Lcom/alibaba/fastjson/JSONException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v1
:try_end_25
.catchall {:try_start_1b .. :try_end_25} :catchall_18
.line 1106
:goto_25
invoke-virtual {v0}, Lcom/alibaba/fastjson/serializer/SerializeWriter;->close()V
.line 1107
throw p1
.end method