public class jdk.internal.org.objectweb.asm.signature.SignatureReader
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.internal.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 // jdk.internal.org.objectweb.asm.signature.SignatureReader this
        start local 1 // java.lang.String signature
         0: .line 82
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 83
            aload 0 /* this */
            aload 1 /* signature */
            putfield jdk.internal.org.objectweb.asm.signature.SignatureReader.signature:Ljava/lang/String;
         2: .line 84
            return
        end local 1 // java.lang.String signature
        end local 0 // jdk.internal.org.objectweb.asm.signature.SignatureReader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Ljdk/internal/org/objectweb/asm/signature/SignatureReader;
            0    3     1  signature  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      signature  final

  public void accept(jdk.internal.org.objectweb.asm.signature.SignatureVisitor);
    descriptor: (Ljdk/internal/org/objectweb/asm/signature/SignatureVisitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // jdk.internal.org.objectweb.asm.signature.SignatureReader this
        start local 1 // jdk.internal.org.objectweb.asm.signature.SignatureVisitor v
         0: .line 102
            aload 0 /* this */
            getfield jdk.internal.org.objectweb.asm.signature.SignatureReader.signature:Ljava/lang/String;
            astore 2 /* signature */
        start local 2 // java.lang.String signature
         1: .line 103
            aload 2 /* signature */
            invokevirtual java.lang.String.length:()I
            istore 3 /* len */
        start local 3 // int len
         2: .line 107
            aload 2 /* signature */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 60
            if_icmpne 15
         3: .line 108
            iconst_2
            istore 4 /* pos */
        start local 4 // int pos
         4: .line 110
      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 111
            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 jdk.internal.org.objectweb.asm.signature.SignatureVisitor.visitFormalTypeParameter:(Ljava/lang/String;)V
         6: .line 112
            iload 6 /* end */
            iconst_1
            iadd
            istore 4 /* pos */
         7: .line 114
            aload 2 /* signature */
            iload 4 /* pos */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* c */
        start local 5 // char c
         8: .line 115
            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 116
      StackMap locals: int int
      StackMap stack:
            aload 2 /* signature */
            iload 4 /* pos */
            aload 1 /* v */
            invokevirtual jdk.internal.org.objectweb.asm.signature.SignatureVisitor.visitClassBound:()Ljdk/internal/org/objectweb/asm/signature/SignatureVisitor;
            invokestatic jdk.internal.org.objectweb.asm.signature.SignatureReader.parseType:(Ljava/lang/String;ILjdk/internal/org/objectweb/asm/signature/SignatureVisitor;)I
            istore 4 /* pos */
        10: .line 119
            goto 12
        11: .line 120
      StackMap locals:
      StackMap stack:
            aload 2 /* signature */
            iload 4 /* pos */
            aload 1 /* v */
            invokevirtual jdk.internal.org.objectweb.asm.signature.SignatureVisitor.visitInterfaceBound:()Ljdk/internal/org/objectweb/asm/signature/SignatureVisitor;
            invokestatic jdk.internal.org.objectweb.asm.signature.SignatureReader.parseType:(Ljava/lang/String;ILjdk/internal/org/objectweb/asm/signature/SignatureVisitor;)I
            istore 4 /* pos */
        12: .line 119
      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 122
            iload 5 /* c */
            bipush 62
            if_icmpne 4
        14: .line 123
            goto 16
        end local 5 // char c
        end local 4 // int pos
        15: .line 124
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* pos */
        start local 4 // int pos
        16: .line 127
      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 128
            iinc 4 /* pos */ 1
        18: .line 129
            goto 20
        19: .line 130
      StackMap locals:
      StackMap stack:
            aload 2 /* signature */
            iload 4 /* pos */
            aload 1 /* v */
            invokevirtual jdk.internal.org.objectweb.asm.signature.SignatureVisitor.visitParameterType:()Ljdk/internal/org/objectweb/asm/signature/SignatureVisitor;
            invokestatic jdk.internal.org.objectweb.asm.signature.SignatureReader.parseType:(Ljava/lang/String;ILjdk/internal/org/objectweb/asm/signature/SignatureVisitor;)I
            istore 4 /* pos */
        20: .line 129
      StackMap locals:
      StackMap stack:
            aload 2 /* signature */
            iload 4 /* pos */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 41
            if_icmpne 19
        21: .line 132
            aload 2 /* signature */
            iload 4 /* pos */
            iconst_1
            iadd
            aload 1 /* v */
            invokevirtual jdk.internal.org.objectweb.asm.signature.SignatureVisitor.visitReturnType:()Ljdk/internal/org/objectweb/asm/signature/SignatureVisitor;
            invokestatic jdk.internal.org.objectweb.asm.signature.SignatureReader.parseType:(Ljava/lang/String;ILjdk/internal/org/objectweb/asm/signature/SignatureVisitor;)I
            istore 4 /* pos */
        22: .line 133
            goto 24
        23: .line 134
      StackMap locals:
      StackMap stack:
            aload 2 /* signature */
            iload 4 /* pos */
            iconst_1
            iadd
            aload 1 /* v */
            invokevirtual jdk.internal.org.objectweb.asm.signature.SignatureVisitor.visitExceptionType:()Ljdk/internal/org/objectweb/asm/signature/SignatureVisitor;
            invokestatic jdk.internal.org.objectweb.asm.signature.SignatureReader.parseType:(Ljava/lang/String;ILjdk/internal/org/objectweb/asm/signature/SignatureVisitor;)I
            istore 4 /* pos */
        24: .line 133
      StackMap locals:
      StackMap stack:
            iload 4 /* pos */
            iload 3 /* len */
            if_icmplt 23
        25: .line 136
            goto 30
        26: .line 137
      StackMap locals:
      StackMap stack:
            aload 2 /* signature */
            iload 4 /* pos */
            aload 1 /* v */
            invokevirtual jdk.internal.org.objectweb.asm.signature.SignatureVisitor.visitSuperclass:()Ljdk/internal/org/objectweb/asm/signature/SignatureVisitor;
            invokestatic jdk.internal.org.objectweb.asm.signature.SignatureReader.parseType:(Ljava/lang/String;ILjdk/internal/org/objectweb/asm/signature/SignatureVisitor;)I
            istore 4 /* pos */
        27: .line 138
            goto 29
        28: .line 139
      StackMap locals:
      StackMap stack:
            aload 2 /* signature */
            iload 4 /* pos */
            aload 1 /* v */
            invokevirtual jdk.internal.org.objectweb.asm.signature.SignatureVisitor.visitInterface:()Ljdk/internal/org/objectweb/asm/signature/SignatureVisitor;
            invokestatic jdk.internal.org.objectweb.asm.signature.SignatureReader.parseType:(Ljava/lang/String;ILjdk/internal/org/objectweb/asm/signature/SignatureVisitor;)I
            istore 4 /* pos */
        29: .line 138
      StackMap locals:
      StackMap stack:
            iload 4 /* pos */
            iload 3 /* len */
            if_icmplt 28
        30: .line 142
      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 // jdk.internal.org.objectweb.asm.signature.SignatureVisitor v
        end local 0 // jdk.internal.org.objectweb.asm.signature.SignatureReader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   31     0       this  Ljdk/internal/org/objectweb/asm/signature/SignatureReader;
            0   31     1          v  Ljdk/internal/org/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(jdk.internal.org.objectweb.asm.signature.SignatureVisitor);
    descriptor: (Ljdk/internal/org/objectweb/asm/signature/SignatureVisitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.internal.org.objectweb.asm.signature.SignatureReader this
        start local 1 // jdk.internal.org.objectweb.asm.signature.SignatureVisitor v
         0: .line 159
            aload 0 /* this */
            getfield jdk.internal.org.objectweb.asm.signature.SignatureReader.signature:Ljava/lang/String;
            iconst_0
            aload 1 /* v */
            invokestatic jdk.internal.org.objectweb.asm.signature.SignatureReader.parseType:(Ljava/lang/String;ILjdk/internal/org/objectweb/asm/signature/SignatureVisitor;)I
            pop
         1: .line 160
            return
        end local 1 // jdk.internal.org.objectweb.asm.signature.SignatureVisitor v
        end local 0 // jdk.internal.org.objectweb.asm.signature.SignatureReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/org/objectweb/asm/signature/SignatureReader;
            0    2     1     v  Ljdk/internal/org/objectweb/asm/signature/SignatureVisitor;
    MethodParameters:
      Name  Flags
      v     final

  private static int parseType(java.lang.String, int, jdk.internal.org.objectweb.asm.signature.SignatureVisitor);
    descriptor: (Ljava/lang/String;ILjdk/internal/org/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 // jdk.internal.org.objectweb.asm.signature.SignatureVisitor v
         0: .line 180
            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 190
      StackMap locals: int
      StackMap stack:
            aload 2 /* v */
            iload 3 /* c */
            invokevirtual jdk.internal.org.objectweb.asm.signature.SignatureVisitor.visitBaseType:(C)V
         3: .line 191
            iload 1 /* pos */
            ireturn
         4: .line 194
      StackMap locals:
      StackMap stack:
            aload 0 /* signature */
            iload 1 /* pos */
            aload 2 /* v */
            invokevirtual jdk.internal.org.objectweb.asm.signature.SignatureVisitor.visitArrayType:()Ljdk/internal/org/objectweb/asm/signature/SignatureVisitor;
            invokestatic jdk.internal.org.objectweb.asm.signature.SignatureReader.parseType:(Ljava/lang/String;ILjdk/internal/org/objectweb/asm/signature/SignatureVisitor;)I
            ireturn
         5: .line 197
      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 198
            aload 2 /* v */
            aload 0 /* signature */
            iload 1 /* pos */
            iload 5 /* end */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual jdk.internal.org.objectweb.asm.signature.SignatureVisitor.visitTypeVariable:(Ljava/lang/String;)V
         7: .line 199
            iload 5 /* end */
            iconst_1
            iadd
            ireturn
        end local 5 // int end
         8: .line 202
      StackMap locals:
      StackMap stack:
            iload 1 /* pos */
            istore 4 /* start */
        start local 4 // int start
         9: .line 203
            iconst_0
            istore 6 /* visited */
        start local 6 // boolean visited
        10: .line 204
            iconst_0
            istore 7 /* inner */
        start local 7 // boolean inner
        11: .line 206
      StackMap locals: java.lang.String int jdk.internal.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 209
      StackMap locals:
      StackMap stack:
            iload 6 /* visited */
            ifne 18
        13: .line 210
            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 211
            iload 7 /* inner */
            ifeq 17
        15: .line 212
            aload 2 /* v */
            aload 8 /* name */
            invokevirtual jdk.internal.org.objectweb.asm.signature.SignatureVisitor.visitInnerClassType:(Ljava/lang/String;)V
        16: .line 213
            goto 18
        17: .line 214
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* v */
            aload 8 /* name */
            invokevirtual jdk.internal.org.objectweb.asm.signature.SignatureVisitor.visitClassType:(Ljava/lang/String;)V
        end local 8 // java.lang.String name
        18: .line 217
      StackMap locals:
      StackMap stack:
            iload 3 /* c */
            bipush 59
            if_icmpne 21
        19: .line 218
            aload 2 /* v */
            invokevirtual jdk.internal.org.objectweb.asm.signature.SignatureVisitor.visitEnd:()V
        20: .line 219
            iload 1 /* pos */
            ireturn
        21: .line 221
      StackMap locals:
      StackMap stack:
            iload 1 /* pos */
            istore 4 /* start */
        22: .line 222
            iconst_0
            istore 6 /* visited */
        23: .line 223
            iconst_1
            istore 7 /* inner */
        24: .line 224
            goto 11
        25: .line 227
      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 228
            iload 7 /* inner */
            ifeq 29
        27: .line 229
            aload 2 /* v */
            aload 8 /* name */
            invokevirtual jdk.internal.org.objectweb.asm.signature.SignatureVisitor.visitInnerClassType:(Ljava/lang/String;)V
        28: .line 230
            goto 30
        29: .line 231
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* v */
            aload 8 /* name */
            invokevirtual jdk.internal.org.objectweb.asm.signature.SignatureVisitor.visitClassType:(Ljava/lang/String;)V
        30: .line 233
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 6 /* visited */
        31: .line 235
      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 237
      StackMap locals:
      StackMap stack:
            goto 11
        33: .line 239
      StackMap locals:
      StackMap stack:
            iinc 1 /* pos */ 1
        34: .line 240
            aload 2 /* v */
            invokevirtual jdk.internal.org.objectweb.asm.signature.SignatureVisitor.visitTypeArgument:()V
        35: .line 241
            goto 31
        36: .line 244
      StackMap locals:
      StackMap stack:
            aload 0 /* signature */
            iload 1 /* pos */
            iconst_1
            iadd
        37: .line 245
            aload 2 /* v */
            iload 3 /* c */
            invokevirtual jdk.internal.org.objectweb.asm.signature.SignatureVisitor.visitTypeArgument:(C)Ljdk/internal/org/objectweb/asm/signature/SignatureVisitor;
        38: .line 244
            invokestatic jdk.internal.org.objectweb.asm.signature.SignatureReader.parseType:(Ljava/lang/String;ILjdk/internal/org/objectweb/asm/signature/SignatureVisitor;)I
            istore 1 /* pos */
        39: .line 246
            goto 31
        40: .line 248
      StackMap locals:
      StackMap stack:
            aload 0 /* signature */
            iload 1 /* pos */
        41: .line 249
            aload 2 /* v */
            bipush 61
            invokevirtual jdk.internal.org.objectweb.asm.signature.SignatureVisitor.visitTypeArgument:(C)Ljdk/internal/org/objectweb/asm/signature/SignatureVisitor;
        42: .line 248
            invokestatic jdk.internal.org.objectweb.asm.signature.SignatureReader.parseType:(Ljava/lang/String;ILjdk/internal/org/objectweb/asm/signature/SignatureVisitor;)I
            istore 1 /* pos */
        43: .line 234
            goto 31
        end local 8 // java.lang.String name
        44: .line 205
      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 // jdk.internal.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  Ljdk/internal/org/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"