public class org.objectweb.asm.signature.SignatureReader
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.objectweb.asm.signature.SignatureReader
  super_class: java.lang.Object
{
  private final java.lang.String signature;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.objectweb.asm.signature.SignatureReader this
        start local 1 // java.lang.String signature
         0: .line 53
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 54
            aload 0 /* this */
            aload 1 /* signature */
            putfield org.objectweb.asm.signature.SignatureReader.signature:Ljava/lang/String;
         2: .line 55
            return
        end local 1 // java.lang.String signature
        end local 0 // org.objectweb.asm.signature.SignatureReader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/objectweb/asm/signature/SignatureReader;
            0    3     1  signature  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      signature  final

  public void accept(org.objectweb.asm.signature.SignatureVisitor);
    descriptor: (Lorg/objectweb/asm/signature/SignatureVisitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.objectweb.asm.signature.SignatureReader this
        start local 1 // org.objectweb.asm.signature.SignatureVisitor v
         0: .line 73
            aload 0 /* this */
            getfield org.objectweb.asm.signature.SignatureReader.signature:Ljava/lang/String;
            astore 2 /* signature */
        start local 2 // java.lang.String signature
         1: .line 74
            aload 2 /* signature */
            invokevirtual java.lang.String.length:()I
            istore 3 /* len */
        start local 3 // int len
         2: .line 78
            aload 2 /* signature */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 60
            if_icmpne 15
         3: .line 79
            iconst_2
            istore 4 /* pos */
        start local 4 // int pos
         4: .line 81
      StackMap locals: java.lang.String int int
      StackMap stack:
            aload 2 /* signature */
            bipush 58
            iload 4 /* pos */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 6 /* end */
        start local 6 // int end
         5: .line 82
            aload 1 /* v */
            aload 2 /* signature */
            iload 4 /* pos */
            iconst_1
            isub
            iload 6 /* end */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual org.objectweb.asm.signature.SignatureVisitor.visitFormalTypeParameter:(Ljava/lang/String;)V
         6: .line 83
            iload 6 /* end */
            iconst_1
            iadd
            istore 4 /* pos */
         7: .line 85
            aload 2 /* signature */
            iload 4 /* pos */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* c */
        start local 5 // char c
         8: .line 86
            iload 5 /* c */
            bipush 76
            if_icmpeq 9
            iload 5 /* c */
            bipush 91
            if_icmpeq 9
            iload 5 /* c */
            bipush 84
            if_icmpne 12
         9: .line 87
      StackMap locals: int int
      StackMap stack:
            aload 2 /* signature */
            iload 4 /* pos */
            aload 1 /* v */
            invokevirtual org.objectweb.asm.signature.SignatureVisitor.visitClassBound:()Lorg/objectweb/asm/signature/SignatureVisitor;
            invokestatic org.objectweb.asm.signature.SignatureReader.parseType:(Ljava/lang/String;ILorg/objectweb/asm/signature/SignatureVisitor;)I
            istore 4 /* pos */
        10: .line 90
            goto 12
        11: .line 91
      StackMap locals:
      StackMap stack:
            aload 2 /* signature */
            iload 4 /* pos */
            aload 1 /* v */
            invokevirtual org.objectweb.asm.signature.SignatureVisitor.visitInterfaceBound:()Lorg/objectweb/asm/signature/SignatureVisitor;
            invokestatic org.objectweb.asm.signature.SignatureReader.parseType:(Ljava/lang/String;ILorg/objectweb/asm/signature/SignatureVisitor;)I
            istore 4 /* pos */
        12: .line 90
      StackMap locals:
      StackMap stack:
            aload 2 /* signature */
            iload 4 /* pos */
            iinc 4 /* pos */ 1
            invokevirtual java.lang.String.charAt:(I)C
            dup
            istore 5 /* c */
            bipush 58
            if_icmpeq 11
        end local 6 // int end
        13: .line 93
            iload 5 /* c */
            bipush 62
            if_icmpne 4
        14: .line 94
            goto 16
        end local 5 // char c
        end local 4 // int pos
        15: .line 95
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* pos */
        start local 4 // int pos
        16: .line 98
      StackMap locals: int
      StackMap stack:
            aload 2 /* signature */
            iload 4 /* pos */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 40
            if_icmpne 26
        17: .line 99
            iinc 4 /* pos */ 1
        18: .line 100
            goto 20
        19: .line 101
      StackMap locals:
      StackMap stack:
            aload 2 /* signature */
            iload 4 /* pos */
            aload 1 /* v */
            invokevirtual org.objectweb.asm.signature.SignatureVisitor.visitParameterType:()Lorg/objectweb/asm/signature/SignatureVisitor;
            invokestatic org.objectweb.asm.signature.SignatureReader.parseType:(Ljava/lang/String;ILorg/objectweb/asm/signature/SignatureVisitor;)I
            istore 4 /* pos */
        20: .line 100
      StackMap locals:
      StackMap stack:
            aload 2 /* signature */
            iload 4 /* pos */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 41
            if_icmpne 19
        21: .line 103
            aload 2 /* signature */
            iload 4 /* pos */
            iconst_1
            iadd
            aload 1 /* v */
            invokevirtual org.objectweb.asm.signature.SignatureVisitor.visitReturnType:()Lorg/objectweb/asm/signature/SignatureVisitor;
            invokestatic org.objectweb.asm.signature.SignatureReader.parseType:(Ljava/lang/String;ILorg/objectweb/asm/signature/SignatureVisitor;)I
            istore 4 /* pos */
        22: .line 104
            goto 24
        23: .line 105
      StackMap locals:
      StackMap stack:
            aload 2 /* signature */
            iload 4 /* pos */
            iconst_1
            iadd
            aload 1 /* v */
            invokevirtual org.objectweb.asm.signature.SignatureVisitor.visitExceptionType:()Lorg/objectweb/asm/signature/SignatureVisitor;
            invokestatic org.objectweb.asm.signature.SignatureReader.parseType:(Ljava/lang/String;ILorg/objectweb/asm/signature/SignatureVisitor;)I
            istore 4 /* pos */
        24: .line 104
      StackMap locals:
      StackMap stack:
            iload 4 /* pos */
            iload 3 /* len */
            if_icmplt 23
        25: .line 107
            goto 30
        26: .line 108
      StackMap locals:
      StackMap stack:
            aload 2 /* signature */
            iload 4 /* pos */
            aload 1 /* v */
            invokevirtual org.objectweb.asm.signature.SignatureVisitor.visitSuperclass:()Lorg/objectweb/asm/signature/SignatureVisitor;
            invokestatic org.objectweb.asm.signature.SignatureReader.parseType:(Ljava/lang/String;ILorg/objectweb/asm/signature/SignatureVisitor;)I
            istore 4 /* pos */
        27: .line 109
            goto 29
        28: .line 110
      StackMap locals:
      StackMap stack:
            aload 2 /* signature */
            iload 4 /* pos */
            aload 1 /* v */
            invokevirtual org.objectweb.asm.signature.SignatureVisitor.visitInterface:()Lorg/objectweb/asm/signature/SignatureVisitor;
            invokestatic org.objectweb.asm.signature.SignatureReader.parseType:(Ljava/lang/String;ILorg/objectweb/asm/signature/SignatureVisitor;)I
            istore 4 /* pos */
        29: .line 109
      StackMap locals:
      StackMap stack:
            iload 4 /* pos */
            iload 3 /* len */
            if_icmplt 28
        30: .line 113
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int pos
        end local 3 // int len
        end local 2 // java.lang.String signature
        end local 1 // org.objectweb.asm.signature.SignatureVisitor v
        end local 0 // org.objectweb.asm.signature.SignatureReader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   31     0       this  Lorg/objectweb/asm/signature/SignatureReader;
            0   31     1          v  Lorg/objectweb/asm/signature/SignatureVisitor;
            1   31     2  signature  Ljava/lang/String;
            2   31     3        len  I
            4   15     4        pos  I
           16   31     4        pos  I
            8   15     5          c  C
            5   13     6        end  I
    MethodParameters:
      Name  Flags
      v     final

  public void acceptType(org.objectweb.asm.signature.SignatureVisitor);
    descriptor: (Lorg/objectweb/asm/signature/SignatureVisitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.objectweb.asm.signature.SignatureReader this
        start local 1 // org.objectweb.asm.signature.SignatureVisitor v
         0: .line 130
            aload 0 /* this */
            getfield org.objectweb.asm.signature.SignatureReader.signature:Ljava/lang/String;
            iconst_0
            aload 1 /* v */
            invokestatic org.objectweb.asm.signature.SignatureReader.parseType:(Ljava/lang/String;ILorg/objectweb/asm/signature/SignatureVisitor;)I
            pop
         1: .line 131
            return
        end local 1 // org.objectweb.asm.signature.SignatureVisitor v
        end local 0 // org.objectweb.asm.signature.SignatureReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/objectweb/asm/signature/SignatureReader;
            0    2     1     v  Lorg/objectweb/asm/signature/SignatureVisitor;
    MethodParameters:
      Name  Flags
      v     final

  private static int parseType(java.lang.String, int, org.objectweb.asm.signature.SignatureVisitor);
    descriptor: (Ljava/lang/String;ILorg/objectweb/asm/signature/SignatureVisitor;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // java.lang.String signature
        start local 1 // int pos
        start local 2 // org.objectweb.asm.signature.SignatureVisitor v
         0: .line 151
            aload 0 /* signature */
            iload 1 /* pos */
            iinc 1 /* pos */ 1
            invokevirtual java.lang.String.charAt:(I)C
            dup
            istore 3 /* c */
        start local 3 // char c
         1: tableswitch { // 66 - 91
                   66: 2
                   67: 2
                   68: 2
                   69: 8
                   70: 2
                   71: 8
                   72: 8
                   73: 2
                   74: 2
                   75: 8
                   76: 8
                   77: 8
                   78: 8
                   79: 8
                   80: 8
                   81: 8
                   82: 8
                   83: 2
                   84: 5
                   85: 8
                   86: 2
                   87: 8
                   88: 8
                   89: 8
                   90: 2
                   91: 4
              default: 8
          }
         2: .line 161
      StackMap locals: int
      StackMap stack:
            aload 2 /* v */
            iload 3 /* c */
            invokevirtual org.objectweb.asm.signature.SignatureVisitor.visitBaseType:(C)V
         3: .line 162
            iload 1 /* pos */
            ireturn
         4: .line 165
      StackMap locals:
      StackMap stack:
            aload 0 /* signature */
            iload 1 /* pos */
            aload 2 /* v */
            invokevirtual org.objectweb.asm.signature.SignatureVisitor.visitArrayType:()Lorg/objectweb/asm/signature/SignatureVisitor;
            invokestatic org.objectweb.asm.signature.SignatureReader.parseType:(Ljava/lang/String;ILorg/objectweb/asm/signature/SignatureVisitor;)I
            ireturn
         5: .line 168
      StackMap locals:
      StackMap stack:
            aload 0 /* signature */
            bipush 59
            iload 1 /* pos */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 5 /* end */
        start local 5 // int end
         6: .line 169
            aload 2 /* v */
            aload 0 /* signature */
            iload 1 /* pos */
            iload 5 /* end */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual org.objectweb.asm.signature.SignatureVisitor.visitTypeVariable:(Ljava/lang/String;)V
         7: .line 170
            iload 5 /* end */
            iconst_1
            iadd
            ireturn
        end local 5 // int end
         8: .line 173
      StackMap locals:
      StackMap stack:
            iload 1 /* pos */
            istore 4 /* start */
        start local 4 // int start
         9: .line 174
            iconst_0
            istore 6 /* visited */
        start local 6 // boolean visited
        10: .line 175
            iconst_0
            istore 7 /* inner */
        start local 7 // boolean inner
        11: .line 177
      StackMap locals: java.lang.String int org.objectweb.asm.signature.SignatureVisitor int int top int int
      StackMap stack:
            aload 0 /* signature */
            iload 1 /* pos */
            iinc 1 /* pos */ 1
            invokevirtual java.lang.String.charAt:(I)C
            dup
            istore 3 /* c */
            lookupswitch { // 3
                   46: 12
                   59: 12
                   60: 25
              default: 44
          }
        12: .line 180
      StackMap locals:
      StackMap stack:
            iload 6 /* visited */
            ifne 18
        13: .line 181
            aload 0 /* signature */
            iload 4 /* start */
            iload 1 /* pos */
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 8 /* name */
        start local 8 // java.lang.String name
        14: .line 182
            iload 7 /* inner */
            ifeq 17
        15: .line 183
            aload 2 /* v */
            aload 8 /* name */
            invokevirtual org.objectweb.asm.signature.SignatureVisitor.visitInnerClassType:(Ljava/lang/String;)V
        16: .line 184
            goto 18
        17: .line 185
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* v */
            aload 8 /* name */
            invokevirtual org.objectweb.asm.signature.SignatureVisitor.visitClassType:(Ljava/lang/String;)V
        end local 8 // java.lang.String name
        18: .line 188
      StackMap locals:
      StackMap stack:
            iload 3 /* c */
            bipush 59
            if_icmpne 21
        19: .line 189
            aload 2 /* v */
            invokevirtual org.objectweb.asm.signature.SignatureVisitor.visitEnd:()V
        20: .line 190
            iload 1 /* pos */
            ireturn
        21: .line 192
      StackMap locals:
      StackMap stack:
            iload 1 /* pos */
            istore 4 /* start */
        22: .line 193
            iconst_0
            istore 6 /* visited */
        23: .line 194
            iconst_1
            istore 7 /* inner */
        24: .line 195
            goto 11
        25: .line 198
      StackMap locals:
      StackMap stack:
            aload 0 /* signature */
            iload 4 /* start */
            iload 1 /* pos */
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 8 /* name */
        start local 8 // java.lang.String name
        26: .line 199
            iload 7 /* inner */
            ifeq 29
        27: .line 200
            aload 2 /* v */
            aload 8 /* name */
            invokevirtual org.objectweb.asm.signature.SignatureVisitor.visitInnerClassType:(Ljava/lang/String;)V
        28: .line 201
            goto 30
        29: .line 202
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* v */
            aload 8 /* name */
            invokevirtual org.objectweb.asm.signature.SignatureVisitor.visitClassType:(Ljava/lang/String;)V
        30: .line 204
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 6 /* visited */
        31: .line 206
      StackMap locals:
      StackMap stack:
            aload 0 /* signature */
            iload 1 /* pos */
            invokevirtual java.lang.String.charAt:(I)C
            dup
            istore 3 /* c */
            lookupswitch { // 4
                   42: 33
                   43: 36
                   45: 36
                   62: 32
              default: 40
          }
        32: .line 208
      StackMap locals:
      StackMap stack:
            goto 11
        33: .line 210
      StackMap locals:
      StackMap stack:
            iinc 1 /* pos */ 1
        34: .line 211
            aload 2 /* v */
            invokevirtual org.objectweb.asm.signature.SignatureVisitor.visitTypeArgument:()V
        35: .line 212
            goto 31
        36: .line 215
      StackMap locals:
      StackMap stack:
            aload 0 /* signature */
            iload 1 /* pos */
            iconst_1
            iadd
        37: .line 216
            aload 2 /* v */
            iload 3 /* c */
            invokevirtual org.objectweb.asm.signature.SignatureVisitor.visitTypeArgument:(C)Lorg/objectweb/asm/signature/SignatureVisitor;
        38: .line 215
            invokestatic org.objectweb.asm.signature.SignatureReader.parseType:(Ljava/lang/String;ILorg/objectweb/asm/signature/SignatureVisitor;)I
            istore 1 /* pos */
        39: .line 217
            goto 31
        40: .line 219
      StackMap locals:
      StackMap stack:
            aload 0 /* signature */
            iload 1 /* pos */
        41: .line 220
            aload 2 /* v */
            bipush 61
            invokevirtual org.objectweb.asm.signature.SignatureVisitor.visitTypeArgument:(C)Lorg/objectweb/asm/signature/SignatureVisitor;
        42: .line 219
            invokestatic org.objectweb.asm.signature.SignatureReader.parseType:(Ljava/lang/String;ILorg/objectweb/asm/signature/SignatureVisitor;)I
            istore 1 /* pos */
        43: .line 205
            goto 31
        end local 8 // java.lang.String name
        44: .line 176
      StackMap locals:
      StackMap stack:
            goto 11
        end local 7 // boolean inner
        end local 6 // boolean visited
        end local 4 // int start
        end local 3 // char c
        end local 2 // org.objectweb.asm.signature.SignatureVisitor v
        end local 1 // int pos
        end local 0 // java.lang.String signature
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   45     0  signature  Ljava/lang/String;
            0   45     1        pos  I
            0   45     2          v  Lorg/objectweb/asm/signature/SignatureVisitor;
            1   45     3          c  C
            9   45     4      start  I
            6    8     5        end  I
           10   45     6    visited  Z
           11   45     7      inner  Z
           14   18     8       name  Ljava/lang/String;
           26   44     8       name  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      signature  final
      pos        
      v          final
}
SourceFile: "SignatureReader.java"