1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069 |
- .class public final Lcom/google/gson/GsonBuilder;
- .super Ljava/lang/Object;
- .source "GsonBuilder.java"
- # instance fields
- .field private complexMapKeySerialization:Z
- .field private datePattern:Ljava/lang/String;
- .field private dateStyle:I
- .field private escapeHtmlChars:Z
- .field private excluder:Lcom/google/gson/internal/Excluder;
- .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 fieldNamingPolicy:Lcom/google/gson/FieldNamingStrategy;
- .field private generateNonExecutableJson:Z
- .field private final hierarchyFactories:Ljava/util/List;
- .annotation system Ldalvik/annotation/Signature;
- value = {
- "Ljava/util/List<",
- "Lcom/google/gson/TypeAdapterFactory;",
- ">;"
- }
- .end annotation
- .end field
- .field private final instanceCreators:Ljava/util/Map;
- .annotation system Ldalvik/annotation/Signature;
- value = {
- "Ljava/util/Map<",
- "Ljava/lang/reflect/Type;",
- "Lcom/google/gson/InstanceCreator<",
- "*>;>;"
- }
- .end annotation
- .end field
- .field private lenient:Z
- .field private longSerializationPolicy:Lcom/google/gson/LongSerializationPolicy;
- .field private prettyPrinting:Z
- .field private serializeNulls:Z
- .field private serializeSpecialFloatingPointValues:Z
- .field private timeStyle:I
- # direct methods
- .method public constructor <init>()V
- .locals 2
- .line 104
- invoke-direct {p0}, Ljava/lang/Object;-><init>()V
- .line 79
- sget-object v0, Lcom/google/gson/internal/Excluder;->DEFAULT:Lcom/google/gson/internal/Excluder;
- iput-object v0, p0, Lcom/google/gson/GsonBuilder;->excluder:Lcom/google/gson/internal/Excluder;
- .line 80
- sget-object v0, Lcom/google/gson/LongSerializationPolicy;->DEFAULT:Lcom/google/gson/LongSerializationPolicy;
- iput-object v0, p0, Lcom/google/gson/GsonBuilder;->longSerializationPolicy:Lcom/google/gson/LongSerializationPolicy;
- .line 81
- sget-object v0, Lcom/google/gson/FieldNamingPolicy;->IDENTITY:Lcom/google/gson/FieldNamingPolicy;
- iput-object v0, p0, Lcom/google/gson/GsonBuilder;->fieldNamingPolicy:Lcom/google/gson/FieldNamingStrategy;
- .line 82
- new-instance v0, Ljava/util/HashMap;
- invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
- iput-object v0, p0, Lcom/google/gson/GsonBuilder;->instanceCreators:Ljava/util/Map;
- .line 84
- new-instance v0, Ljava/util/ArrayList;
- invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
- iput-object v0, p0, Lcom/google/gson/GsonBuilder;->factories:Ljava/util/List;
- .line 86
- new-instance v0, Ljava/util/ArrayList;
- invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
- iput-object v0, p0, Lcom/google/gson/GsonBuilder;->hierarchyFactories:Ljava/util/List;
- .line 87
- const/4 v0, 0x0
- iput-boolean v0, p0, Lcom/google/gson/GsonBuilder;->serializeNulls:Z
- .line 89
- const/4 v1, 0x2
- iput v1, p0, Lcom/google/gson/GsonBuilder;->dateStyle:I
- .line 90
- iput v1, p0, Lcom/google/gson/GsonBuilder;->timeStyle:I
- .line 91
- iput-boolean v0, p0, Lcom/google/gson/GsonBuilder;->complexMapKeySerialization:Z
- .line 92
- iput-boolean v0, p0, Lcom/google/gson/GsonBuilder;->serializeSpecialFloatingPointValues:Z
- .line 93
- const/4 v1, 0x1
- iput-boolean v1, p0, Lcom/google/gson/GsonBuilder;->escapeHtmlChars:Z
- .line 94
- iput-boolean v0, p0, Lcom/google/gson/GsonBuilder;->prettyPrinting:Z
- .line 95
- iput-boolean v0, p0, Lcom/google/gson/GsonBuilder;->generateNonExecutableJson:Z
- .line 96
- iput-boolean v0, p0, Lcom/google/gson/GsonBuilder;->lenient:Z
- .line 105
- return-void
- .end method
- .method constructor <init>(Lcom/google/gson/Gson;)V
- .locals 2
- .param p1, "gson" # Lcom/google/gson/Gson;
- .line 113
- invoke-direct {p0}, Ljava/lang/Object;-><init>()V
- .line 79
- sget-object v0, Lcom/google/gson/internal/Excluder;->DEFAULT:Lcom/google/gson/internal/Excluder;
- iput-object v0, p0, Lcom/google/gson/GsonBuilder;->excluder:Lcom/google/gson/internal/Excluder;
- .line 80
- sget-object v0, Lcom/google/gson/LongSerializationPolicy;->DEFAULT:Lcom/google/gson/LongSerializationPolicy;
- iput-object v0, p0, Lcom/google/gson/GsonBuilder;->longSerializationPolicy:Lcom/google/gson/LongSerializationPolicy;
- .line 81
- sget-object v0, Lcom/google/gson/FieldNamingPolicy;->IDENTITY:Lcom/google/gson/FieldNamingPolicy;
- iput-object v0, p0, Lcom/google/gson/GsonBuilder;->fieldNamingPolicy:Lcom/google/gson/FieldNamingStrategy;
- .line 82
- new-instance v0, Ljava/util/HashMap;
- invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
- iput-object v0, p0, Lcom/google/gson/GsonBuilder;->instanceCreators:Ljava/util/Map;
- .line 84
- new-instance v0, Ljava/util/ArrayList;
- invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
- iput-object v0, p0, Lcom/google/gson/GsonBuilder;->factories:Ljava/util/List;
- .line 86
- new-instance v0, Ljava/util/ArrayList;
- invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
- iput-object v0, p0, Lcom/google/gson/GsonBuilder;->hierarchyFactories:Ljava/util/List;
- .line 87
- const/4 v0, 0x0
- iput-boolean v0, p0, Lcom/google/gson/GsonBuilder;->serializeNulls:Z
- .line 89
- const/4 v1, 0x2
- iput v1, p0, Lcom/google/gson/GsonBuilder;->dateStyle:I
- .line 90
- iput v1, p0, Lcom/google/gson/GsonBuilder;->timeStyle:I
- .line 91
- iput-boolean v0, p0, Lcom/google/gson/GsonBuilder;->complexMapKeySerialization:Z
- .line 92
- iput-boolean v0, p0, Lcom/google/gson/GsonBuilder;->serializeSpecialFloatingPointValues:Z
- .line 93
- const/4 v1, 0x1
- iput-boolean v1, p0, Lcom/google/gson/GsonBuilder;->escapeHtmlChars:Z
- .line 94
- iput-boolean v0, p0, Lcom/google/gson/GsonBuilder;->prettyPrinting:Z
- .line 95
- iput-boolean v0, p0, Lcom/google/gson/GsonBuilder;->generateNonExecutableJson:Z
- .line 96
- iput-boolean v0, p0, Lcom/google/gson/GsonBuilder;->lenient:Z
- .line 114
- iget-object v0, p1, Lcom/google/gson/Gson;->excluder:Lcom/google/gson/internal/Excluder;
- iput-object v0, p0, Lcom/google/gson/GsonBuilder;->excluder:Lcom/google/gson/internal/Excluder;
- .line 115
- iget-object v0, p1, Lcom/google/gson/Gson;->fieldNamingStrategy:Lcom/google/gson/FieldNamingStrategy;
- iput-object v0, p0, Lcom/google/gson/GsonBuilder;->fieldNamingPolicy:Lcom/google/gson/FieldNamingStrategy;
- .line 116
- iget-object v0, p0, Lcom/google/gson/GsonBuilder;->instanceCreators:Ljava/util/Map;
- iget-object v1, p1, Lcom/google/gson/Gson;->instanceCreators:Ljava/util/Map;
- invoke-interface {v0, v1}, Ljava/util/Map;->putAll(Ljava/util/Map;)V
- .line 117
- iget-boolean v0, p1, Lcom/google/gson/Gson;->serializeNulls:Z
- iput-boolean v0, p0, Lcom/google/gson/GsonBuilder;->serializeNulls:Z
- .line 118
- iget-boolean v0, p1, Lcom/google/gson/Gson;->complexMapKeySerialization:Z
- iput-boolean v0, p0, Lcom/google/gson/GsonBuilder;->complexMapKeySerialization:Z
- .line 119
- iget-boolean v0, p1, Lcom/google/gson/Gson;->generateNonExecutableJson:Z
- iput-boolean v0, p0, Lcom/google/gson/GsonBuilder;->generateNonExecutableJson:Z
- .line 120
- iget-boolean v0, p1, Lcom/google/gson/Gson;->htmlSafe:Z
- iput-boolean v0, p0, Lcom/google/gson/GsonBuilder;->escapeHtmlChars:Z
- .line 121
- iget-boolean v0, p1, Lcom/google/gson/Gson;->prettyPrinting:Z
- iput-boolean v0, p0, Lcom/google/gson/GsonBuilder;->prettyPrinting:Z
- .line 122
- iget-boolean v0, p1, Lcom/google/gson/Gson;->lenient:Z
- iput-boolean v0, p0, Lcom/google/gson/GsonBuilder;->lenient:Z
- .line 123
- iget-boolean v0, p1, Lcom/google/gson/Gson;->serializeSpecialFloatingPointValues:Z
- iput-boolean v0, p0, Lcom/google/gson/GsonBuilder;->serializeSpecialFloatingPointValues:Z
- .line 124
- iget-object v0, p1, Lcom/google/gson/Gson;->longSerializationPolicy:Lcom/google/gson/LongSerializationPolicy;
- iput-object v0, p0, Lcom/google/gson/GsonBuilder;->longSerializationPolicy:Lcom/google/gson/LongSerializationPolicy;
- .line 125
- iget-object v0, p1, Lcom/google/gson/Gson;->datePattern:Ljava/lang/String;
- iput-object v0, p0, Lcom/google/gson/GsonBuilder;->datePattern:Ljava/lang/String;
- .line 126
- iget v0, p1, Lcom/google/gson/Gson;->dateStyle:I
- iput v0, p0, Lcom/google/gson/GsonBuilder;->dateStyle:I
- .line 127
- iget v0, p1, Lcom/google/gson/Gson;->timeStyle:I
- iput v0, p0, Lcom/google/gson/GsonBuilder;->timeStyle:I
- .line 128
- iget-object v0, p0, Lcom/google/gson/GsonBuilder;->factories:Ljava/util/List;
- iget-object v1, p1, Lcom/google/gson/Gson;->builderFactories:Ljava/util/List;
- invoke-interface {v0, v1}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z
- .line 129
- iget-object v0, p0, Lcom/google/gson/GsonBuilder;->hierarchyFactories:Ljava/util/List;
- iget-object v1, p1, Lcom/google/gson/Gson;->builderHierarchyFactories:Ljava/util/List;
- invoke-interface {v0, v1}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z
- .line 130
- return-void
- .end method
- .method private addTypeAdaptersForDate(Ljava/lang/String;IILjava/util/List;)V
- .locals 4
- .param p1, "datePattern" # Ljava/lang/String;
- .param p2, "dateStyle" # I
- .param p3, "timeStyle" # I
- .annotation system Ldalvik/annotation/Signature;
- value = {
- "(",
- "Ljava/lang/String;",
- "II",
- "Ljava/util/List<",
- "Lcom/google/gson/TypeAdapterFactory;",
- ">;)V"
- }
- .end annotation
- .line 611
- .local p4, "factories":Ljava/util/List;, "Ljava/util/List<Lcom/google/gson/TypeAdapterFactory;>;"
- if-eqz p1, :cond_0
- invoke-virtual {p1}, Ljava/lang/String;->trim()Ljava/lang/String;
- move-result-object v0
- const-string v1, ""
- invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
- move-result v0
- if-nez v0, :cond_0
- .line 612
- new-instance v0, Lcom/google/gson/DefaultDateTypeAdapter;
- const-class v1, Ljava/util/Date;
- invoke-direct {v0, v1, p1}, Lcom/google/gson/DefaultDateTypeAdapter;-><init>(Ljava/lang/Class;Ljava/lang/String;)V
- .line 613
- .local v0, "dateTypeAdapter":Lcom/google/gson/DefaultDateTypeAdapter;
- new-instance v1, Lcom/google/gson/DefaultDateTypeAdapter;
- const-class v2, Ljava/sql/Timestamp;
- invoke-direct {v1, v2, p1}, Lcom/google/gson/DefaultDateTypeAdapter;-><init>(Ljava/lang/Class;Ljava/lang/String;)V
- .line 614
- .local v1, "timestampTypeAdapter":Lcom/google/gson/TypeAdapter;, "Lcom/google/gson/TypeAdapter<Ljava/sql/Timestamp;>;"
- new-instance v2, Lcom/google/gson/DefaultDateTypeAdapter;
- const-class v3, Ljava/sql/Date;
- invoke-direct {v2, v3, p1}, Lcom/google/gson/DefaultDateTypeAdapter;-><init>(Ljava/lang/Class;Ljava/lang/String;)V
- .local v2, "javaSqlDateTypeAdapter":Lcom/google/gson/TypeAdapter;, "Lcom/google/gson/TypeAdapter<Ljava/sql/Date;>;"
- goto :goto_0
- .line 615
- .end local v0 # "dateTypeAdapter":Lcom/google/gson/DefaultDateTypeAdapter;
- .end local v1 # "timestampTypeAdapter":Lcom/google/gson/TypeAdapter;, "Lcom/google/gson/TypeAdapter<Ljava/sql/Timestamp;>;"
- .end local v2 # "javaSqlDateTypeAdapter":Lcom/google/gson/TypeAdapter;, "Lcom/google/gson/TypeAdapter<Ljava/sql/Date;>;"
- :cond_0
- const/4 v0, 0x2
- if-eq p2, v0, :cond_1
- if-eq p3, v0, :cond_1
- .line 616
- new-instance v0, Lcom/google/gson/DefaultDateTypeAdapter;
- const-class v1, Ljava/util/Date;
- invoke-direct {v0, v1, p2, p3}, Lcom/google/gson/DefaultDateTypeAdapter;-><init>(Ljava/lang/Class;II)V
- .line 617
- .restart local v0 # "dateTypeAdapter":Lcom/google/gson/DefaultDateTypeAdapter;
- new-instance v1, Lcom/google/gson/DefaultDateTypeAdapter;
- const-class v2, Ljava/sql/Timestamp;
- invoke-direct {v1, v2, p2, p3}, Lcom/google/gson/DefaultDateTypeAdapter;-><init>(Ljava/lang/Class;II)V
- .line 618
- .restart local v1 # "timestampTypeAdapter":Lcom/google/gson/TypeAdapter;, "Lcom/google/gson/TypeAdapter<Ljava/sql/Timestamp;>;"
- new-instance v2, Lcom/google/gson/DefaultDateTypeAdapter;
- const-class v3, Ljava/sql/Date;
- invoke-direct {v2, v3, p2, p3}, Lcom/google/gson/DefaultDateTypeAdapter;-><init>(Ljava/lang/Class;II)V
- .line 623
- .restart local v2 # "javaSqlDateTypeAdapter":Lcom/google/gson/TypeAdapter;, "Lcom/google/gson/TypeAdapter<Ljava/sql/Date;>;"
- :goto_0
- const-class v3, Ljava/util/Date;
- invoke-static {v3, v0}, Lcom/google/gson/internal/bind/TypeAdapters;->newFactory(Ljava/lang/Class;Lcom/google/gson/TypeAdapter;)Lcom/google/gson/TypeAdapterFactory;
- move-result-object v3
- invoke-interface {p4, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
- .line 624
- const-class v3, Ljava/sql/Timestamp;
- invoke-static {v3, v1}, Lcom/google/gson/internal/bind/TypeAdapters;->newFactory(Ljava/lang/Class;Lcom/google/gson/TypeAdapter;)Lcom/google/gson/TypeAdapterFactory;
- move-result-object v3
- invoke-interface {p4, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
- .line 625
- const-class v3, Ljava/sql/Date;
- invoke-static {v3, v2}, Lcom/google/gson/internal/bind/TypeAdapters;->newFactory(Ljava/lang/Class;Lcom/google/gson/TypeAdapter;)Lcom/google/gson/TypeAdapterFactory;
- move-result-object v3
- invoke-interface {p4, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
- .line 626
- return-void
- .line 620
- .end local v0 # "dateTypeAdapter":Lcom/google/gson/DefaultDateTypeAdapter;
- .end local v1 # "timestampTypeAdapter":Lcom/google/gson/TypeAdapter;, "Lcom/google/gson/TypeAdapter<Ljava/sql/Timestamp;>;"
- .end local v2 # "javaSqlDateTypeAdapter":Lcom/google/gson/TypeAdapter;, "Lcom/google/gson/TypeAdapter<Ljava/sql/Date;>;"
- :cond_1
- return-void
- .end method
- # virtual methods
- .method public addDeserializationExclusionStrategy(Lcom/google/gson/ExclusionStrategy;)Lcom/google/gson/GsonBuilder;
- .locals 3
- .param p1, "strategy" # Lcom/google/gson/ExclusionStrategy;
- .line 375
- iget-object v0, p0, Lcom/google/gson/GsonBuilder;->excluder:Lcom/google/gson/internal/Excluder;
- const/4 v1, 0x0
- const/4 v2, 0x1
- invoke-virtual {v0, p1, v1, v2}, Lcom/google/gson/internal/Excluder;->withExclusionStrategy(Lcom/google/gson/ExclusionStrategy;ZZ)Lcom/google/gson/internal/Excluder;
- move-result-object v0
- iput-object v0, p0, Lcom/google/gson/GsonBuilder;->excluder:Lcom/google/gson/internal/Excluder;
- .line 376
- return-object p0
- .end method
- .method public addSerializationExclusionStrategy(Lcom/google/gson/ExclusionStrategy;)Lcom/google/gson/GsonBuilder;
- .locals 3
- .param p1, "strategy" # Lcom/google/gson/ExclusionStrategy;
- .line 358
- iget-object v0, p0, Lcom/google/gson/GsonBuilder;->excluder:Lcom/google/gson/internal/Excluder;
- const/4 v1, 0x1
- const/4 v2, 0x0
- invoke-virtual {v0, p1, v1, v2}, Lcom/google/gson/internal/Excluder;->withExclusionStrategy(Lcom/google/gson/ExclusionStrategy;ZZ)Lcom/google/gson/internal/Excluder;
- move-result-object v0
- iput-object v0, p0, Lcom/google/gson/GsonBuilder;->excluder:Lcom/google/gson/internal/Excluder;
- .line 359
- return-object p0
- .end method
- .method public create()Lcom/google/gson/Gson;
- .locals 23
- .line 587
- move-object/from16 v0, p0
- new-instance v1, Ljava/util/ArrayList;
- iget-object v2, v0, Lcom/google/gson/GsonBuilder;->factories:Ljava/util/List;
- invoke-interface {v2}, Ljava/util/List;->size()I
- move-result v2
- iget-object v3, v0, Lcom/google/gson/GsonBuilder;->hierarchyFactories:Ljava/util/List;
- invoke-interface {v3}, Ljava/util/List;->size()I
- move-result v3
- add-int/2addr v2, v3
- add-int/lit8 v2, v2, 0x3
- invoke-direct {v1, v2}, Ljava/util/ArrayList;-><init>(I)V
- .local v1, "factories":Ljava/util/List;, "Ljava/util/List<Lcom/google/gson/TypeAdapterFactory;>;"
- move-object/from16 v20, v1
- .line 588
- iget-object v2, v0, Lcom/google/gson/GsonBuilder;->factories:Ljava/util/List;
- invoke-interface {v1, v2}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z
- .line 589
- invoke-static {v1}, Ljava/util/Collections;->reverse(Ljava/util/List;)V
- .line 591
- new-instance v2, Ljava/util/ArrayList;
- iget-object v3, v0, Lcom/google/gson/GsonBuilder;->hierarchyFactories:Ljava/util/List;
- invoke-direct {v2, v3}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
- .line 592
- .local v2, "hierarchyFactories":Ljava/util/List;, "Ljava/util/List<Lcom/google/gson/TypeAdapterFactory;>;"
- invoke-static {v2}, Ljava/util/Collections;->reverse(Ljava/util/List;)V
- .line 593
- invoke-interface {v1, v2}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z
- .line 595
- iget-object v3, v0, Lcom/google/gson/GsonBuilder;->datePattern:Ljava/lang/String;
- iget v4, v0, Lcom/google/gson/GsonBuilder;->dateStyle:I
- iget v5, v0, Lcom/google/gson/GsonBuilder;->timeStyle:I
- invoke-direct {v0, v3, v4, v5, v1}, Lcom/google/gson/GsonBuilder;->addTypeAdaptersForDate(Ljava/lang/String;IILjava/util/List;)V
- .line 597
- new-instance v21, Lcom/google/gson/Gson;
- move-object/from16 v3, v21
- iget-object v4, v0, Lcom/google/gson/GsonBuilder;->excluder:Lcom/google/gson/internal/Excluder;
- iget-object v5, v0, Lcom/google/gson/GsonBuilder;->fieldNamingPolicy:Lcom/google/gson/FieldNamingStrategy;
- iget-object v6, v0, Lcom/google/gson/GsonBuilder;->instanceCreators:Ljava/util/Map;
- iget-boolean v7, v0, Lcom/google/gson/GsonBuilder;->serializeNulls:Z
- iget-boolean v8, v0, Lcom/google/gson/GsonBuilder;->complexMapKeySerialization:Z
- iget-boolean v9, v0, Lcom/google/gson/GsonBuilder;->generateNonExecutableJson:Z
- iget-boolean v10, v0, Lcom/google/gson/GsonBuilder;->escapeHtmlChars:Z
- iget-boolean v11, v0, Lcom/google/gson/GsonBuilder;->prettyPrinting:Z
- iget-boolean v12, v0, Lcom/google/gson/GsonBuilder;->lenient:Z
- iget-boolean v13, v0, Lcom/google/gson/GsonBuilder;->serializeSpecialFloatingPointValues:Z
- iget-object v14, v0, Lcom/google/gson/GsonBuilder;->longSerializationPolicy:Lcom/google/gson/LongSerializationPolicy;
- iget-object v15, v0, Lcom/google/gson/GsonBuilder;->datePattern:Ljava/lang/String;
- move-object/from16 v22, v1
- .end local v1 # "factories":Ljava/util/List;, "Ljava/util/List<Lcom/google/gson/TypeAdapterFactory;>;"
- .local v22, "factories":Ljava/util/List;, "Ljava/util/List<Lcom/google/gson/TypeAdapterFactory;>;"
- iget v1, v0, Lcom/google/gson/GsonBuilder;->dateStyle:I
- move/from16 v16, v1
- iget v1, v0, Lcom/google/gson/GsonBuilder;->timeStyle:I
- move/from16 v17, v1
- iget-object v1, v0, Lcom/google/gson/GsonBuilder;->factories:Ljava/util/List;
- move-object/from16 v18, v1
- iget-object v1, v0, Lcom/google/gson/GsonBuilder;->hierarchyFactories:Ljava/util/List;
- move-object/from16 v19, v1
- invoke-direct/range {v3 .. v20}, Lcom/google/gson/Gson;-><init>(Lcom/google/gson/internal/Excluder;Lcom/google/gson/FieldNamingStrategy;Ljava/util/Map;ZZZZZZZLcom/google/gson/LongSerializationPolicy;Ljava/lang/String;IILjava/util/List;Ljava/util/List;Ljava/util/List;)V
- return-object v21
- .end method
- .method public disableHtmlEscaping()Lcom/google/gson/GsonBuilder;
- .locals 1
- .line 411
- const/4 v0, 0x0
- iput-boolean v0, p0, Lcom/google/gson/GsonBuilder;->escapeHtmlChars:Z
- .line 412
- return-object p0
- .end method
- .method public disableInnerClassSerialization()Lcom/google/gson/GsonBuilder;
- .locals 1
- .line 285
- iget-object v0, p0, Lcom/google/gson/GsonBuilder;->excluder:Lcom/google/gson/internal/Excluder;
- invoke-virtual {v0}, Lcom/google/gson/internal/Excluder;->disableInnerClassSerialization()Lcom/google/gson/internal/Excluder;
- move-result-object v0
- iput-object v0, p0, Lcom/google/gson/GsonBuilder;->excluder:Lcom/google/gson/internal/Excluder;
- .line 286
- return-object p0
- .end method
- .method public enableComplexMapKeySerialization()Lcom/google/gson/GsonBuilder;
- .locals 1
- .line 274
- const/4 v0, 0x1
- iput-boolean v0, p0, Lcom/google/gson/GsonBuilder;->complexMapKeySerialization:Z
- .line 275
- return-object p0
- .end method
- .method public varargs excludeFieldsWithModifiers([I)Lcom/google/gson/GsonBuilder;
- .locals 1
- .param p1, "modifiers" # [I
- .line 156
- iget-object v0, p0, Lcom/google/gson/GsonBuilder;->excluder:Lcom/google/gson/internal/Excluder;
- invoke-virtual {v0, p1}, Lcom/google/gson/internal/Excluder;->withModifiers([I)Lcom/google/gson/internal/Excluder;
- move-result-object v0
- iput-object v0, p0, Lcom/google/gson/GsonBuilder;->excluder:Lcom/google/gson/internal/Excluder;
- .line 157
- return-object p0
- .end method
- .method public excludeFieldsWithoutExposeAnnotation()Lcom/google/gson/GsonBuilder;
- .locals 1
- .line 181
- iget-object v0, p0, Lcom/google/gson/GsonBuilder;->excluder:Lcom/google/gson/internal/Excluder;
- invoke-virtual {v0}, Lcom/google/gson/internal/Excluder;->excludeFieldsWithoutExposeAnnotation()Lcom/google/gson/internal/Excluder;
- move-result-object v0
- iput-object v0, p0, Lcom/google/gson/GsonBuilder;->excluder:Lcom/google/gson/internal/Excluder;
- .line 182
- return-object p0
- .end method
- .method public generateNonExecutableJson()Lcom/google/gson/GsonBuilder;
- .locals 1
- .line 170
- const/4 v0, 0x1
- iput-boolean v0, p0, Lcom/google/gson/GsonBuilder;->generateNonExecutableJson:Z
- .line 171
- return-object p0
- .end method
- .method public registerTypeAdapter(Ljava/lang/reflect/Type;Ljava/lang/Object;)Lcom/google/gson/GsonBuilder;
- .locals 3
- .param p1, "type" # Ljava/lang/reflect/Type;
- .param p2, "typeAdapter" # Ljava/lang/Object;
- .line 497
- instance-of v0, p2, Lcom/google/gson/JsonSerializer;
- if-nez v0, :cond_1
- instance-of v0, p2, Lcom/google/gson/JsonDeserializer;
- if-nez v0, :cond_1
- instance-of v0, p2, Lcom/google/gson/InstanceCreator;
- if-nez v0, :cond_1
- instance-of v0, p2, Lcom/google/gson/TypeAdapter;
- if-eqz v0, :cond_0
- goto :goto_0
- :cond_0
- const/4 v0, 0x0
- goto :goto_1
- :cond_1
- :goto_0
- const/4 v0, 0x1
- :goto_1
- invoke-static {v0}, Lcom/google/gson/internal/$Gson$Preconditions;->checkArgument(Z)V
- .line 501
- instance-of v0, p2, Lcom/google/gson/InstanceCreator;
- if-eqz v0, :cond_2
- .line 502
- iget-object v0, p0, Lcom/google/gson/GsonBuilder;->instanceCreators:Ljava/util/Map;
- move-object v1, p2
- check-cast v1, Lcom/google/gson/InstanceCreator;
- invoke-interface {v0, p1, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
- .line 504
- :cond_2
- instance-of v0, p2, Lcom/google/gson/JsonSerializer;
- if-nez v0, :cond_3
- instance-of v0, p2, Lcom/google/gson/JsonDeserializer;
- if-eqz v0, :cond_4
- .line 505
- :cond_3
- invoke-static {p1}, Lcom/google/gson/reflect/TypeToken;->get(Ljava/lang/reflect/Type;)Lcom/google/gson/reflect/TypeToken;
- move-result-object v0
- .line 506
- .local v0, "typeToken":Lcom/google/gson/reflect/TypeToken;, "Lcom/google/gson/reflect/TypeToken<*>;"
- iget-object v1, p0, Lcom/google/gson/GsonBuilder;->factories:Ljava/util/List;
- invoke-static {v0, p2}, Lcom/google/gson/internal/bind/TreeTypeAdapter;->newFactoryWithMatchRawType(Lcom/google/gson/reflect/TypeToken;Ljava/lang/Object;)Lcom/google/gson/TypeAdapterFactory;
- move-result-object v2
- invoke-interface {v1, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
- .line 508
- .end local v0 # "typeToken":Lcom/google/gson/reflect/TypeToken;, "Lcom/google/gson/reflect/TypeToken<*>;"
- :cond_4
- instance-of v0, p2, Lcom/google/gson/TypeAdapter;
- if-eqz v0, :cond_5
- .line 509
- iget-object v0, p0, Lcom/google/gson/GsonBuilder;->factories:Ljava/util/List;
- invoke-static {p1}, Lcom/google/gson/reflect/TypeToken;->get(Ljava/lang/reflect/Type;)Lcom/google/gson/reflect/TypeToken;
- move-result-object v1
- move-object v2, p2
- check-cast v2, Lcom/google/gson/TypeAdapter;
- invoke-static {v1, v2}, Lcom/google/gson/internal/bind/TypeAdapters;->newFactory(Lcom/google/gson/reflect/TypeToken;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 511
- :cond_5
- return-object p0
- .end method
- .method public registerTypeAdapterFactory(Lcom/google/gson/TypeAdapterFactory;)Lcom/google/gson/GsonBuilder;
- .locals 1
- .param p1, "factory" # Lcom/google/gson/TypeAdapterFactory;
- .line 523
- iget-object v0, p0, Lcom/google/gson/GsonBuilder;->factories:Ljava/util/List;
- invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
- .line 524
- return-object p0
- .end method
- .method public registerTypeHierarchyAdapter(Ljava/lang/Class;Ljava/lang/Object;)Lcom/google/gson/GsonBuilder;
- .locals 2
- .param p2, "typeAdapter" # Ljava/lang/Object;
- .annotation system Ldalvik/annotation/Signature;
- value = {
- "(",
- "Ljava/lang/Class<",
- "*>;",
- "Ljava/lang/Object;",
- ")",
- "Lcom/google/gson/GsonBuilder;"
- }
- .end annotation
- .line 543
- .local p1, "baseType":Ljava/lang/Class;, "Ljava/lang/Class<*>;"
- instance-of v0, p2, Lcom/google/gson/JsonSerializer;
- if-nez v0, :cond_1
- instance-of v0, p2, Lcom/google/gson/JsonDeserializer;
- if-nez v0, :cond_1
- instance-of v0, p2, Lcom/google/gson/TypeAdapter;
- if-eqz v0, :cond_0
- goto :goto_0
- :cond_0
- const/4 v0, 0x0
- goto :goto_1
- :cond_1
- :goto_0
- const/4 v0, 0x1
- :goto_1
- invoke-static {v0}, Lcom/google/gson/internal/$Gson$Preconditions;->checkArgument(Z)V
- .line 546
- instance-of v0, p2, Lcom/google/gson/JsonDeserializer;
- if-nez v0, :cond_2
- instance-of v0, p2, Lcom/google/gson/JsonSerializer;
- if-eqz v0, :cond_3
- .line 547
- :cond_2
- iget-object v0, p0, Lcom/google/gson/GsonBuilder;->hierarchyFactories:Ljava/util/List;
- invoke-static {p1, p2}, Lcom/google/gson/internal/bind/TreeTypeAdapter;->newTypeHierarchyFactory(Ljava/lang/Class;Ljava/lang/Object;)Lcom/google/gson/TypeAdapterFactory;
- move-result-object v1
- invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
- .line 549
- :cond_3
- instance-of v0, p2, Lcom/google/gson/TypeAdapter;
- if-eqz v0, :cond_4
- .line 550
- iget-object v0, p0, Lcom/google/gson/GsonBuilder;->factories:Ljava/util/List;
- move-object v1, p2
- check-cast v1, Lcom/google/gson/TypeAdapter;
- invoke-static {p1, v1}, Lcom/google/gson/internal/bind/TypeAdapters;->newTypeHierarchyFactory(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 552
- :cond_4
- return-object p0
- .end method
- .method public serializeNulls()Lcom/google/gson/GsonBuilder;
- .locals 1
- .line 193
- const/4 v0, 0x1
- iput-boolean v0, p0, Lcom/google/gson/GsonBuilder;->serializeNulls:Z
- .line 194
- return-object p0
- .end method
- .method public serializeSpecialFloatingPointValues()Lcom/google/gson/GsonBuilder;
- .locals 1
- .line 576
- const/4 v0, 0x1
- iput-boolean v0, p0, Lcom/google/gson/GsonBuilder;->serializeSpecialFloatingPointValues:Z
- .line 577
- return-object p0
- .end method
- .method public setDateFormat(I)Lcom/google/gson/GsonBuilder;
- .locals 1
- .param p1, "style" # I
- .line 452
- iput p1, p0, Lcom/google/gson/GsonBuilder;->dateStyle:I
- .line 453
- const/4 v0, 0x0
- iput-object v0, p0, Lcom/google/gson/GsonBuilder;->datePattern:Ljava/lang/String;
- .line 454
- return-object p0
- .end method
- .method public setDateFormat(II)Lcom/google/gson/GsonBuilder;
- .locals 1
- .param p1, "dateStyle" # I
- .param p2, "timeStyle" # I
- .line 473
- iput p1, p0, Lcom/google/gson/GsonBuilder;->dateStyle:I
- .line 474
- iput p2, p0, Lcom/google/gson/GsonBuilder;->timeStyle:I
- .line 475
- const/4 v0, 0x0
- iput-object v0, p0, Lcom/google/gson/GsonBuilder;->datePattern:Ljava/lang/String;
- .line 476
- return-object p0
- .end method
- .method public setDateFormat(Ljava/lang/String;)Lcom/google/gson/GsonBuilder;
- .locals 0
- .param p1, "pattern" # Ljava/lang/String;
- .line 433
- iput-object p1, p0, Lcom/google/gson/GsonBuilder;->datePattern:Ljava/lang/String;
- .line 434
- return-object p0
- .end method
- .method public varargs setExclusionStrategies([Lcom/google/gson/ExclusionStrategy;)Lcom/google/gson/GsonBuilder;
- .locals 5
- .param p1, "strategies" # [Lcom/google/gson/ExclusionStrategy;
- .line 339
- array-length v0, p1
- const/4 v1, 0x0
- :goto_0
- if-ge v1, v0, :cond_0
- aget-object v2, p1, v1
- .line 340
- .local v2, "strategy":Lcom/google/gson/ExclusionStrategy;
- iget-object v3, p0, Lcom/google/gson/GsonBuilder;->excluder:Lcom/google/gson/internal/Excluder;
- const/4 v4, 0x1
- invoke-virtual {v3, v2, v4, v4}, Lcom/google/gson/internal/Excluder;->withExclusionStrategy(Lcom/google/gson/ExclusionStrategy;ZZ)Lcom/google/gson/internal/Excluder;
- move-result-object v3
- iput-object v3, p0, Lcom/google/gson/GsonBuilder;->excluder:Lcom/google/gson/internal/Excluder;
- .line 339
- .end local v2 # "strategy":Lcom/google/gson/ExclusionStrategy;
- add-int/lit8 v1, v1, 0x1
- goto :goto_0
- .line 342
- :cond_0
- return-object p0
- .end method
- .method public setFieldNamingPolicy(Lcom/google/gson/FieldNamingPolicy;)Lcom/google/gson/GsonBuilder;
- .locals 0
- .param p1, "namingConvention" # Lcom/google/gson/FieldNamingPolicy;
- .line 311
- iput-object p1, p0, Lcom/google/gson/GsonBuilder;->fieldNamingPolicy:Lcom/google/gson/FieldNamingStrategy;
- .line 312
- return-object p0
- .end method
- .method public setFieldNamingStrategy(Lcom/google/gson/FieldNamingStrategy;)Lcom/google/gson/GsonBuilder;
- .locals 0
- .param p1, "fieldNamingStrategy" # Lcom/google/gson/FieldNamingStrategy;
- .line 324
- iput-object p1, p0, Lcom/google/gson/GsonBuilder;->fieldNamingPolicy:Lcom/google/gson/FieldNamingStrategy;
- .line 325
- return-object p0
- .end method
- .method public setLenient()Lcom/google/gson/GsonBuilder;
- .locals 1
- .line 399
- const/4 v0, 0x1
- iput-boolean v0, p0, Lcom/google/gson/GsonBuilder;->lenient:Z
- .line 400
- return-object p0
- .end method
- .method public setLongSerializationPolicy(Lcom/google/gson/LongSerializationPolicy;)Lcom/google/gson/GsonBuilder;
- .locals 0
- .param p1, "serializationPolicy" # Lcom/google/gson/LongSerializationPolicy;
- .line 298
- iput-object p1, p0, Lcom/google/gson/GsonBuilder;->longSerializationPolicy:Lcom/google/gson/LongSerializationPolicy;
- .line 299
- return-object p0
- .end method
- .method public setPrettyPrinting()Lcom/google/gson/GsonBuilder;
- .locals 1
- .line 386
- const/4 v0, 0x1
- iput-boolean v0, p0, Lcom/google/gson/GsonBuilder;->prettyPrinting:Z
- .line 387
- return-object p0
- .end method
- .method public setVersion(D)Lcom/google/gson/GsonBuilder;
- .locals 1
- .param p1, "ignoreVersionsAfter" # D
- .line 140
- iget-object v0, p0, Lcom/google/gson/GsonBuilder;->excluder:Lcom/google/gson/internal/Excluder;
- invoke-virtual {v0, p1, p2}, Lcom/google/gson/internal/Excluder;->withVersion(D)Lcom/google/gson/internal/Excluder;
- move-result-object v0
- iput-object v0, p0, Lcom/google/gson/GsonBuilder;->excluder:Lcom/google/gson/internal/Excluder;
- .line 141
- return-object p0
- .end method
|