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 // com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter this
        start local 1 // com.google.gson.internal.ObjectConstructor constructor
        start local 2 // java.util.Map boundFields
         0: .line 201
            aload 0 /* this */
            invokespecial com.google.gson.TypeAdapter.<init>:()V
         1: .line 202
            aload 0 /* this */
            aload 1 /* constructor */
            putfield com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.constructor:Lcom/google/gson/internal/ObjectConstructor;
         2: .line 203
            aload 0 /* this */
            aload 2 /* boundFields */
            putfield com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.boundFields:Ljava/util/Map;
         3: .line 204
            return
        end local 2 // java.util.Map boundFields
        end local 1 // com.google.gson.internal.ObjectConstructor constructor
        end local 0 // com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter this
      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 // com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter this
        start local 1 // com.google.gson.stream.JsonReader in
         0: .line 207
            aload 1 /* in */
            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: .line 208
            aload 1 /* in */
            invokevirtual com.google.gson.stream.JsonReader.nextNull:()V
         2: .line 209
            aconst_null
            areturn
         3: .line 212
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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 /* instance */
        start local 2 // java.lang.Object instance
         4: .line 215
            aload 1 /* in */
            invokevirtual com.google.gson.stream.JsonReader.beginObject:()V
         5: .line 216
            goto 12
         6: .line 217
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* in */
            invokevirtual com.google.gson.stream.JsonReader.nextName:()Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
         7: .line 218
            aload 0 /* this */
            getfield com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.boundFields:Ljava/util/Map;
            aload 3 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField
            astore 4 /* field */
        start local 4 // com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField field
         8: .line 219
            aload 4 /* field */
            ifnull 9
            aload 4 /* field */
            getfield com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField.deserialized:Z
            ifne 11
         9: .line 220
      StackMap locals: java.lang.String com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField
      StackMap stack:
            aload 1 /* in */
            invokevirtual com.google.gson.stream.JsonReader.skipValue:()V
        10: .line 221
            goto 12
        11: .line 222
      StackMap locals:
      StackMap stack:
            aload 4 /* field */
            aload 1 /* in */
            aload 2 /* instance */
            invokevirtual com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField.read:(Lcom/google/gson/stream/JsonReader;Ljava/lang/Object;)V
        end local 4 // com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField field
        end local 3 // java.lang.String name
        12: .line 216
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokevirtual com.google.gson.stream.JsonReader.hasNext:()Z
            ifne 6
        13: .line 225
            goto 18
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
        14: astore 3 /* e */
        start local 3 // java.lang.IllegalStateException e
        15: .line 226
            new com.google.gson.JsonSyntaxException
            dup
            aload 3 /* e */
            invokespecial com.google.gson.JsonSyntaxException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.IllegalStateException e
        16: .line 227
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 3 /* e */
        start local 3 // java.lang.IllegalAccessException e
        17: .line 228
            new java.lang.AssertionError
            dup
            aload 3 /* e */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 3 // java.lang.IllegalAccessException e
        18: .line 230
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokevirtual com.google.gson.stream.JsonReader.endObject:()V
        19: .line 231
            aload 2 /* instance */
            areturn
        end local 2 // java.lang.Object instance
        end local 1 // com.google.gson.stream.JsonReader in
        end local 0 // com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter this
      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 // com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter this
        start local 1 // com.google.gson.stream.JsonWriter out
        start local 2 // java.lang.Object value
         0: .line 235
            aload 2 /* value */
            ifnonnull 3
         1: .line 236
            aload 1 /* out */
            invokevirtual com.google.gson.stream.JsonWriter.nullValue:()Lcom/google/gson/stream/JsonWriter;
            pop
         2: .line 237
            return
         3: .line 240
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            invokevirtual com.google.gson.stream.JsonWriter.beginObject:()Lcom/google/gson/stream/JsonWriter;
            pop
         4: .line 242
            aload 0 /* this */
            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 /* boundField */
        start local 3 // com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField boundField
         6: .line 243
            aload 3 /* boundField */
            aload 2 /* value */
            invokevirtual com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField.writeField:(Ljava/lang/Object;)Z
            ifeq 9
         7: .line 244
            aload 1 /* out */
            aload 3 /* boundField */
            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: .line 245
            aload 3 /* boundField */
            aload 1 /* out */
            aload 2 /* value */
            invokevirtual com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField.write:(Lcom/google/gson/stream/JsonWriter;Ljava/lang/Object;)V
        end local 3 // com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField boundField
         9: .line 242
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        10: .line 248
            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 /* e */
        start local 3 // java.lang.IllegalAccessException e
        12: .line 249
            new java.lang.AssertionError
            dup
            aload 3 /* e */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 3 // java.lang.IllegalAccessException e
        13: .line 251
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            invokevirtual com.google.gson.stream.JsonWriter.endObject:()Lcom/google/gson/stream/JsonWriter;
            pop
        14: .line 252
            return
        end local 2 // java.lang.Object value
        end local 1 // com.google.gson.stream.JsonWriter out
        end local 0 // com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter this
      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