public final class com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter<T> extends com.google.gson.TypeAdapter<T>
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter
super_class: com.google.gson.TypeAdapter
{
private final com.google.gson.internal.ObjectConstructor<T> constructor;
descriptor: Lcom/google/gson/internal/ObjectConstructor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/google/gson/internal/ObjectConstructor<TT;>;
private final java.util.Map<java.lang.String, com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField> boundFields;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Lcom/google/gson/internal/bind/ReflectiveTypeAdapterFactory$BoundField;>;
void <init>(com.google.gson.internal.ObjectConstructor<T>, java.util.Map<java.lang.String, com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField>);
descriptor: (Lcom/google/gson/internal/ObjectConstructor;Ljava/util/Map;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial com.google.gson.TypeAdapter.<init>:()V
1: aload 0
aload 1
putfield com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.constructor:Lcom/google/gson/internal/ObjectConstructor;
2: aload 0
aload 2
putfield com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.boundFields:Ljava/util/Map;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/gson/internal/bind/ReflectiveTypeAdapterFactory$Adapter<TT;>;
0 4 1 constructor Lcom/google/gson/internal/ObjectConstructor<TT;>;
0 4 2 boundFields Ljava/util/Map<Ljava/lang/String;Lcom/google/gson/internal/bind/ReflectiveTypeAdapterFactory$BoundField;>;
Signature: (Lcom/google/gson/internal/ObjectConstructor<TT;>;Ljava/util/Map<Ljava/lang/String;Lcom/google/gson/internal/bind/ReflectiveTypeAdapterFactory$BoundField;>;)V
MethodParameters:
Name Flags
constructor
boundFields
public T read(com.google.gson.stream.JsonReader);
descriptor: (Lcom/google/gson/stream/JsonReader;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, 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;
getstatic com.google.gson.stream.JsonToken.NULL:Lcom/google/gson/stream/JsonToken;
if_acmpne 3
1: aload 1
invokevirtual com.google.gson.stream.JsonReader.nextNull:()V
2: aconst_null
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.constructor:Lcom/google/gson/internal/ObjectConstructor;
invokeinterface com.google.gson.internal.ObjectConstructor.construct:()Ljava/lang/Object;
astore 2
start local 2 4: aload 1
invokevirtual com.google.gson.stream.JsonReader.beginObject:()V
5: goto 12
6: StackMap locals: java.lang.Object
StackMap stack:
aload 1
invokevirtual com.google.gson.stream.JsonReader.nextName:()Ljava/lang/String;
astore 3
start local 3 7: aload 0
getfield com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.boundFields:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField
astore 4
start local 4 8: aload 4
ifnull 9
aload 4
getfield com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField.deserialized:Z
ifne 11
9: StackMap locals: java.lang.String com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField
StackMap stack:
aload 1
invokevirtual com.google.gson.stream.JsonReader.skipValue:()V
10: goto 12
11: StackMap locals:
StackMap stack:
aload 4
aload 1
aload 2
invokevirtual com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField.read:(Lcom/google/gson/stream/JsonReader;Ljava/lang/Object;)V
end local 4 end local 3 12: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.google.gson.stream.JsonReader.hasNext:()Z
ifne 6
13: goto 18
StackMap locals:
StackMap stack: java.lang.IllegalStateException
14: astore 3
start local 3 15: new com.google.gson.JsonSyntaxException
dup
aload 3
invokespecial com.google.gson.JsonSyntaxException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 16: StackMap locals:
StackMap stack: java.lang.IllegalAccessException
astore 3
start local 3 17: new java.lang.AssertionError
dup
aload 3
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 3 18: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.google.gson.stream.JsonReader.endObject:()V
19: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/google/gson/internal/bind/ReflectiveTypeAdapterFactory$Adapter<TT;>;
0 20 1 in Lcom/google/gson/stream/JsonReader;
4 20 2 instance TT;
7 12 3 name Ljava/lang/String;
8 12 4 field Lcom/google/gson/internal/bind/ReflectiveTypeAdapterFactory$BoundField;
15 16 3 e Ljava/lang/IllegalStateException;
17 18 3 e Ljava/lang/IllegalAccessException;
Exception table:
from to target type
4 13 14 Class java.lang.IllegalStateException
4 13 16 Class java.lang.IllegalAccessException
Exceptions:
throws java.io.IOException
Signature: (Lcom/google/gson/stream/JsonReader;)TT;
MethodParameters:
Name Flags
in
public void write(com.google.gson.stream.JsonWriter, );
descriptor: (Lcom/google/gson/stream/JsonWriter;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, 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 1
invokevirtual com.google.gson.stream.JsonWriter.beginObject:()Lcom/google/gson/stream/JsonWriter;
pop
4: aload 0
getfield com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.boundFields:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 9
StackMap locals: com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter com.google.gson.stream.JsonWriter java.lang.Object top java.util.Iterator
StackMap stack:
5: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField
astore 3
start local 3 6: aload 3
aload 2
invokevirtual com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField.writeField:(Ljava/lang/Object;)Z
ifeq 9
7: aload 1
aload 3
getfield com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField.name:Ljava/lang/String;
invokevirtual com.google.gson.stream.JsonWriter.name:(Ljava/lang/String;)Lcom/google/gson/stream/JsonWriter;
pop
8: aload 3
aload 1
aload 2
invokevirtual com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField.write:(Lcom/google/gson/stream/JsonWriter;Ljava/lang/Object;)V
end local 3 9: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
10: goto 13
StackMap locals: com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter com.google.gson.stream.JsonWriter java.lang.Object
StackMap stack: java.lang.IllegalAccessException
11: astore 3
start local 3 12: new java.lang.AssertionError
dup
aload 3
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 3 13: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.google.gson.stream.JsonWriter.endObject:()Lcom/google/gson/stream/JsonWriter;
pop
14: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/google/gson/internal/bind/ReflectiveTypeAdapterFactory$Adapter<TT;>;
0 15 1 out Lcom/google/gson/stream/JsonWriter;
0 15 2 value TT;
6 9 3 boundField Lcom/google/gson/internal/bind/ReflectiveTypeAdapterFactory$BoundField;
12 13 3 e Ljava/lang/IllegalAccessException;
Exception table:
from to target type
4 10 11 Class java.lang.IllegalAccessException
Exceptions:
throws java.io.IOException
Signature: (Lcom/google/gson/stream/JsonWriter;TT;)V
MethodParameters:
Name Flags
out
value
}
Signature: <T:Ljava/lang/Object;>Lcom/google/gson/TypeAdapter<TT;>;
SourceFile: "ReflectiveTypeAdapterFactory.java"
NestHost: com.google.gson.internal.bind.ReflectiveTypeAdapterFactory
InnerClasses:
public final Adapter = com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter of com.google.gson.internal.bind.ReflectiveTypeAdapterFactory
abstract BoundField = com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField of com.google.gson.internal.bind.ReflectiveTypeAdapterFactory