You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1780 lines
49 KiB
1780 lines
49 KiB
2 years ago
|
.class public final Lcom/google/gson/Gson;
|
||
|
.super Ljava/lang/Object;
|
||
|
.source "Gson.java"
|
||
|
|
||
|
|
||
|
# annotations
|
||
|
.annotation system Ldalvik/annotation/MemberClasses;
|
||
|
value = {
|
||
|
Lcom/google/gson/Gson$FutureTypeAdapter;
|
||
|
}
|
||
|
.end annotation
|
||
|
|
||
|
|
||
|
# static fields
|
||
|
.field static final DEFAULT_JSON_NON_EXECUTABLE:Z = false
|
||
|
|
||
|
.field private static final JSON_NON_EXECUTABLE_PREFIX:Ljava/lang/String; = ")]}\'\n"
|
||
|
|
||
|
|
||
|
# instance fields
|
||
|
.field private final calls:Ljava/lang/ThreadLocal;
|
||
|
.annotation system Ldalvik/annotation/Signature;
|
||
|
value = {
|
||
|
"Ljava/lang/ThreadLocal",
|
||
|
"<",
|
||
|
"Ljava/util/Map",
|
||
|
"<",
|
||
|
"Lcom/google/gson/reflect/TypeToken",
|
||
|
"<*>;",
|
||
|
"Lcom/google/gson/Gson$FutureTypeAdapter",
|
||
|
"<*>;>;>;"
|
||
|
}
|
||
|
.end annotation
|
||
|
.end field
|
||
|
|
||
|
.field private final constructorConstructor:Lcom/google/gson/internal/ConstructorConstructor;
|
||
|
|
||
|
.field final deserializationContext:Lcom/google/gson/JsonDeserializationContext;
|
||
|
|
||
|
.field private final factories:Ljava/util/List;
|
||
|
.annotation system Ldalvik/annotation/Signature;
|
||
|
value = {
|
||
|
"Ljava/util/List",
|
||
|
"<",
|
||
|
"Lcom/google/gson/TypeAdapterFactory;",
|
||
|
">;"
|
||
|
}
|
||
|
.end annotation
|
||
|
.end field
|
||
|
|
||
|
.field private final generateNonExecutableJson:Z
|
||
|
|
||
|
.field private final htmlSafe:Z
|
||
|
|
||
|
.field private final prettyPrinting:Z
|
||
|
|
||
|
.field final serializationContext:Lcom/google/gson/JsonSerializationContext;
|
||
|
|
||
|
.field private final serializeNulls:Z
|
||
|
|
||
|
.field private final typeTokenCache:Ljava/util/Map;
|
||
|
.annotation system Ldalvik/annotation/Signature;
|
||
|
value = {
|
||
|
"Ljava/util/Map",
|
||
|
"<",
|
||
|
"Lcom/google/gson/reflect/TypeToken",
|
||
|
"<*>;",
|
||
|
"Lcom/google/gson/TypeAdapter",
|
||
|
"<*>;>;"
|
||
|
}
|
||
|
.end annotation
|
||
|
.end field
|
||
|
|
||
|
|
||
|
# direct methods
|
||
|
.method public constructor <init>()V
|
||
|
.locals 12
|
||
|
|
||
|
.prologue
|
||
|
const/4 v4, 0x0
|
||
|
|
||
|
.line 177
|
||
|
sget-object v1, Lcom/google/gson/internal/Excluder;->DEFAULT:Lcom/google/gson/internal/Excluder;
|
||
|
|
||
|
sget-object v2, Lcom/google/gson/FieldNamingPolicy;->IDENTITY:Lcom/google/gson/FieldNamingPolicy;
|
||
|
|
||
|
invoke-static {}, Ljava/util/Collections;->emptyMap()Ljava/util/Map;
|
||
|
|
||
|
move-result-object v3
|
||
|
|
||
|
const/4 v7, 0x1
|
||
|
|
||
|
sget-object v10, Lcom/google/gson/LongSerializationPolicy;->DEFAULT:Lcom/google/gson/LongSerializationPolicy;
|
||
|
|
||
|
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
|
||
|
|
||
|
move-result-object v11
|
||
|
|
||
|
move-object v0, p0
|
||
|
|
||
|
move v5, v4
|
||
|
|
||
|
move v6, v4
|
||
|
|
||
|
move v8, v4
|
||
|
|
||
|
move v9, v4
|
||
|
|
||
|
invoke-direct/range {v0 .. v11}, Lcom/google/gson/Gson;-><init>(Lcom/google/gson/internal/Excluder;Lcom/google/gson/FieldNamingStrategy;Ljava/util/Map;ZZZZZZLcom/google/gson/LongSerializationPolicy;Ljava/util/List;)V
|
||
|
|
||
|
.line 181
|
||
|
return-void
|
||
|
.end method
|
||
|
|
||
|
.method constructor <init>(Lcom/google/gson/internal/Excluder;Lcom/google/gson/FieldNamingStrategy;Ljava/util/Map;ZZZZZZLcom/google/gson/LongSerializationPolicy;Ljava/util/List;)V
|
||
|
.locals 4
|
||
|
.annotation system Ldalvik/annotation/Signature;
|
||
|
value = {
|
||
|
"(",
|
||
|
"Lcom/google/gson/internal/Excluder;",
|
||
|
"Lcom/google/gson/FieldNamingStrategy;",
|
||
|
"Ljava/util/Map",
|
||
|
"<",
|
||
|
"Ljava/lang/reflect/Type;",
|
||
|
"Lcom/google/gson/InstanceCreator",
|
||
|
"<*>;>;ZZZZZZ",
|
||
|
"Lcom/google/gson/LongSerializationPolicy;",
|
||
|
"Ljava/util/List",
|
||
|
"<",
|
||
|
"Lcom/google/gson/TypeAdapterFactory;",
|
||
|
">;)V"
|
||
|
}
|
||
|
.end annotation
|
||
|
|
||
|
.prologue
|
||
|
.line 188
|
||
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||
|
|
||
|
.line 112
|
||
|
new-instance v0, Ljava/lang/ThreadLocal;
|
||
|
|
||
|
invoke-direct {v0}, Ljava/lang/ThreadLocal;-><init>()V
|
||
|
|
||
|
iput-object v0, p0, Lcom/google/gson/Gson;->calls:Ljava/lang/ThreadLocal;
|
||
|
|
||
|
.line 115
|
||
|
new-instance v0, Ljava/util/HashMap;
|
||
|
|
||
|
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
|
||
|
|
||
|
invoke-static {v0}, Ljava/util/Collections;->synchronizedMap(Ljava/util/Map;)Ljava/util/Map;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
iput-object v0, p0, Lcom/google/gson/Gson;->typeTokenCache:Ljava/util/Map;
|
||
|
|
||
|
.line 126
|
||
|
new-instance v0, Lcom/google/gson/Gson$1;
|
||
|
|
||
|
invoke-direct {v0, p0}, Lcom/google/gson/Gson$1;-><init>(Lcom/google/gson/Gson;)V
|
||
|
|
||
|
iput-object v0, p0, Lcom/google/gson/Gson;->deserializationContext:Lcom/google/gson/JsonDeserializationContext;
|
||
|
|
||
|
.line 133
|
||
|
new-instance v0, Lcom/google/gson/Gson$2;
|
||
|
|
||
|
invoke-direct {v0, p0}, Lcom/google/gson/Gson$2;-><init>(Lcom/google/gson/Gson;)V
|
||
|
|
||
|
iput-object v0, p0, Lcom/google/gson/Gson;->serializationContext:Lcom/google/gson/JsonSerializationContext;
|
||
|
|
||
|
.line 189
|
||
|
new-instance v0, Lcom/google/gson/internal/ConstructorConstructor;
|
||
|
|
||
|
invoke-direct {v0, p3}, Lcom/google/gson/internal/ConstructorConstructor;-><init>(Ljava/util/Map;)V
|
||
|
|
||
|
iput-object v0, p0, Lcom/google/gson/Gson;->constructorConstructor:Lcom/google/gson/internal/ConstructorConstructor;
|
||
|
|
||
|
.line 190
|
||
|
iput-boolean p4, p0, Lcom/google/gson/Gson;->serializeNulls:Z
|
||
|
|
||
|
.line 191
|
||
|
iput-boolean p6, p0, Lcom/google/gson/Gson;->generateNonExecutableJson:Z
|
||
|
|
||
|
.line 192
|
||
|
iput-boolean p7, p0, Lcom/google/gson/Gson;->htmlSafe:Z
|
||
|
|
||
|
.line 193
|
||
|
iput-boolean p8, p0, Lcom/google/gson/Gson;->prettyPrinting:Z
|
||
|
|
||
|
.line 195
|
||
|
new-instance v0, Ljava/util/ArrayList;
|
||
|
|
||
|
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
|
||
|
|
||
|
.line 198
|
||
|
sget-object v1, Lcom/google/gson/internal/bind/TypeAdapters;->JSON_ELEMENT_FACTORY:Lcom/google/gson/TypeAdapterFactory;
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 199
|
||
|
sget-object v1, Lcom/google/gson/internal/bind/ObjectTypeAdapter;->FACTORY:Lcom/google/gson/TypeAdapterFactory;
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 202
|
||
|
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 205
|
||
|
invoke-interface {v0, p11}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z
|
||
|
|
||
|
.line 208
|
||
|
sget-object v1, Lcom/google/gson/internal/bind/TypeAdapters;->STRING_FACTORY:Lcom/google/gson/TypeAdapterFactory;
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 209
|
||
|
sget-object v1, Lcom/google/gson/internal/bind/TypeAdapters;->INTEGER_FACTORY:Lcom/google/gson/TypeAdapterFactory;
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 210
|
||
|
sget-object v1, Lcom/google/gson/internal/bind/TypeAdapters;->BOOLEAN_FACTORY:Lcom/google/gson/TypeAdapterFactory;
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 211
|
||
|
sget-object v1, Lcom/google/gson/internal/bind/TypeAdapters;->BYTE_FACTORY:Lcom/google/gson/TypeAdapterFactory;
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 212
|
||
|
sget-object v1, Lcom/google/gson/internal/bind/TypeAdapters;->SHORT_FACTORY:Lcom/google/gson/TypeAdapterFactory;
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 213
|
||
|
sget-object v1, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
|
||
|
|
||
|
const-class v2, Ljava/lang/Long;
|
||
|
|
||
|
invoke-direct {p0, p10}, Lcom/google/gson/Gson;->longAdapter(Lcom/google/gson/LongSerializationPolicy;)Lcom/google/gson/TypeAdapter;
|
||
|
|
||
|
move-result-object v3
|
||
|
|
||
|
invoke-static {v1, v2, v3}, Lcom/google/gson/internal/bind/TypeAdapters;->newFactory(Ljava/lang/Class;Ljava/lang/Class;Lcom/google/gson/TypeAdapter;)Lcom/google/gson/TypeAdapterFactory;
|
||
|
|
||
|
move-result-object v1
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 215
|
||
|
sget-object v1, Ljava/lang/Double;->TYPE:Ljava/lang/Class;
|
||
|
|
||
|
const-class v2, Ljava/lang/Double;
|
||
|
|
||
|
invoke-direct {p0, p9}, Lcom/google/gson/Gson;->doubleAdapter(Z)Lcom/google/gson/TypeAdapter;
|
||
|
|
||
|
move-result-object v3
|
||
|
|
||
|
invoke-static {v1, v2, v3}, Lcom/google/gson/internal/bind/TypeAdapters;->newFactory(Ljava/lang/Class;Ljava/lang/Class;Lcom/google/gson/TypeAdapter;)Lcom/google/gson/TypeAdapterFactory;
|
||
|
|
||
|
move-result-object v1
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 217
|
||
|
sget-object v1, Ljava/lang/Float;->TYPE:Ljava/lang/Class;
|
||
|
|
||
|
const-class v2, Ljava/lang/Float;
|
||
|
|
||
|
invoke-direct {p0, p9}, Lcom/google/gson/Gson;->floatAdapter(Z)Lcom/google/gson/TypeAdapter;
|
||
|
|
||
|
move-result-object v3
|
||
|
|
||
|
invoke-static {v1, v2, v3}, Lcom/google/gson/internal/bind/TypeAdapters;->newFactory(Ljava/lang/Class;Ljava/lang/Class;Lcom/google/gson/TypeAdapter;)Lcom/google/gson/TypeAdapterFactory;
|
||
|
|
||
|
move-result-object v1
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 219
|
||
|
sget-object v1, Lcom/google/gson/internal/bind/TypeAdapters;->NUMBER_FACTORY:Lcom/google/gson/TypeAdapterFactory;
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 220
|
||
|
sget-object v1, Lcom/google/gson/internal/bind/TypeAdapters;->CHARACTER_FACTORY:Lcom/google/gson/TypeAdapterFactory;
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 221
|
||
|
sget-object v1, Lcom/google/gson/internal/bind/TypeAdapters;->STRING_BUILDER_FACTORY:Lcom/google/gson/TypeAdapterFactory;
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 222
|
||
|
sget-object v1, Lcom/google/gson/internal/bind/TypeAdapters;->STRING_BUFFER_FACTORY:Lcom/google/gson/TypeAdapterFactory;
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 223
|
||
|
const-class v1, Ljava/math/BigDecimal;
|
||
|
|
||
|
sget-object v2, Lcom/google/gson/internal/bind/TypeAdapters;->BIG_DECIMAL:Lcom/google/gson/TypeAdapter;
|
||
|
|
||
|
invoke-static {v1, v2}, Lcom/google/gson/internal/bind/TypeAdapters;->newFactory(Ljava/lang/Class;Lcom/google/gson/TypeAdapter;)Lcom/google/gson/TypeAdapterFactory;
|
||
|
|
||
|
move-result-object v1
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 224
|
||
|
const-class v1, Ljava/math/BigInteger;
|
||
|
|
||
|
sget-object v2, Lcom/google/gson/internal/bind/TypeAdapters;->BIG_INTEGER:Lcom/google/gson/TypeAdapter;
|
||
|
|
||
|
invoke-static {v1, v2}, Lcom/google/gson/internal/bind/TypeAdapters;->newFactory(Ljava/lang/Class;Lcom/google/gson/TypeAdapter;)Lcom/google/gson/TypeAdapterFactory;
|
||
|
|
||
|
move-result-object v1
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 225
|
||
|
sget-object v1, Lcom/google/gson/internal/bind/TypeAdapters;->URL_FACTORY:Lcom/google/gson/TypeAdapterFactory;
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 226
|
||
|
sget-object v1, Lcom/google/gson/internal/bind/TypeAdapters;->URI_FACTORY:Lcom/google/gson/TypeAdapterFactory;
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 227
|
||
|
sget-object v1, Lcom/google/gson/internal/bind/TypeAdapters;->UUID_FACTORY:Lcom/google/gson/TypeAdapterFactory;
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 228
|
||
|
sget-object v1, Lcom/google/gson/internal/bind/TypeAdapters;->LOCALE_FACTORY:Lcom/google/gson/TypeAdapterFactory;
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 229
|
||
|
sget-object v1, Lcom/google/gson/internal/bind/TypeAdapters;->INET_ADDRESS_FACTORY:Lcom/google/gson/TypeAdapterFactory;
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 230
|
||
|
sget-object v1, Lcom/google/gson/internal/bind/TypeAdapters;->BIT_SET_FACTORY:Lcom/google/gson/TypeAdapterFactory;
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 231
|
||
|
sget-object v1, Lcom/google/gson/internal/bind/DateTypeAdapter;->FACTORY:Lcom/google/gson/TypeAdapterFactory;
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 232
|
||
|
sget-object v1, Lcom/google/gson/internal/bind/TypeAdapters;->CALENDAR_FACTORY:Lcom/google/gson/TypeAdapterFactory;
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 233
|
||
|
sget-object v1, Lcom/google/gson/internal/bind/TimeTypeAdapter;->FACTORY:Lcom/google/gson/TypeAdapterFactory;
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 234
|
||
|
sget-object v1, Lcom/google/gson/internal/bind/SqlDateTypeAdapter;->FACTORY:Lcom/google/gson/TypeAdapterFactory;
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 235
|
||
|
sget-object v1, Lcom/google/gson/internal/bind/TypeAdapters;->TIMESTAMP_FACTORY:Lcom/google/gson/TypeAdapterFactory;
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 236
|
||
|
sget-object v1, Lcom/google/gson/internal/bind/ArrayTypeAdapter;->FACTORY:Lcom/google/gson/TypeAdapterFactory;
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 237
|
||
|
sget-object v1, Lcom/google/gson/internal/bind/TypeAdapters;->CLASS_FACTORY:Lcom/google/gson/TypeAdapterFactory;
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 240
|
||
|
new-instance v1, Lcom/google/gson/internal/bind/CollectionTypeAdapterFactory;
|
||
|
|
||
|
iget-object v2, p0, Lcom/google/gson/Gson;->constructorConstructor:Lcom/google/gson/internal/ConstructorConstructor;
|
||
|
|
||
|
invoke-direct {v1, v2}, Lcom/google/gson/internal/bind/CollectionTypeAdapterFactory;-><init>(Lcom/google/gson/internal/ConstructorConstructor;)V
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 241
|
||
|
new-instance v1, Lcom/google/gson/internal/bind/MapTypeAdapterFactory;
|
||
|
|
||
|
iget-object v2, p0, Lcom/google/gson/Gson;->constructorConstructor:Lcom/google/gson/internal/ConstructorConstructor;
|
||
|
|
||
|
invoke-direct {v1, v2, p5}, Lcom/google/gson/internal/bind/MapTypeAdapterFactory;-><init>(Lcom/google/gson/internal/ConstructorConstructor;Z)V
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 242
|
||
|
new-instance v1, Lcom/google/gson/internal/bind/JsonAdapterAnnotationTypeAdapterFactory;
|
||
|
|
||
|
iget-object v2, p0, Lcom/google/gson/Gson;->constructorConstructor:Lcom/google/gson/internal/ConstructorConstructor;
|
||
|
|
||
|
invoke-direct {v1, v2}, Lcom/google/gson/internal/bind/JsonAdapterAnnotationTypeAdapterFactory;-><init>(Lcom/google/gson/internal/ConstructorConstructor;)V
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 243
|
||
|
sget-object v1, Lcom/google/gson/internal/bind/TypeAdapters;->ENUM_FACTORY:Lcom/google/gson/TypeAdapterFactory;
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 244
|
||
|
new-instance v1, Lcom/google/gson/internal/bind/ReflectiveTypeAdapterFactory;
|
||
|
|
||
|
iget-object v2, p0, Lcom/google/gson/Gson;->constructorConstructor:Lcom/google/gson/internal/ConstructorConstructor;
|
||
|
|
||
|
invoke-direct {v1, v2, p2, p1}, Lcom/google/gson/internal/bind/ReflectiveTypeAdapterFactory;-><init>(Lcom/google/gson/internal/ConstructorConstructor;Lcom/google/gson/FieldNamingStrategy;Lcom/google/gson/internal/Excluder;)V
|
||
|
|
||
|
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||
|
|
||
|
.line 247
|
||
|
invoke-static {v0}, Ljava/util/Collections;->unmodifiableList(Ljava/util/List;)Ljava/util/List;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
iput-object v0, p0, Lcom/google/gson/Gson;->factories:Ljava/util/List;
|
||
|
|
||
|
.line 248
|
||
|
return-void
|
||
|
.end method
|
||
|
|
||
|
.method static synthetic access$000(Lcom/google/gson/Gson;D)V
|
||
|
.locals 1
|
||
|
|
||
|
.prologue
|
||
|
.line 100
|
||
|
invoke-direct {p0, p1, p2}, Lcom/google/gson/Gson;->checkValidFloatingPoint(D)V
|
||
|
|
||
|
return-void
|
||
|
.end method
|
||
|
|
||
|
.method private static assertFullConsumption(Ljava/lang/Object;Lcom/google/gson/stream/JsonReader;)V
|
||
|
.locals 2
|
||
|
|
||
|
.prologue
|
||
|
.line 786
|
||
|
if-eqz p0, :cond_0
|
||
|
|
||
|
:try_start_0
|
||
|
invoke-virtual {p1}, Lcom/google/gson/stream/JsonReader;->peek()Lcom/google/gson/stream/JsonToken;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
sget-object v1, Lcom/google/gson/stream/JsonToken;->END_DOCUMENT:Lcom/google/gson/stream/JsonToken;
|
||
|
|
||
|
if-eq v0, v1, :cond_0
|
||
|
|
||
|
.line 787
|
||
|
new-instance v0, Lcom/google/gson/JsonIOException;
|
||
|
|
||
|
const-string v1, "JSON document was not fully consumed."
|
||
|
|
||
|
invoke-direct {v0, v1}, Lcom/google/gson/JsonIOException;-><init>(Ljava/lang/String;)V
|
||
|
|
||
|
throw v0
|
||
|
:try_end_0
|
||
|
.catch Lcom/google/gson/stream/MalformedJsonException; {:try_start_0 .. :try_end_0} :catch_0
|
||
|
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_1
|
||
|
|
||
|
.line 789
|
||
|
:catch_0
|
||
|
move-exception v0
|
||
|
|
||
|
.line 790
|
||
|
new-instance v1, Lcom/google/gson/JsonSyntaxException;
|
||
|
|
||
|
invoke-direct {v1, v0}, Lcom/google/gson/JsonSyntaxException;-><init>(Ljava/lang/Throwable;)V
|
||
|
|
||
|
throw v1
|
||
|
|
||
|
.line 791
|
||
|
:catch_1
|
||
|
move-exception v0
|
||
|
|
||
|
.line 792
|
||
|
new-instance v1, Lcom/google/gson/JsonIOException;
|
||
|
|
||
|
invoke-direct {v1, v0}, Lcom/google/gson/JsonIOException;-><init>(Ljava/lang/Throwable;)V
|
||
|
|
||
|
throw v1
|
||
|
|
||
|
.line 794
|
||
|
:cond_0
|
||
|
return-void
|
||
|
.end method
|
||
|
|
||
|
.method private checkValidFloatingPoint(D)V
|
||
|
.locals 3
|
||
|
|
||
|
.prologue
|
||
|
.line 299
|
||
|
invoke-static {p1, p2}, Ljava/lang/Double;->isNaN(D)Z
|
||
|
|
||
|
move-result v0
|
||
|
|
||
|
if-nez v0, :cond_0
|
||
|
|
||
|
invoke-static {p1, p2}, Ljava/lang/Double;->isInfinite(D)Z
|
||
|
|
||
|
move-result v0
|
||
|
|
||
|
if-eqz v0, :cond_1
|
||
|
|
||
|
.line 300
|
||
|
:cond_0
|
||
|
new-instance v0, Ljava/lang/IllegalArgumentException;
|
||
|
|
||
|
new-instance v1, Ljava/lang/StringBuilder;
|
||
|
|
||
|
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
|
||
|
|
||
|
invoke-virtual {v1, p1, p2}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
|
||
|
|
||
|
move-result-object v1
|
||
|
|
||
|
const-string v2, " is not a valid double value as per JSON specification. To override this"
|
||
|
|
||
|
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||
|
|
||
|
move-result-object v1
|
||
|
|
||
|
const-string v2, " behavior, use GsonBuilder.serializeSpecialFloatingPointValues() method."
|
||
|
|
||
|
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||
|
|
||
|
move-result-object v1
|
||
|
|
||
|
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
||
|
|
||
|
move-result-object v1
|
||
|
|
||
|
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
||
|
|
||
|
throw v0
|
||
|
|
||
|
.line 304
|
||
|
:cond_1
|
||
|
return-void
|
||
|
.end method
|
||
|
|
||
|
.method private doubleAdapter(Z)Lcom/google/gson/TypeAdapter;
|
||
|
.locals 1
|
||
|
.annotation system Ldalvik/annotation/Signature;
|
||
|
value = {
|
||
|
"(Z)",
|
||
|
"Lcom/google/gson/TypeAdapter",
|
||
|
"<",
|
||
|
"Ljava/lang/Number;",
|
||
|
">;"
|
||
|
}
|
||
|
.end annotation
|
||
|
|
||
|
.prologue
|
||
|
.line 251
|
||
|
if-eqz p1, :cond_0
|
||
|
|
||
|
.line 252
|
||
|
sget-object v0, Lcom/google/gson/internal/bind/TypeAdapters;->DOUBLE:Lcom/google/gson/TypeAdapter;
|
||
|
|
||
|
.line 254
|
||
|
:goto_0
|
||
|
return-object v0
|
||
|
|
||
|
:cond_0
|
||
|
new-instance v0, Lcom/google/gson/Gson$3;
|
||
|
|
||
|
invoke-direct {v0, p0}, Lcom/google/gson/Gson$3;-><init>(Lcom/google/gson/Gson;)V
|
||
|
|
||
|
goto :goto_0
|
||
|
.end method
|
||
|
|
||
|
.method private floatAdapter(Z)Lcom/google/gson/TypeAdapter;
|
||
|
.locals 1
|
||
|
.annotation system Ldalvik/annotation/Signature;
|
||
|
value = {
|
||
|
"(Z)",
|
||
|
"Lcom/google/gson/TypeAdapter",
|
||
|
"<",
|
||
|
"Ljava/lang/Number;",
|
||
|
">;"
|
||
|
}
|
||
|
.end annotation
|
||
|
|
||
|
.prologue
|
||
|
.line 275
|
||
|
if-eqz p1, :cond_0
|
||
|
|
||
|
.line 276
|
||
|
sget-object v0, Lcom/google/gson/internal/bind/TypeAdapters;->FLOAT:Lcom/google/gson/TypeAdapter;
|
||
|
|
||
|
.line 278
|
||
|
:goto_0
|
||
|
return-object v0
|
||
|
|
||
|
:cond_0
|
||
|
new-instance v0, Lcom/google/gson/Gson$4;
|
||
|
|
||
|
invoke-direct {v0, p0}, Lcom/google/gson/Gson$4;-><init>(Lcom/google/gson/Gson;)V
|
||
|
|
||
|
goto :goto_0
|
||
|
.end method
|
||
|
|
||
|
.method private longAdapter(Lcom/google/gson/LongSerializationPolicy;)Lcom/google/gson/TypeAdapter;
|
||
|
.locals 1
|
||
|
.annotation system Ldalvik/annotation/Signature;
|
||
|
value = {
|
||
|
"(",
|
||
|
"Lcom/google/gson/LongSerializationPolicy;",
|
||
|
")",
|
||
|
"Lcom/google/gson/TypeAdapter",
|
||
|
"<",
|
||
|
"Ljava/lang/Number;",
|
||
|
">;"
|
||
|
}
|
||
|
.end annotation
|
||
|
|
||
|
.prologue
|
||
|
.line 307
|
||
|
sget-object v0, Lcom/google/gson/LongSerializationPolicy;->DEFAULT:Lcom/google/gson/LongSerializationPolicy;
|
||
|
|
||
|
if-ne p1, v0, :cond_0
|
||
|
|
||
|
.line 308
|
||
|
sget-object v0, Lcom/google/gson/internal/bind/TypeAdapters;->LONG:Lcom/google/gson/TypeAdapter;
|
||
|
|
||
|
.line 310
|
||
|
:goto_0
|
||
|
return-object v0
|
||
|
|
||
|
:cond_0
|
||
|
new-instance v0, Lcom/google/gson/Gson$5;
|
||
|
|
||
|
invoke-direct {v0, p0}, Lcom/google/gson/Gson$5;-><init>(Lcom/google/gson/Gson;)V
|
||
|
|
||
|
goto :goto_0
|
||
|
.end method
|
||
|
|
||
|
|
||
|
# virtual methods
|
||
|
.method public fromJson(Lcom/google/gson/JsonElement;Ljava/lang/Class;)Ljava/lang/Object;
|
||
|
.locals 2
|
||
|
.annotation system Ldalvik/annotation/Signature;
|
||
|
value = {
|
||
|
"<T:",
|
||
|
"Ljava/lang/Object;",
|
||
|
">(",
|
||
|
"Lcom/google/gson/JsonElement;",
|
||
|
"Ljava/lang/Class",
|
||
|
"<TT;>;)TT;"
|
||
|
}
|
||
|
.end annotation
|
||
|
|
||
|
.prologue
|
||
|
.line 852
|
||
|
invoke-virtual {p0, p1, p2}, Lcom/google/gson/Gson;->fromJson(Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;)Ljava/lang/Object;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
.line 853
|
||
|
invoke-static {p2}, Lcom/google/gson/internal/Primitives;->wrap(Ljava/lang/Class;)Ljava/lang/Class;
|
||
|
|
||
|
move-result-object v1
|
||
|
|
||
|
invoke-virtual {v1, v0}, Ljava/lang/Class;->cast(Ljava/lang/Object;)Ljava/lang/Object;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
return-object v0
|
||
|
.end method
|
||
|
|
||
|
.method public fromJson(Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;)Ljava/lang/Object;
|
||
|
.locals 1
|
||
|
.annotation system Ldalvik/annotation/Signature;
|
||
|
value = {
|
||
|
"<T:",
|
||
|
"Ljava/lang/Object;",
|
||
|
">(",
|
||
|
"Lcom/google/gson/JsonElement;",
|
||
|
"Ljava/lang/reflect/Type;",
|
||
|
")TT;"
|
||
|
}
|
||
|
.end annotation
|
||
|
|
||
|
.prologue
|
||
|
.line 876
|
||
|
if-nez p1, :cond_0
|
||
|
|
||
|
.line 877
|
||
|
const/4 v0, 0x0
|
||
|
|
||
|
.line 879
|
||
|
:goto_0
|
||
|
return-object v0
|
||
|
|
||
|
:cond_0
|
||
|
new-instance v0, Lcom/google/gson/internal/bind/JsonTreeReader;
|
||
|
|
||
|
invoke-direct {v0, p1}, Lcom/google/gson/internal/bind/JsonTreeReader;-><init>(Lcom/google/gson/JsonElement;)V
|
||
|
|
||
|
invoke-virtual {p0, v0, p2}, Lcom/google/gson/Gson;->fromJson(Lcom/google/gson/stream/JsonReader;Ljava/lang/reflect/Type;)Ljava/lang/Object;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
goto :goto_0
|
||
|
.end method
|
||
|
|
||
|
.method public fromJson(Lcom/google/gson/stream/JsonReader;Ljava/lang/reflect/Type;)Ljava/lang/Object;
|
||
|
.locals 3
|
||
|
.annotation system Ldalvik/annotation/Signature;
|
||
|
value = {
|
||
|
"<T:",
|
||
|
"Ljava/lang/Object;",
|
||
|
">(",
|
||
|
"Lcom/google/gson/stream/JsonReader;",
|
||
|
"Ljava/lang/reflect/Type;",
|
||
|
")TT;"
|
||
|
}
|
||
|
.end annotation
|
||
|
|
||
|
.prologue
|
||
|
const/4 v1, 0x1
|
||
|
|
||
|
.line 806
|
||
|
.line 807
|
||
|
invoke-virtual {p1}, Lcom/google/gson/stream/JsonReader;->isLenient()Z
|
||
|
|
||
|
move-result v2
|
||
|
|
||
|
.line 808
|
||
|
invoke-virtual {p1, v1}, Lcom/google/gson/stream/JsonReader;->setLenient(Z)V
|
||
|
|
||
|
.line 810
|
||
|
:try_start_0
|
||
|
invoke-virtual {p1}, Lcom/google/gson/stream/JsonReader;->peek()Lcom/google/gson/stream/JsonToken;
|
||
|
|
||
|
.line 811
|
||
|
const/4 v1, 0x0
|
||
|
|
||
|
.line 812
|
||
|
invoke-static {p2}, Lcom/google/gson/reflect/TypeToken;->get(Ljava/lang/reflect/Type;)Lcom/google/gson/reflect/TypeToken;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
.line 813
|
||
|
invoke-virtual {p0, v0}, Lcom/google/gson/Gson;->getAdapter(Lcom/google/gson/reflect/TypeToken;)Lcom/google/gson/TypeAdapter;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
.line 814
|
||
|
invoke-virtual {v0, p1}, Lcom/google/gson/TypeAdapter;->read(Lcom/google/gson/stream/JsonReader;)Ljava/lang/Object;
|
||
|
:try_end_0
|
||
|
.catch Ljava/io/EOFException; {:try_start_0 .. :try_end_0} :catch_0
|
||
|
.catch Ljava/lang/IllegalStateException; {:try_start_0 .. :try_end_0} :catch_1
|
||
|
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_2
|
||
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
.line 831
|
||
|
invoke-virtual {p1, v2}, Lcom/google/gson/stream/JsonReader;->setLenient(Z)V
|
||
|
|
||
|
:goto_0
|
||
|
return-object v0
|
||
|
|
||
|
.line 816
|
||
|
:catch_0
|
||
|
move-exception v0
|
||
|
|
||
|
.line 821
|
||
|
if-eqz v1, :cond_0
|
||
|
|
||
|
.line 822
|
||
|
const/4 v0, 0x0
|
||
|
|
||
|
.line 831
|
||
|
invoke-virtual {p1, v2}, Lcom/google/gson/stream/JsonReader;->setLenient(Z)V
|
||
|
|
||
|
goto :goto_0
|
||
|
|
||
|
.line 824
|
||
|
:cond_0
|
||
|
:try_start_1
|
||
|
new-instance v1, Lcom/google/gson/JsonSyntaxException;
|
||
|
|
||
|
invoke-direct {v1, v0}, Lcom/google/gson/JsonSyntaxException;-><init>(Ljava/lang/Throwable;)V
|
||
|
|
||
|
throw v1
|
||
|
:try_end_1
|
||
|
.catchall {:try_start_1 .. :try_end_1} :catchall_0
|
||
|
|
||
|
.line 831
|
||
|
:catchall_0
|
||
|
move-exception v0
|
||
|
|
||
|
invoke-virtual {p1, v2}, Lcom/google/gson/stream/JsonReader;->setLenient(Z)V
|
||
|
|
||
|
throw v0
|
||
|
|
||
|
.line 825
|
||
|
:catch_1
|
||
|
move-exception v0
|
||
|
|
||
|
.line 826
|
||
|
:try_start_2
|
||
|
new-instance v1, Lcom/google/gson/JsonSyntaxException;
|
||
|
|
||
|
invoke-direct {v1, v0}, Lcom/google/gson/JsonSyntaxException;-><init>(Ljava/lang/Throwable;)V
|
||
|
|
||
|
throw v1
|
||
|
|
||
|
.line 827
|
||
|
:catch_2
|
||
|
move-exception v0
|
||
|
|
||
|
.line 829
|
||
|
new-instance v1, Lcom/google/gson/JsonSyntaxException;
|
||
|
|
||
|
invoke-direct {v1, v0}, Lcom/google/gson/JsonSyntaxException;-><init>(Ljava/lang/Throwable;)V
|
||
|
|
||
|
throw v1
|
||
|
:try_end_2
|
||
|
.catchall {:try_start_2 .. :try_end_2} :catchall_0
|
||
|
.end method
|
||
|
|
||
|
.method public fromJson(Ljava/io/Reader;Ljava/lang/Class;)Ljava/lang/Object;
|
||
|
.locals 2
|
||
|
.annotation system Ldalvik/annotation/Signature;
|
||
|
value = {
|
||
|
"<T:",
|
||
|
"Ljava/lang/Object;",
|
||
|
">(",
|
||
|
"Ljava/io/Reader;",
|
||
|
"Ljava/lang/Class",
|
||
|
"<TT;>;)TT;"
|
||
|
}
|
||
|
.end annotation
|
||
|
|
||
|
.prologue
|
||
|
.line 751
|
||
|
new-instance v0, Lcom/google/gson/stream/JsonReader;
|
||
|
|
||
|
invoke-direct {v0, p1}, Lcom/google/gson/stream/JsonReader;-><init>(Ljava/io/Reader;)V
|
||
|
|
||
|
.line 752
|
||
|
invoke-virtual {p0, v0, p2}, Lcom/google/gson/Gson;->fromJson(Lcom/google/gson/stream/JsonReader;Ljava/lang/reflect/Type;)Ljava/lang/Object;
|
||
|
|
||
|
move-result-object v1
|
||
|
|
||
|
.line 753
|
||
|
invoke-static {v1, v0}, Lcom/google/gson/Gson;->assertFullConsumption(Ljava/lang/Object;Lcom/google/gson/stream/JsonReader;)V
|
||
|
|
||
|
.line 754
|
||
|
invoke-static {p2}, Lcom/google/gson/internal/Primitives;->wrap(Ljava/lang/Class;)Ljava/lang/Class;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
invoke-virtual {v0, v1}, Ljava/lang/Class;->cast(Ljava/lang/Object;)Ljava/lang/Object;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
return-object v0
|
||
|
.end method
|
||
|
|
||
|
.method public fromJson(Ljava/io/Reader;Ljava/lang/reflect/Type;)Ljava/lang/Object;
|
||
|
.locals 2
|
||
|
.annotation system Ldalvik/annotation/Signature;
|
||
|
value = {
|
||
|
"<T:",
|
||
|
"Ljava/lang/Object;",
|
||
|
">(",
|
||
|
"Ljava/io/Reader;",
|
||
|
"Ljava/lang/reflect/Type;",
|
||
|
")TT;"
|
||
|
}
|
||
|
.end annotation
|
||
|
|
||
|
.prologue
|
||
|
.line 778
|
||
|
new-instance v0, Lcom/google/gson/stream/JsonReader;
|
||
|
|
||
|
invoke-direct {v0, p1}, Lcom/google/gson/stream/JsonReader;-><init>(Ljava/io/Reader;)V
|
||
|
|
||
|
.line 779
|
||
|
invoke-virtual {p0, v0, p2}, Lcom/google/gson/Gson;->fromJson(Lcom/google/gson/stream/JsonReader;Ljava/lang/reflect/Type;)Ljava/lang/Object;
|
||
|
|
||
|
move-result-object v1
|
||
|
|
||
|
.line 780
|
||
|
invoke-static {v1, v0}, Lcom/google/gson/Gson;->assertFullConsumption(Ljava/lang/Object;Lcom/google/gson/stream/JsonReader;)V
|
||
|
|
||
|
.line 781
|
||
|
return-object v1
|
||
|
.end method
|
||
|
|
||
|
.method public fromJson(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
|
||
|
.locals 2
|
||
|
.annotation system Ldalvik/annotation/Signature;
|
||
|
value = {
|
||
|
"<T:",
|
||
|
"Ljava/lang/Object;",
|
||
|
">(",
|
||
|
"Ljava/lang/String;",
|
||
|
"Ljava/lang/Class",
|
||
|
"<TT;>;)TT;"
|
||
|
}
|
||
|
.end annotation
|
||
|
|
||
|
.prologue
|
||
|
.line 700
|
||
|
invoke-virtual {p0, p1, p2}, Lcom/google/gson/Gson;->fromJson(Ljava/lang/String;Ljava/lang/reflect/Type;)Ljava/lang/Object;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
.line 701
|
||
|
invoke-static {p2}, Lcom/google/gson/internal/Primitives;->wrap(Ljava/lang/Class;)Ljava/lang/Class;
|
||
|
|
||
|
move-result-object v1
|
||
|
|
||
|
invoke-virtual {v1, v0}, Ljava/lang/Class;->cast(Ljava/lang/Object;)Ljava/lang/Object;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
return-object v0
|
||
|
.end method
|
||
|
|
||
|
.method public fromJson(Ljava/lang/String;Ljava/lang/reflect/Type;)Ljava/lang/Object;
|
||
|
.locals 1
|
||
|
.annotation system Ldalvik/annotation/Signature;
|
||
|
value = {
|
||
|
"<T:",
|
||
|
"Ljava/lang/Object;",
|
||
|
">(",
|
||
|
"Ljava/lang/String;",
|
||
|
"Ljava/lang/reflect/Type;",
|
||
|
")TT;"
|
||
|
}
|
||
|
.end annotation
|
||
|
|
||
|
.prologue
|
||
|
.line 724
|
||
|
if-nez p1, :cond_0
|
||
|
|
||
|
.line 725
|
||
|
const/4 v0, 0x0
|
||
|
|
||
|
.line 729
|
||
|
:goto_0
|
||
|
return-object v0
|
||
|
|
||
|
.line 727
|
||
|
:cond_0
|
||
|
new-instance v0, Ljava/io/StringReader;
|
||
|
|
||
|
invoke-direct {v0, p1}, Ljava/io/StringReader;-><init>(Ljava/lang/String;)V
|
||
|
|
||
|
.line 728
|
||
|
invoke-virtual {p0, v0, p2}, Lcom/google/gson/Gson;->fromJson(Ljava/io/Reader;Ljava/lang/reflect/Type;)Ljava/lang/Object;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
goto :goto_0
|
||
|
.end method
|
||
|
|
||
|
.method public getAdapter(Lcom/google/gson/reflect/TypeToken;)Lcom/google/gson/TypeAdapter;
|
||
|
.locals 5
|
||
|
.annotation system Ldalvik/annotation/Signature;
|
||
|
value = {
|
||
|
"<T:",
|
||
|
"Ljava/lang/Object;",
|
||
|
">(",
|
||
|
"Lcom/google/gson/reflect/TypeToken",
|
||
|
"<TT;>;)",
|
||
|
"Lcom/google/gson/TypeAdapter",
|
||
|
"<TT;>;"
|
||
|
}
|
||
|
.end annotation
|
||
|
|
||
|
.prologue
|
||
|
.line 336
|
||
|
iget-object v0, p0, Lcom/google/gson/Gson;->typeTokenCache:Ljava/util/Map;
|
||
|
|
||
|
invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
check-cast v0, Lcom/google/gson/TypeAdapter;
|
||
|
|
||
|
.line 337
|
||
|
if-eqz v0, :cond_1
|
||
|
|
||
|
.line 372
|
||
|
:cond_0
|
||
|
:goto_0
|
||
|
return-object v0
|
||
|
|
||
|
.line 341
|
||
|
:cond_1
|
||
|
iget-object v0, p0, Lcom/google/gson/Gson;->calls:Ljava/lang/ThreadLocal;
|
||
|
|
||
|
invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
check-cast v0, Ljava/util/Map;
|
||
|
|
||
|
.line 342
|
||
|
const/4 v1, 0x0
|
||
|
|
||
|
.line 343
|
||
|
if-nez v0, :cond_5
|
||
|
|
||
|
.line 344
|
||
|
new-instance v1, Ljava/util/HashMap;
|
||
|
|
||
|
invoke-direct {v1}, Ljava/util/HashMap;-><init>()V
|
||
|
|
||
|
.line 345
|
||
|
iget-object v0, p0, Lcom/google/gson/Gson;->calls:Ljava/lang/ThreadLocal;
|
||
|
|
||
|
invoke-virtual {v0, v1}, Ljava/lang/ThreadLocal;->set(Ljava/lang/Object;)V
|
||
|
|
||
|
.line 346
|
||
|
const/4 v0, 0x1
|
||
|
|
||
|
move-object v2, v1
|
||
|
|
||
|
move v1, v0
|
||
|
|
||
|
.line 350
|
||
|
:goto_1
|
||
|
invoke-interface {v2, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
check-cast v0, Lcom/google/gson/Gson$FutureTypeAdapter;
|
||
|
|
||
|
.line 351
|
||
|
if-nez v0, :cond_0
|
||
|
|
||
|
.line 356
|
||
|
:try_start_0
|
||
|
new-instance v3, Lcom/google/gson/Gson$FutureTypeAdapter;
|
||
|
|
||
|
invoke-direct {v3}, Lcom/google/gson/Gson$FutureTypeAdapter;-><init>()V
|
||
|
|
||
|
.line 357
|
||
|
invoke-interface {v2, p1, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
||
|
|
||
|
.line 359
|
||
|
iget-object v0, p0, Lcom/google/gson/Gson;->factories:Ljava/util/List;
|
||
|
|
||
|
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
|
||
|
|
||
|
move-result-object v4
|
||
|
|
||
|
:cond_2
|
||
|
invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z
|
||
|
|
||
|
move-result v0
|
||
|
|
||
|
if-eqz v0, :cond_3
|
||
|
|
||
|
invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
check-cast v0, Lcom/google/gson/TypeAdapterFactory;
|
||
|
|
||
|
.line 360
|
||
|
invoke-interface {v0, p0, p1}, Lcom/google/gson/TypeAdapterFactory;->create(Lcom/google/gson/Gson;Lcom/google/gson/reflect/TypeToken;)Lcom/google/gson/TypeAdapter;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
.line 361
|
||
|
if-eqz v0, :cond_2
|
||
|
|
||
|
.line 362
|
||
|
invoke-virtual {v3, v0}, Lcom/google/gson/Gson$FutureTypeAdapter;->setDelegate(Lcom/google/gson/TypeAdapter;)V
|
||
|
|
||
|
.line 363
|
||
|
iget-object v3, p0, Lcom/google/gson/Gson;->typeTokenCache:Ljava/util/Map;
|
||
|
|
||
|
invoke-interface {v3, p1, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
||
|
:try_end_0
|
||
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
||
|
|
||
|
.line 369
|
||
|
invoke-interface {v2, p1}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object;
|
||
|
|
||
|
.line 371
|
||
|
if-eqz v1, :cond_0
|
||
|
|
||
|
.line 372
|
||
|
iget-object v1, p0, Lcom/google/gson/Gson;->calls:Ljava/lang/ThreadLocal;
|
||
|
|
||
|
invoke-virtual {v1}, Ljava/lang/ThreadLocal;->remove()V
|
||
|
|
||
|
goto :goto_0
|
||
|
|
||
|
.line 367
|
||
|
:cond_3
|
||
|
:try_start_1
|
||
|
new-instance v0, Ljava/lang/IllegalArgumentException;
|
||
|
|
||
|
new-instance v3, Ljava/lang/StringBuilder;
|
||
|
|
||
|
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
|
||
|
|
||
|
const-string v4, "GSON cannot handle "
|
||
|
|
||
|
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||
|
|
||
|
move-result-object v3
|
||
|
|
||
|
invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
||
|
|
||
|
move-result-object v3
|
||
|
|
||
|
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
||
|
|
||
|
move-result-object v3
|
||
|
|
||
|
invoke-direct {v0, v3}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
||
|
|
||
|
throw v0
|
||
|
:try_end_1
|
||
|
.catchall {:try_start_1 .. :try_end_1} :catchall_0
|
||
|
|
||
|
.line 369
|
||
|
:catchall_0
|
||
|
move-exception v0
|
||
|
|
||
|
invoke-interface {v2, p1}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object;
|
||
|
|
||
|
.line 371
|
||
|
if-eqz v1, :cond_4
|
||
|
|
||
|
.line 372
|
||
|
iget-object v1, p0, Lcom/google/gson/Gson;->calls:Ljava/lang/ThreadLocal;
|
||
|
|
||
|
invoke-virtual {v1}, Ljava/lang/ThreadLocal;->remove()V
|
||
|
|
||
|
:cond_4
|
||
|
throw v0
|
||
|
|
||
|
:cond_5
|
||
|
move-object v2, v0
|
||
|
|
||
|
goto :goto_1
|
||
|
.end method
|
||
|
|
||
|
.method public getAdapter(Ljava/lang/Class;)Lcom/google/gson/TypeAdapter;
|
||
|
.locals 1
|
||
|
.annotation system Ldalvik/annotation/Signature;
|
||
|
value = {
|
||
|
"<T:",
|
||
|
"Ljava/lang/Object;",
|
||
|
">(",
|
||
|
"Ljava/lang/Class",
|
||
|
"<TT;>;)",
|
||
|
"Lcom/google/gson/TypeAdapter",
|
||
|
"<TT;>;"
|
||
|
}
|
||
|
.end annotation
|
||
|
|
||
|
.prologue
|
||
|
.line 457
|
||
|
invoke-static {p1}, Lcom/google/gson/reflect/TypeToken;->get(Ljava/lang/Class;)Lcom/google/gson/reflect/TypeToken;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
invoke-virtual {p0, v0}, Lcom/google/gson/Gson;->getAdapter(Lcom/google/gson/reflect/TypeToken;)Lcom/google/gson/TypeAdapter;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
return-object v0
|
||
|
.end method
|
||
|
|
||
|
.method public getDelegateAdapter(Lcom/google/gson/TypeAdapterFactory;Lcom/google/gson/reflect/TypeToken;)Lcom/google/gson/TypeAdapter;
|
||
|
.locals 4
|
||
|
.annotation system Ldalvik/annotation/Signature;
|
||
|
value = {
|
||
|
"<T:",
|
||
|
"Ljava/lang/Object;",
|
||
|
">(",
|
||
|
"Lcom/google/gson/TypeAdapterFactory;",
|
||
|
"Lcom/google/gson/reflect/TypeToken",
|
||
|
"<TT;>;)",
|
||
|
"Lcom/google/gson/TypeAdapter",
|
||
|
"<TT;>;"
|
||
|
}
|
||
|
.end annotation
|
||
|
|
||
|
.prologue
|
||
|
const/4 v1, 0x1
|
||
|
|
||
|
.line 428
|
||
|
const/4 v0, 0x0
|
||
|
|
||
|
.line 432
|
||
|
iget-object v2, p0, Lcom/google/gson/Gson;->factories:Ljava/util/List;
|
||
|
|
||
|
invoke-interface {v2, p1}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
|
||
|
|
||
|
move-result v2
|
||
|
|
||
|
if-nez v2, :cond_0
|
||
|
|
||
|
move v0, v1
|
||
|
|
||
|
.line 434
|
||
|
:cond_0
|
||
|
iget-object v2, p0, Lcom/google/gson/Gson;->factories:Ljava/util/List;
|
||
|
|
||
|
invoke-interface {v2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
|
||
|
|
||
|
move-result-object v3
|
||
|
|
||
|
move v2, v0
|
||
|
|
||
|
:cond_1
|
||
|
:goto_0
|
||
|
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
|
||
|
|
||
|
move-result v0
|
||
|
|
||
|
if-eqz v0, :cond_3
|
||
|
|
||
|
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
check-cast v0, Lcom/google/gson/TypeAdapterFactory;
|
||
|
|
||
|
.line 435
|
||
|
if-nez v2, :cond_2
|
||
|
|
||
|
.line 436
|
||
|
if-ne v0, p1, :cond_1
|
||
|
|
||
|
move v2, v1
|
||
|
|
||
|
.line 437
|
||
|
goto :goto_0
|
||
|
|
||
|
.line 442
|
||
|
:cond_2
|
||
|
invoke-interface {v0, p0, p2}, Lcom/google/gson/TypeAdapterFactory;->create(Lcom/google/gson/Gson;Lcom/google/gson/reflect/TypeToken;)Lcom/google/gson/TypeAdapter;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
.line 443
|
||
|
if-eqz v0, :cond_1
|
||
|
|
||
|
.line 444
|
||
|
return-object v0
|
||
|
|
||
|
.line 447
|
||
|
:cond_3
|
||
|
new-instance v0, Ljava/lang/IllegalArgumentException;
|
||
|
|
||
|
new-instance v1, Ljava/lang/StringBuilder;
|
||
|
|
||
|
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
|
||
|
|
||
|
const-string v2, "GSON cannot serialize "
|
||
|
|
||
|
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||
|
|
||
|
move-result-object v1
|
||
|
|
||
|
invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
||
|
|
||
|
move-result-object v1
|
||
|
|
||
|
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
||
|
|
||
|
move-result-object v1
|
||
|
|
||
|
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
||
|
|
||
|
throw v0
|
||
|
.end method
|
||
|
|
||
|
.method public newJsonWriter(Ljava/io/Writer;)Lcom/google/gson/stream/JsonWriter;
|
||
|
.locals 2
|
||
|
|
||
|
.prologue
|
||
|
.line 649
|
||
|
iget-boolean v0, p0, Lcom/google/gson/Gson;->generateNonExecutableJson:Z
|
||
|
|
||
|
if-eqz v0, :cond_0
|
||
|
|
||
|
.line 650
|
||
|
const-string v0, ")]}\'\n"
|
||
|
|
||
|
invoke-virtual {p1, v0}, Ljava/io/Writer;->write(Ljava/lang/String;)V
|
||
|
|
||
|
.line 652
|
||
|
:cond_0
|
||
|
new-instance v0, Lcom/google/gson/stream/JsonWriter;
|
||
|
|
||
|
invoke-direct {v0, p1}, Lcom/google/gson/stream/JsonWriter;-><init>(Ljava/io/Writer;)V
|
||
|
|
||
|
.line 653
|
||
|
iget-boolean v1, p0, Lcom/google/gson/Gson;->prettyPrinting:Z
|
||
|
|
||
|
if-eqz v1, :cond_1
|
||
|
|
||
|
.line 654
|
||
|
const-string v1, " "
|
||
|
|
||
|
invoke-virtual {v0, v1}, Lcom/google/gson/stream/JsonWriter;->setIndent(Ljava/lang/String;)V
|
||
|
|
||
|
.line 656
|
||
|
:cond_1
|
||
|
iget-boolean v1, p0, Lcom/google/gson/Gson;->serializeNulls:Z
|
||
|
|
||
|
invoke-virtual {v0, v1}, Lcom/google/gson/stream/JsonWriter;->setSerializeNulls(Z)V
|
||
|
|
||
|
.line 657
|
||
|
return-object v0
|
||
|
.end method
|
||
|
|
||
|
.method public toJson(Lcom/google/gson/JsonElement;)Ljava/lang/String;
|
||
|
.locals 1
|
||
|
|
||
|
.prologue
|
||
|
.line 623
|
||
|
new-instance v0, Ljava/io/StringWriter;
|
||
|
|
||
|
invoke-direct {v0}, Ljava/io/StringWriter;-><init>()V
|
||
|
|
||
|
.line 624
|
||
|
invoke-virtual {p0, p1, v0}, Lcom/google/gson/Gson;->toJson(Lcom/google/gson/JsonElement;Ljava/lang/Appendable;)V
|
||
|
|
||
|
.line 625
|
||
|
invoke-virtual {v0}, Ljava/io/StringWriter;->toString()Ljava/lang/String;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
return-object v0
|
||
|
.end method
|
||
|
|
||
|
.method public toJson(Ljava/lang/Object;)Ljava/lang/String;
|
||
|
.locals 1
|
||
|
|
||
|
.prologue
|
||
|
.line 516
|
||
|
if-nez p1, :cond_0
|
||
|
|
||
|
.line 517
|
||
|
sget-object v0, Lcom/google/gson/JsonNull;->INSTANCE:Lcom/google/gson/JsonNull;
|
||
|
|
||
|
invoke-virtual {p0, v0}, Lcom/google/gson/Gson;->toJson(Lcom/google/gson/JsonElement;)Ljava/lang/String;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
.line 519
|
||
|
:goto_0
|
||
|
return-object v0
|
||
|
|
||
|
:cond_0
|
||
|
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
invoke-virtual {p0, p1, v0}, Lcom/google/gson/Gson;->toJson(Ljava/lang/Object;Ljava/lang/reflect/Type;)Ljava/lang/String;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
goto :goto_0
|
||
|
.end method
|
||
|
|
||
|
.method public toJson(Ljava/lang/Object;Ljava/lang/reflect/Type;)Ljava/lang/String;
|
||
|
.locals 1
|
||
|
|
||
|
.prologue
|
||
|
.line 538
|
||
|
new-instance v0, Ljava/io/StringWriter;
|
||
|
|
||
|
invoke-direct {v0}, Ljava/io/StringWriter;-><init>()V
|
||
|
|
||
|
.line 539
|
||
|
invoke-virtual {p0, p1, p2, v0}, Lcom/google/gson/Gson;->toJson(Ljava/lang/Object;Ljava/lang/reflect/Type;Ljava/lang/Appendable;)V
|
||
|
|
||
|
.line 540
|
||
|
invoke-virtual {v0}, Ljava/io/StringWriter;->toString()Ljava/lang/String;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
return-object v0
|
||
|
.end method
|
||
|
|
||
|
.method public toJson(Lcom/google/gson/JsonElement;Lcom/google/gson/stream/JsonWriter;)V
|
||
|
.locals 5
|
||
|
|
||
|
.prologue
|
||
|
.line 665
|
||
|
invoke-virtual {p2}, Lcom/google/gson/stream/JsonWriter;->isLenient()Z
|
||
|
|
||
|
move-result v1
|
||
|
|
||
|
.line 666
|
||
|
const/4 v0, 0x1
|
||
|
|
||
|
invoke-virtual {p2, v0}, Lcom/google/gson/stream/JsonWriter;->setLenient(Z)V
|
||
|
|
||
|
.line 667
|
||
|
invoke-virtual {p2}, Lcom/google/gson/stream/JsonWriter;->isHtmlSafe()Z
|
||
|
|
||
|
move-result v2
|
||
|
|
||
|
.line 668
|
||
|
iget-boolean v0, p0, Lcom/google/gson/Gson;->htmlSafe:Z
|
||
|
|
||
|
invoke-virtual {p2, v0}, Lcom/google/gson/stream/JsonWriter;->setHtmlSafe(Z)V
|
||
|
|
||
|
.line 669
|
||
|
invoke-virtual {p2}, Lcom/google/gson/stream/JsonWriter;->getSerializeNulls()Z
|
||
|
|
||
|
move-result v3
|
||
|
|
||
|
.line 670
|
||
|
iget-boolean v0, p0, Lcom/google/gson/Gson;->serializeNulls:Z
|
||
|
|
||
|
invoke-virtual {p2, v0}, Lcom/google/gson/stream/JsonWriter;->setSerializeNulls(Z)V
|
||
|
|
||
|
.line 672
|
||
|
:try_start_0
|
||
|
invoke-static {p1, p2}, Lcom/google/gson/internal/Streams;->write(Lcom/google/gson/JsonElement;Lcom/google/gson/stream/JsonWriter;)V
|
||
|
:try_end_0
|
||
|
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
|
||
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
||
|
|
||
|
.line 676
|
||
|
invoke-virtual {p2, v1}, Lcom/google/gson/stream/JsonWriter;->setLenient(Z)V
|
||
|
|
||
|
.line 677
|
||
|
invoke-virtual {p2, v2}, Lcom/google/gson/stream/JsonWriter;->setHtmlSafe(Z)V
|
||
|
|
||
|
.line 678
|
||
|
invoke-virtual {p2, v3}, Lcom/google/gson/stream/JsonWriter;->setSerializeNulls(Z)V
|
||
|
|
||
|
.line 680
|
||
|
return-void
|
||
|
|
||
|
.line 673
|
||
|
:catch_0
|
||
|
move-exception v0
|
||
|
|
||
|
.line 674
|
||
|
:try_start_1
|
||
|
new-instance v4, Lcom/google/gson/JsonIOException;
|
||
|
|
||
|
invoke-direct {v4, v0}, Lcom/google/gson/JsonIOException;-><init>(Ljava/lang/Throwable;)V
|
||
|
|
||
|
throw v4
|
||
|
:try_end_1
|
||
|
.catchall {:try_start_1 .. :try_end_1} :catchall_0
|
||
|
|
||
|
.line 676
|
||
|
:catchall_0
|
||
|
move-exception v0
|
||
|
|
||
|
invoke-virtual {p2, v1}, Lcom/google/gson/stream/JsonWriter;->setLenient(Z)V
|
||
|
|
||
|
.line 677
|
||
|
invoke-virtual {p2, v2}, Lcom/google/gson/stream/JsonWriter;->setHtmlSafe(Z)V
|
||
|
|
||
|
.line 678
|
||
|
invoke-virtual {p2, v3}, Lcom/google/gson/stream/JsonWriter;->setSerializeNulls(Z)V
|
||
|
|
||
|
throw v0
|
||
|
.end method
|
||
|
|
||
|
.method public toJson(Lcom/google/gson/JsonElement;Ljava/lang/Appendable;)V
|
||
|
.locals 2
|
||
|
|
||
|
.prologue
|
||
|
.line 638
|
||
|
:try_start_0
|
||
|
invoke-static {p2}, Lcom/google/gson/internal/Streams;->writerForAppendable(Ljava/lang/Appendable;)Ljava/io/Writer;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
invoke-virtual {p0, v0}, Lcom/google/gson/Gson;->newJsonWriter(Ljava/io/Writer;)Lcom/google/gson/stream/JsonWriter;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
.line 639
|
||
|
invoke-virtual {p0, p1, v0}, Lcom/google/gson/Gson;->toJson(Lcom/google/gson/JsonElement;Lcom/google/gson/stream/JsonWriter;)V
|
||
|
:try_end_0
|
||
|
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
|
||
|
|
||
|
.line 643
|
||
|
return-void
|
||
|
|
||
|
.line 640
|
||
|
:catch_0
|
||
|
move-exception v0
|
||
|
|
||
|
.line 641
|
||
|
new-instance v1, Ljava/lang/RuntimeException;
|
||
|
|
||
|
invoke-direct {v1, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
|
||
|
|
||
|
throw v1
|
||
|
.end method
|
||
|
|
||
|
.method public toJson(Ljava/lang/Object;Ljava/lang/Appendable;)V
|
||
|
.locals 1
|
||
|
|
||
|
.prologue
|
||
|
.line 558
|
||
|
if-eqz p1, :cond_0
|
||
|
|
||
|
.line 559
|
||
|
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
invoke-virtual {p0, p1, v0, p2}, Lcom/google/gson/Gson;->toJson(Ljava/lang/Object;Ljava/lang/reflect/Type;Ljava/lang/Appendable;)V
|
||
|
|
||
|
.line 563
|
||
|
:goto_0
|
||
|
return-void
|
||
|
|
||
|
.line 561
|
||
|
:cond_0
|
||
|
sget-object v0, Lcom/google/gson/JsonNull;->INSTANCE:Lcom/google/gson/JsonNull;
|
||
|
|
||
|
invoke-virtual {p0, v0, p2}, Lcom/google/gson/Gson;->toJson(Lcom/google/gson/JsonElement;Ljava/lang/Appendable;)V
|
||
|
|
||
|
goto :goto_0
|
||
|
.end method
|
||
|
|
||
|
.method public toJson(Ljava/lang/Object;Ljava/lang/reflect/Type;Lcom/google/gson/stream/JsonWriter;)V
|
||
|
.locals 5
|
||
|
|
||
|
.prologue
|
||
|
.line 597
|
||
|
invoke-static {p2}, Lcom/google/gson/reflect/TypeToken;->get(Ljava/lang/reflect/Type;)Lcom/google/gson/reflect/TypeToken;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
invoke-virtual {p0, v0}, Lcom/google/gson/Gson;->getAdapter(Lcom/google/gson/reflect/TypeToken;)Lcom/google/gson/TypeAdapter;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
.line 598
|
||
|
invoke-virtual {p3}, Lcom/google/gson/stream/JsonWriter;->isLenient()Z
|
||
|
|
||
|
move-result v1
|
||
|
|
||
|
.line 599
|
||
|
const/4 v2, 0x1
|
||
|
|
||
|
invoke-virtual {p3, v2}, Lcom/google/gson/stream/JsonWriter;->setLenient(Z)V
|
||
|
|
||
|
.line 600
|
||
|
invoke-virtual {p3}, Lcom/google/gson/stream/JsonWriter;->isHtmlSafe()Z
|
||
|
|
||
|
move-result v2
|
||
|
|
||
|
.line 601
|
||
|
iget-boolean v3, p0, Lcom/google/gson/Gson;->htmlSafe:Z
|
||
|
|
||
|
invoke-virtual {p3, v3}, Lcom/google/gson/stream/JsonWriter;->setHtmlSafe(Z)V
|
||
|
|
||
|
.line 602
|
||
|
invoke-virtual {p3}, Lcom/google/gson/stream/JsonWriter;->getSerializeNulls()Z
|
||
|
|
||
|
move-result v3
|
||
|
|
||
|
.line 603
|
||
|
iget-boolean v4, p0, Lcom/google/gson/Gson;->serializeNulls:Z
|
||
|
|
||
|
invoke-virtual {p3, v4}, Lcom/google/gson/stream/JsonWriter;->setSerializeNulls(Z)V
|
||
|
|
||
|
.line 605
|
||
|
:try_start_0
|
||
|
invoke-virtual {v0, p3, p1}, Lcom/google/gson/TypeAdapter;->write(Lcom/google/gson/stream/JsonWriter;Ljava/lang/Object;)V
|
||
|
:try_end_0
|
||
|
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
|
||
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
||
|
|
||
|
.line 609
|
||
|
invoke-virtual {p3, v1}, Lcom/google/gson/stream/JsonWriter;->setLenient(Z)V
|
||
|
|
||
|
.line 610
|
||
|
invoke-virtual {p3, v2}, Lcom/google/gson/stream/JsonWriter;->setHtmlSafe(Z)V
|
||
|
|
||
|
.line 611
|
||
|
invoke-virtual {p3, v3}, Lcom/google/gson/stream/JsonWriter;->setSerializeNulls(Z)V
|
||
|
|
||
|
.line 613
|
||
|
return-void
|
||
|
|
||
|
.line 606
|
||
|
:catch_0
|
||
|
move-exception v0
|
||
|
|
||
|
.line 607
|
||
|
:try_start_1
|
||
|
new-instance v4, Lcom/google/gson/JsonIOException;
|
||
|
|
||
|
invoke-direct {v4, v0}, Lcom/google/gson/JsonIOException;-><init>(Ljava/lang/Throwable;)V
|
||
|
|
||
|
throw v4
|
||
|
:try_end_1
|
||
|
.catchall {:try_start_1 .. :try_end_1} :catchall_0
|
||
|
|
||
|
.line 609
|
||
|
:catchall_0
|
||
|
move-exception v0
|
||
|
|
||
|
invoke-virtual {p3, v1}, Lcom/google/gson/stream/JsonWriter;->setLenient(Z)V
|
||
|
|
||
|
.line 610
|
||
|
invoke-virtual {p3, v2}, Lcom/google/gson/stream/JsonWriter;->setHtmlSafe(Z)V
|
||
|
|
||
|
.line 611
|
||
|
invoke-virtual {p3, v3}, Lcom/google/gson/stream/JsonWriter;->setSerializeNulls(Z)V
|
||
|
|
||
|
throw v0
|
||
|
.end method
|
||
|
|
||
|
.method public toJson(Ljava/lang/Object;Ljava/lang/reflect/Type;Ljava/lang/Appendable;)V
|
||
|
.locals 2
|
||
|
|
||
|
.prologue
|
||
|
.line 583
|
||
|
:try_start_0
|
||
|
invoke-static {p3}, Lcom/google/gson/internal/Streams;->writerForAppendable(Ljava/lang/Appendable;)Ljava/io/Writer;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
invoke-virtual {p0, v0}, Lcom/google/gson/Gson;->newJsonWriter(Ljava/io/Writer;)Lcom/google/gson/stream/JsonWriter;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
.line 584
|
||
|
invoke-virtual {p0, p1, p2, v0}, Lcom/google/gson/Gson;->toJson(Ljava/lang/Object;Ljava/lang/reflect/Type;Lcom/google/gson/stream/JsonWriter;)V
|
||
|
:try_end_0
|
||
|
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
|
||
|
|
||
|
.line 588
|
||
|
return-void
|
||
|
|
||
|
.line 585
|
||
|
:catch_0
|
||
|
move-exception v0
|
||
|
|
||
|
.line 586
|
||
|
new-instance v1, Lcom/google/gson/JsonIOException;
|
||
|
|
||
|
invoke-direct {v1, v0}, Lcom/google/gson/JsonIOException;-><init>(Ljava/lang/Throwable;)V
|
||
|
|
||
|
throw v1
|
||
|
.end method
|
||
|
|
||
|
.method public toJsonTree(Ljava/lang/Object;)Lcom/google/gson/JsonElement;
|
||
|
.locals 1
|
||
|
|
||
|
.prologue
|
||
|
.line 474
|
||
|
if-nez p1, :cond_0
|
||
|
|
||
|
.line 475
|
||
|
sget-object v0, Lcom/google/gson/JsonNull;->INSTANCE:Lcom/google/gson/JsonNull;
|
||
|
|
||
|
.line 477
|
||
|
:goto_0
|
||
|
return-object v0
|
||
|
|
||
|
:cond_0
|
||
|
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
invoke-virtual {p0, p1, v0}, Lcom/google/gson/Gson;->toJsonTree(Ljava/lang/Object;Ljava/lang/reflect/Type;)Lcom/google/gson/JsonElement;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
goto :goto_0
|
||
|
.end method
|
||
|
|
||
|
.method public toJsonTree(Ljava/lang/Object;Ljava/lang/reflect/Type;)Lcom/google/gson/JsonElement;
|
||
|
.locals 1
|
||
|
|
||
|
.prologue
|
||
|
.line 497
|
||
|
new-instance v0, Lcom/google/gson/internal/bind/JsonTreeWriter;
|
||
|
|
||
|
invoke-direct {v0}, Lcom/google/gson/internal/bind/JsonTreeWriter;-><init>()V
|
||
|
|
||
|
.line 498
|
||
|
invoke-virtual {p0, p1, p2, v0}, Lcom/google/gson/Gson;->toJson(Ljava/lang/Object;Ljava/lang/reflect/Type;Lcom/google/gson/stream/JsonWriter;)V
|
||
|
|
||
|
.line 499
|
||
|
invoke-virtual {v0}, Lcom/google/gson/internal/bind/JsonTreeWriter;->get()Lcom/google/gson/JsonElement;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
return-object v0
|
||
|
.end method
|
||
|
|
||
|
.method public toString()Ljava/lang/String;
|
||
|
.locals 2
|
||
|
|
||
|
.prologue
|
||
|
.line 909
|
||
|
new-instance v0, Ljava/lang/StringBuilder;
|
||
|
|
||
|
const-string v1, "{serializeNulls:"
|
||
|
|
||
|
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
||
|
|
||
|
iget-boolean v1, p0, Lcom/google/gson/Gson;->serializeNulls:Z
|
||
|
|
||
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
const-string v1, "factories:"
|
||
|
|
||
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
iget-object v1, p0, Lcom/google/gson/Gson;->factories:Ljava/util/List;
|
||
|
|
||
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
const-string v1, ",instanceCreators:"
|
||
|
|
||
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
iget-object v1, p0, Lcom/google/gson/Gson;->constructorConstructor:Lcom/google/gson/internal/ConstructorConstructor;
|
||
|
|
||
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
const-string v1, "}"
|
||
|
|
||
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
return-object v0
|
||
|
.end method
|