public final class com.google.gson.internal.bind.ObjectTypeAdapter extends com.google.gson.TypeAdapter<java.lang.Object>
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.google.gson.internal.bind.ObjectTypeAdapter
super_class: com.google.gson.TypeAdapter
{
public static final com.google.gson.TypeAdapterFactory FACTORY;
descriptor: Lcom/google/gson/TypeAdapterFactory;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private final com.google.gson.Gson gson;
descriptor: Lcom/google/gson/Gson;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static volatile int[] $SWITCH_TABLE$com$google$gson$stream$JsonToken;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new com.google.gson.internal.bind.ObjectTypeAdapter$1
dup
invokespecial com.google.gson.internal.bind.ObjectTypeAdapter$1.<init>:()V
putstatic com.google.gson.internal.bind.ObjectTypeAdapter.FACTORY:Lcom/google/gson/TypeAdapterFactory;
1: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(com.google.gson.Gson);
descriptor: (Lcom/google/gson/Gson;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial com.google.gson.TypeAdapter.<init>:()V
1: aload 0
aload 1
putfield com.google.gson.internal.bind.ObjectTypeAdapter.gson:Lcom/google/gson/Gson;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/google/gson/internal/bind/ObjectTypeAdapter;
0 3 1 gson Lcom/google/gson/Gson;
MethodParameters:
Name Flags
gson
public java.lang.Object read(com.google.gson.stream.JsonReader);
descriptor: (Lcom/google/gson/stream/JsonReader;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.google.gson.stream.JsonReader.peek:()Lcom/google/gson/stream/JsonToken;
astore 2
start local 2 1: invokestatic com.google.gson.internal.bind.ObjectTypeAdapter.$SWITCH_TABLE$com$google$gson$stream$JsonToken:()[I
aload 2
invokevirtual com.google.gson.stream.JsonToken.ordinal:()I
iaload
tableswitch { // 1 - 9
1: 2
2: 21
3: 9
4: 21
5: 21
6: 16
7: 17
8: 18
9: 19
default: 21
}
2: StackMap locals: com.google.gson.stream.JsonToken
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 3: aload 1
invokevirtual com.google.gson.stream.JsonReader.beginArray:()V
4: goto 6
5: StackMap locals: java.util.List
StackMap stack:
aload 3
aload 0
aload 1
invokevirtual com.google.gson.internal.bind.ObjectTypeAdapter.read:(Lcom/google/gson/stream/JsonReader;)Ljava/lang/Object;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.google.gson.stream.JsonReader.hasNext:()Z
ifne 5
7: aload 1
invokevirtual com.google.gson.stream.JsonReader.endArray:()V
8: aload 3
areturn
end local 3 9: StackMap locals:
StackMap stack:
new com.google.gson.internal.LinkedTreeMap
dup
invokespecial com.google.gson.internal.LinkedTreeMap.<init>:()V
astore 4
start local 4 10: aload 1
invokevirtual com.google.gson.stream.JsonReader.beginObject:()V
11: goto 13
12: StackMap locals: com.google.gson.internal.bind.ObjectTypeAdapter com.google.gson.stream.JsonReader com.google.gson.stream.JsonToken top java.util.Map
StackMap stack:
aload 4
aload 1
invokevirtual com.google.gson.stream.JsonReader.nextName:()Ljava/lang/String;
aload 0
aload 1
invokevirtual com.google.gson.internal.bind.ObjectTypeAdapter.read:(Lcom/google/gson/stream/JsonReader;)Ljava/lang/Object;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
13: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.google.gson.stream.JsonReader.hasNext:()Z
ifne 12
14: aload 1
invokevirtual com.google.gson.stream.JsonReader.endObject:()V
15: aload 4
areturn
end local 4 16: StackMap locals: com.google.gson.internal.bind.ObjectTypeAdapter com.google.gson.stream.JsonReader com.google.gson.stream.JsonToken
StackMap stack:
aload 1
invokevirtual com.google.gson.stream.JsonReader.nextString:()Ljava/lang/String;
areturn
17: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.google.gson.stream.JsonReader.nextDouble:()D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
18: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.google.gson.stream.JsonReader.nextBoolean:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
19: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.google.gson.stream.JsonReader.nextNull:()V
20: aconst_null
areturn
21: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/google/gson/internal/bind/ObjectTypeAdapter;
0 22 1 in Lcom/google/gson/stream/JsonReader;
1 22 2 token Lcom/google/gson/stream/JsonToken;
3 9 3 list Ljava/util/List<Ljava/lang/Object;>;
10 16 4 map Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
public void write(com.google.gson.stream.JsonWriter, java.lang.Object);
descriptor: (Lcom/google/gson/stream/JsonWriter;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 3
1: aload 1
invokevirtual com.google.gson.stream.JsonWriter.nullValue:()Lcom/google/gson/stream/JsonWriter;
pop
2: return
3: StackMap locals:
StackMap stack:
aload 0
getfield com.google.gson.internal.bind.ObjectTypeAdapter.gson:Lcom/google/gson/Gson;
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual com.google.gson.Gson.getAdapter:(Ljava/lang/Class;)Lcom/google/gson/TypeAdapter;
astore 3
start local 3 4: aload 3
instanceof com.google.gson.internal.bind.ObjectTypeAdapter
ifeq 8
5: aload 1
invokevirtual com.google.gson.stream.JsonWriter.beginObject:()Lcom/google/gson/stream/JsonWriter;
pop
6: aload 1
invokevirtual com.google.gson.stream.JsonWriter.endObject:()Lcom/google/gson/stream/JsonWriter;
pop
7: return
8: StackMap locals: com.google.gson.TypeAdapter
StackMap stack:
aload 3
aload 1
aload 2
invokevirtual com.google.gson.TypeAdapter.write:(Lcom/google/gson/stream/JsonWriter;Ljava/lang/Object;)V
9: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/google/gson/internal/bind/ObjectTypeAdapter;
0 10 1 out Lcom/google/gson/stream/JsonWriter;
0 10 2 value Ljava/lang/Object;
4 10 3 typeAdapter Lcom/google/gson/TypeAdapter<Ljava/lang/Object;>;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
out
value
static int[] $SWITCH_TABLE$com$google$gson$stream$JsonToken();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.google.gson.internal.bind.ObjectTypeAdapter.$SWITCH_TABLE$com$google$gson$stream$JsonToken:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.google.gson.stream.JsonToken.values:()[Lcom/google/gson/stream/JsonToken;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.google.gson.stream.JsonToken.BEGIN_ARRAY:Lcom/google/gson/stream/JsonToken;
invokevirtual com.google.gson.stream.JsonToken.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic com.google.gson.stream.JsonToken.BEGIN_OBJECT:Lcom/google/gson/stream/JsonToken;
invokevirtual com.google.gson.stream.JsonToken.ordinal:()I
iconst_3
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic com.google.gson.stream.JsonToken.BOOLEAN:Lcom/google/gson/stream/JsonToken;
invokevirtual com.google.gson.stream.JsonToken.ordinal:()I
bipush 8
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic com.google.gson.stream.JsonToken.END_ARRAY:Lcom/google/gson/stream/JsonToken;
invokevirtual com.google.gson.stream.JsonToken.ordinal:()I
iconst_2
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic com.google.gson.stream.JsonToken.END_DOCUMENT:Lcom/google/gson/stream/JsonToken;
invokevirtual com.google.gson.stream.JsonToken.ordinal:()I
bipush 10
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic com.google.gson.stream.JsonToken.END_OBJECT:Lcom/google/gson/stream/JsonToken;
invokevirtual com.google.gson.stream.JsonToken.ordinal:()I
iconst_4
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic com.google.gson.stream.JsonToken.NAME:Lcom/google/gson/stream/JsonToken;
invokevirtual com.google.gson.stream.JsonToken.ordinal:()I
iconst_5
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic com.google.gson.stream.JsonToken.NULL:Lcom/google/gson/stream/JsonToken;
invokevirtual com.google.gson.stream.JsonToken.ordinal:()I
bipush 9
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic com.google.gson.stream.JsonToken.NUMBER:Lcom/google/gson/stream/JsonToken;
invokevirtual com.google.gson.stream.JsonToken.ordinal:()I
bipush 7
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic com.google.gson.stream.JsonToken.STRING:Lcom/google/gson/stream/JsonToken;
invokevirtual com.google.gson.stream.JsonToken.ordinal:()I
bipush 6
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
dup
putstatic com.google.gson.internal.bind.ObjectTypeAdapter.$SWITCH_TABLE$com$google$gson$stream$JsonToken:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
}
Signature: Lcom/google/gson/TypeAdapter<Ljava/lang/Object;>;
SourceFile: "ObjectTypeAdapter.java"
NestMembers:
com.google.gson.internal.bind.ObjectTypeAdapter$1
InnerClasses:
com.google.gson.internal.bind.ObjectTypeAdapter$1