public abstract class com.google.gson.TypeAdapter<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.google.gson.TypeAdapter
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.gson.TypeAdapter this
         0: .line 119
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.google.gson.TypeAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/gson/TypeAdapter<TT;>;

  public abstract void write(com.google.gson.stream.JsonWriter, );
    descriptor: (Lcom/google/gson/stream/JsonWriter;Ljava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    Signature: (Lcom/google/gson/stream/JsonWriter;TT;)V
    MethodParameters:
       Name  Flags
      out    
      value  

  public final void toJson(java.io.Writer, );
    descriptor: (Ljava/io/Writer;Ljava/lang/Object;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.google.gson.TypeAdapter this
        start local 1 // java.io.Writer out
        start local 2 // java.lang.Object value
         0: .line 141
            new com.google.gson.stream.JsonWriter
            dup
            aload 1 /* out */
            invokespecial com.google.gson.stream.JsonWriter.<init>:(Ljava/io/Writer;)V
            astore 3 /* writer */
        start local 3 // com.google.gson.stream.JsonWriter writer
         1: .line 142
            aload 0 /* this */
            aload 3 /* writer */
            aload 2 /* value */
            invokevirtual com.google.gson.TypeAdapter.write:(Lcom/google/gson/stream/JsonWriter;Ljava/lang/Object;)V
         2: .line 143
            return
        end local 3 // com.google.gson.stream.JsonWriter writer
        end local 2 // java.lang.Object value
        end local 1 // java.io.Writer out
        end local 0 // com.google.gson.TypeAdapter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lcom/google/gson/TypeAdapter<TT;>;
            0    3     1     out  Ljava/io/Writer;
            0    3     2   value  TT;
            1    3     3  writer  Lcom/google/gson/stream/JsonWriter;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/io/Writer;TT;)V
    MethodParameters:
       Name  Flags
      out    
      value  

  public final com.google.gson.TypeAdapter<T> nullSafe();
    descriptor: ()Lcom/google/gson/TypeAdapter;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.google.gson.TypeAdapter this
         0: .line 186
            new com.google.gson.TypeAdapter$1
            dup
            aload 0 /* this */
            invokespecial com.google.gson.TypeAdapter$1.<init>:(Lcom/google/gson/TypeAdapter;)V
            areturn
        end local 0 // com.google.gson.TypeAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/gson/TypeAdapter<TT;>;
    Signature: ()Lcom/google/gson/TypeAdapter<TT;>;

  public final java.lang.String toJson(T);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.google.gson.TypeAdapter this
        start local 1 // java.lang.Object value
         0: .line 215
            new java.io.StringWriter
            dup
            invokespecial java.io.StringWriter.<init>:()V
            astore 2 /* stringWriter */
        start local 2 // java.io.StringWriter stringWriter
         1: .line 217
            aload 0 /* this */
            aload 2 /* stringWriter */
            aload 1 /* value */
            invokevirtual com.google.gson.TypeAdapter.toJson:(Ljava/io/Writer;Ljava/lang/Object;)V
         2: .line 218
            goto 5
      StackMap locals: com.google.gson.TypeAdapter java.lang.Object java.io.StringWriter
      StackMap stack: java.io.IOException
         3: astore 3 /* e */
        start local 3 // java.io.IOException e
         4: .line 219
            new java.lang.AssertionError
            dup
            aload 3 /* e */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 3 // java.io.IOException e
         5: .line 221
      StackMap locals:
      StackMap stack:
            aload 2 /* stringWriter */
            invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.io.StringWriter stringWriter
        end local 1 // java.lang.Object value
        end local 0 // com.google.gson.TypeAdapter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lcom/google/gson/TypeAdapter<TT;>;
            0    6     1         value  TT;
            1    6     2  stringWriter  Ljava/io/StringWriter;
            4    5     3             e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.IOException
    Signature: (TT;)Ljava/lang/String;
    MethodParameters:
       Name  Flags
      value  

  public final com.google.gson.JsonElement toJsonTree(T);
    descriptor: (Ljava/lang/Object;)Lcom/google/gson/JsonElement;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.google.gson.TypeAdapter this
        start local 1 // java.lang.Object value
         0: .line 233
            new com.google.gson.internal.bind.JsonTreeWriter
            dup
            invokespecial com.google.gson.internal.bind.JsonTreeWriter.<init>:()V
            astore 2 /* jsonWriter */
        start local 2 // com.google.gson.internal.bind.JsonTreeWriter jsonWriter
         1: .line 234
            aload 0 /* this */
            aload 2 /* jsonWriter */
            aload 1 /* value */
            invokevirtual com.google.gson.TypeAdapter.write:(Lcom/google/gson/stream/JsonWriter;Ljava/lang/Object;)V
         2: .line 235
            aload 2 /* jsonWriter */
            invokevirtual com.google.gson.internal.bind.JsonTreeWriter.get:()Lcom/google/gson/JsonElement;
         3: areturn
        end local 2 // com.google.gson.internal.bind.JsonTreeWriter jsonWriter
         4: .line 236
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 2 /* e */
        start local 2 // java.io.IOException e
         5: .line 237
            new com.google.gson.JsonIOException
            dup
            aload 2 /* e */
            invokespecial com.google.gson.JsonIOException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.IOException e
        end local 1 // java.lang.Object value
        end local 0 // com.google.gson.TypeAdapter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lcom/google/gson/TypeAdapter<TT;>;
            0    6     1       value  TT;
            1    4     2  jsonWriter  Lcom/google/gson/internal/bind/JsonTreeWriter;
            5    6     2           e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     3       4  Class java.io.IOException
    Signature: (TT;)Lcom/google/gson/JsonElement;
    MethodParameters:
       Name  Flags
      value  

  public abstract T read(com.google.gson.stream.JsonReader);
    descriptor: (Lcom/google/gson/stream/JsonReader;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    Signature: (Lcom/google/gson/stream/JsonReader;)TT;
    MethodParameters:
      Name  Flags
      in    

  public final T fromJson(java.io.Reader);
    descriptor: (Ljava/io/Reader;)Ljava/lang/Object;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.google.gson.TypeAdapter this
        start local 1 // java.io.Reader in
         0: .line 259
            new com.google.gson.stream.JsonReader
            dup
            aload 1 /* in */
            invokespecial com.google.gson.stream.JsonReader.<init>:(Ljava/io/Reader;)V
            astore 2 /* reader */
        start local 2 // com.google.gson.stream.JsonReader reader
         1: .line 260
            aload 0 /* this */
            aload 2 /* reader */
            invokevirtual com.google.gson.TypeAdapter.read:(Lcom/google/gson/stream/JsonReader;)Ljava/lang/Object;
            areturn
        end local 2 // com.google.gson.stream.JsonReader reader
        end local 1 // java.io.Reader in
        end local 0 // com.google.gson.TypeAdapter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/google/gson/TypeAdapter<TT;>;
            0    2     1      in  Ljava/io/Reader;
            1    2     2  reader  Lcom/google/gson/stream/JsonReader;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/io/Reader;)TT;
    MethodParameters:
      Name  Flags
      in    

  public final T fromJson(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.google.gson.TypeAdapter this
        start local 1 // java.lang.String json
         0: .line 273
            aload 0 /* this */
            new java.io.StringReader
            dup
            aload 1 /* json */
            invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
            invokevirtual com.google.gson.TypeAdapter.fromJson:(Ljava/io/Reader;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.String json
        end local 0 // com.google.gson.TypeAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/gson/TypeAdapter<TT;>;
            0    1     1  json  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/String;)TT;
    MethodParameters:
      Name  Flags
      json  

  public final T fromJsonTree(com.google.gson.JsonElement);
    descriptor: (Lcom/google/gson/JsonElement;)Ljava/lang/Object;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.google.gson.TypeAdapter this
        start local 1 // com.google.gson.JsonElement jsonTree
         0: .line 284
            new com.google.gson.internal.bind.JsonTreeReader
            dup
            aload 1 /* jsonTree */
            invokespecial com.google.gson.internal.bind.JsonTreeReader.<init>:(Lcom/google/gson/JsonElement;)V
            astore 2 /* jsonReader */
        start local 2 // com.google.gson.stream.JsonReader jsonReader
         1: .line 285
            aload 0 /* this */
            aload 2 /* jsonReader */
            invokevirtual com.google.gson.TypeAdapter.read:(Lcom/google/gson/stream/JsonReader;)Ljava/lang/Object;
         2: areturn
        end local 2 // com.google.gson.stream.JsonReader jsonReader
         3: .line 286
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 2 /* e */
        start local 2 // java.io.IOException e
         4: .line 287
            new com.google.gson.JsonIOException
            dup
            aload 2 /* e */
            invokespecial com.google.gson.JsonIOException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.IOException e
        end local 1 // com.google.gson.JsonElement jsonTree
        end local 0 // com.google.gson.TypeAdapter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lcom/google/gson/TypeAdapter<TT;>;
            0    5     1    jsonTree  Lcom/google/gson/JsonElement;
            1    3     2  jsonReader  Lcom/google/gson/stream/JsonReader;
            4    5     2           e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.io.IOException
    Signature: (Lcom/google/gson/JsonElement;)TT;
    MethodParameters:
          Name  Flags
      jsonTree  
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "TypeAdapter.java"
NestMembers:
  com.google.gson.TypeAdapter$1
InnerClasses:
  com.google.gson.TypeAdapter$1