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 signatureValue;
    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 80
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 81
            aload 0 /* this */
            aload 1 /* signature */
            putfield jdk.internal.org.objectweb.asm.signature.SignatureReader.signatureValue:Ljava/lang/String;
         2: .line 82
            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 signatureVistor
         0: .line 95
            aload 0 /* this */
            getfield jdk.internal.org.objectweb.asm.signature.SignatureReader.signatureValue:Ljava/lang/String;
            astore 2 /* signature */
        start local 2 // java.lang.String signature
         1: .line 96
            aload 2 /* signature */
            invokevirtual java.lang.String.length:()I
            istore 3 /* length */
        start local 3 // int length
         2: .line 103
            aload 2 /* signature */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 60
            if_icmpne 17
         3: .line 106
            iconst_2
            istore 4 /* offset */
        start local 4 // int offset
         4: .line 109
      StackMap locals: java.lang.String int int
      StackMap stack:
            aload 2 /* signature */
            bipush 58
            iload 4 /* offset */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 6 /* classBoundStartOffset */
        start local 6 // int classBoundStartOffset
         5: .line 110
            aload 1 /* signatureVistor */
         6: .line 111
            aload 2 /* signature */
            iload 4 /* offset */
            iconst_1
            isub
            iload 6 /* classBoundStartOffset */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
         7: .line 110
            invokevirtual jdk.internal.org.objectweb.asm.signature.SignatureVisitor.visitFormalTypeParameter:(Ljava/lang/String;)V
         8: .line 115
            iload 6 /* classBoundStartOffset */
            iconst_1
            iadd
            istore 4 /* offset */
         9: .line 116
            aload 2 /* signature */
            iload 4 /* offset */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* currentChar */
        start local 5 // char currentChar
        10: .line 117
            iload 5 /* currentChar */
            bipush 76
            if_icmpeq 11
            iload 5 /* currentChar */
            bipush 91
            if_icmpeq 11
            iload 5 /* currentChar */
            bipush 84
            if_icmpne 14
        11: .line 118
      StackMap locals: int int
      StackMap stack:
            aload 2 /* signature */
            iload 4 /* offset */
            aload 1 /* signatureVistor */
            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 /* offset */
        12: .line 123
            goto 14
        13: .line 124
      StackMap locals:
      StackMap stack:
            aload 2 /* signature */
            iload 4 /* offset */
            aload 1 /* signatureVistor */
            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 /* offset */
        14: .line 123
      StackMap locals:
      StackMap stack:
            aload 2 /* signature */
            iload 4 /* offset */
            iinc 4 /* offset */ 1
            invokevirtual java.lang.String.charAt:(I)C
            dup
            istore 5 /* currentChar */
            bipush 58
            if_icmpeq 13
        end local 6 // int classBoundStartOffset
        15: .line 131
            iload 5 /* currentChar */
            bipush 62
            if_icmpne 4
        16: .line 132
            goto 18
        end local 5 // char currentChar
        end local 4 // int offset
        17: .line 133
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* offset */
        start local 4 // int offset
        18: .line 139
      StackMap locals: int
      StackMap stack:
            aload 2 /* signature */
            iload 4 /* offset */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 40
            if_icmpne 28
        19: .line 140
            iinc 4 /* offset */ 1
        20: .line 141
            goto 22
        21: .line 142
      StackMap locals:
      StackMap stack:
            aload 2 /* signature */
            iload 4 /* offset */
            aload 1 /* signatureVistor */
            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 /* offset */
        22: .line 141
      StackMap locals:
      StackMap stack:
            aload 2 /* signature */
            iload 4 /* offset */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 41
            if_icmpne 21
        23: .line 145
            aload 2 /* signature */
            iload 4 /* offset */
            iconst_1
            iadd
            aload 1 /* signatureVistor */
            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 /* offset */
        24: .line 146
            goto 26
        25: .line 148
      StackMap locals:
      StackMap stack:
            aload 2 /* signature */
            iload 4 /* offset */
            iconst_1
            iadd
            aload 1 /* signatureVistor */
            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 /* offset */
        26: .line 146
      StackMap locals:
      StackMap stack:
            iload 4 /* offset */
            iload 3 /* length */
            if_icmplt 25
        27: .line 150
            goto 32
        28: .line 153
      StackMap locals:
      StackMap stack:
            aload 2 /* signature */
            iload 4 /* offset */
            aload 1 /* signatureVistor */
            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 /* offset */
        29: .line 154
            goto 31
        30: .line 155
      StackMap locals:
      StackMap stack:
            aload 2 /* signature */
            iload 4 /* offset */
            aload 1 /* signatureVistor */
            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 /* offset */
        31: .line 154
      StackMap locals:
      StackMap stack:
            iload 4 /* offset */
            iload 3 /* length */
            if_icmplt 30
        32: .line 158
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int offset
        end local 3 // int length
        end local 2 // java.lang.String signature
        end local 1 // jdk.internal.org.objectweb.asm.signature.SignatureVisitor signatureVistor
        end local 0 // jdk.internal.org.objectweb.asm.signature.SignatureReader this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   33     0                   this  Ljdk/internal/org/objectweb/asm/signature/SignatureReader;
            0   33     1        signatureVistor  Ljdk/internal/org/objectweb/asm/signature/SignatureVisitor;
            1   33     2              signature  Ljava/lang/String;
            2   33     3                 length  I
            4   17     4                 offset  I
           18   33     4                 offset  I
           10   17     5            currentChar  C
            5   15     6  classBoundStartOffset  I
    MethodParameters:
                 Name  Flags
      signatureVistor  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 signatureVisitor
         0: .line 171
            aload 0 /* this */
            getfield jdk.internal.org.objectweb.asm.signature.SignatureReader.signatureValue:Ljava/lang/String;
            iconst_0
            aload 1 /* signatureVisitor */
            invokestatic jdk.internal.org.objectweb.asm.signature.SignatureReader.parseType:(Ljava/lang/String;ILjdk/internal/org/objectweb/asm/signature/SignatureVisitor;)I
            pop
         1: .line 172
            return
        end local 1 // jdk.internal.org.objectweb.asm.signature.SignatureVisitor signatureVisitor
        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  signatureVisitor  Ljdk/internal/org/objectweb/asm/signature/SignatureVisitor;
    MethodParameters:
                  Name  Flags
      signatureVisitor  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=10, args_size=3
        start local 0 // java.lang.String signature
        start local 1 // int startOffset
        start local 2 // jdk.internal.org.objectweb.asm.signature.SignatureVisitor signatureVisitor
         0: .line 184
            iload 1 /* startOffset */
            istore 3 /* offset */
        start local 3 // int offset
         1: .line 185
            aload 0 /* signature */
            iload 3 /* offset */
            iinc 3 /* offset */ 1
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* currentChar */
        start local 4 // char currentChar
         2: .line 188
            iload 4 /* currentChar */
            tableswitch { // 66 - 91
                   66: 3
                   67: 3
                   68: 3
                   69: 47
                   70: 3
                   71: 47
                   72: 47
                   73: 3
                   74: 3
                   75: 47
                   76: 9
                   77: 47
                   78: 47
                   79: 47
                   80: 47
                   81: 47
                   82: 47
                   83: 3
                   84: 6
                   85: 47
                   86: 3
                   87: 47
                   88: 47
                   89: 47
                   90: 3
                   91: 5
              default: 47
          }
         3: .line 199
      StackMap locals: int int
      StackMap stack:
            aload 2 /* signatureVisitor */
            iload 4 /* currentChar */
            invokevirtual jdk.internal.org.objectweb.asm.signature.SignatureVisitor.visitBaseType:(C)V
         4: .line 200
            iload 3 /* offset */
            ireturn
         5: .line 204
      StackMap locals:
      StackMap stack:
            aload 0 /* signature */
            iload 3 /* offset */
            aload 2 /* signatureVisitor */
            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
         6: .line 208
      StackMap locals:
      StackMap stack:
            aload 0 /* signature */
            bipush 59
            iload 3 /* offset */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 5 /* endOffset */
        start local 5 // int endOffset
         7: .line 209
            aload 2 /* signatureVisitor */
            aload 0 /* signature */
            iload 3 /* offset */
            iload 5 /* endOffset */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual jdk.internal.org.objectweb.asm.signature.SignatureVisitor.visitTypeVariable:(Ljava/lang/String;)V
         8: .line 210
            iload 5 /* endOffset */
            iconst_1
            iadd
            ireturn
        end local 5 // int endOffset
         9: .line 216
      StackMap locals:
      StackMap stack:
            iload 3 /* offset */
            istore 6 /* start */
        start local 6 // int start
        10: .line 217
            iconst_0
            istore 7 /* visited */
        start local 7 // boolean visited
        11: .line 218
            iconst_0
            istore 8 /* inner */
        start local 8 // boolean inner
        12: .line 221
      StackMap locals: java.lang.String int jdk.internal.org.objectweb.asm.signature.SignatureVisitor int int top int int int
      StackMap stack:
            aload 0 /* signature */
            iload 3 /* offset */
            iinc 3 /* offset */ 1
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* currentChar */
        13: .line 222
            iload 4 /* currentChar */
            bipush 46
            if_icmpeq 14
            iload 4 /* currentChar */
            bipush 59
            if_icmpne 27
        14: .line 226
      StackMap locals:
      StackMap stack:
            iload 7 /* visited */
            ifne 20
        15: .line 227
            aload 0 /* signature */
            iload 6 /* start */
            iload 3 /* offset */
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 9 /* name */
        start local 9 // java.lang.String name
        16: .line 228
            iload 8 /* inner */
            ifeq 19
        17: .line 229
            aload 2 /* signatureVisitor */
            aload 9 /* name */
            invokevirtual jdk.internal.org.objectweb.asm.signature.SignatureVisitor.visitInnerClassType:(Ljava/lang/String;)V
        18: .line 230
            goto 20
        19: .line 231
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* signatureVisitor */
            aload 9 /* name */
            invokevirtual jdk.internal.org.objectweb.asm.signature.SignatureVisitor.visitClassType:(Ljava/lang/String;)V
        end local 9 // java.lang.String name
        20: .line 236
      StackMap locals:
      StackMap stack:
            iload 4 /* currentChar */
            bipush 59
            if_icmpne 23
        21: .line 237
            aload 2 /* signatureVisitor */
            invokevirtual jdk.internal.org.objectweb.asm.signature.SignatureVisitor.visitEnd:()V
        22: .line 238
            goto 46
        23: .line 240
      StackMap locals:
      StackMap stack:
            iload 3 /* offset */
            istore 6 /* start */
        24: .line 241
            iconst_0
            istore 7 /* visited */
        25: .line 242
            iconst_1
            istore 8 /* inner */
        26: .line 243
            goto 12
      StackMap locals:
      StackMap stack:
        27: iload 4 /* currentChar */
            bipush 60
            if_icmpne 12
        28: .line 247
            aload 0 /* signature */
            iload 6 /* start */
            iload 3 /* offset */
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 9 /* name */
        start local 9 // java.lang.String name
        29: .line 248
            iload 8 /* inner */
            ifeq 32
        30: .line 249
            aload 2 /* signatureVisitor */
            aload 9 /* name */
            invokevirtual jdk.internal.org.objectweb.asm.signature.SignatureVisitor.visitInnerClassType:(Ljava/lang/String;)V
        31: .line 250
            goto 33
        32: .line 251
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* signatureVisitor */
            aload 9 /* name */
            invokevirtual jdk.internal.org.objectweb.asm.signature.SignatureVisitor.visitClassType:(Ljava/lang/String;)V
        33: .line 253
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 7 /* visited */
        34: .line 255
            goto 44
        35: .line 256
      StackMap locals:
      StackMap stack:
            iload 4 /* currentChar */
            tableswitch { // 42 - 45
                   42: 36
                   43: 39
                   44: 43
                   45: 39
              default: 43
          }
        36: .line 259
      StackMap locals:
      StackMap stack:
            iinc 3 /* offset */ 1
        37: .line 260
            aload 2 /* signatureVisitor */
            invokevirtual jdk.internal.org.objectweb.asm.signature.SignatureVisitor.visitTypeArgument:()V
        38: .line 261
            goto 44
        39: .line 267
      StackMap locals:
      StackMap stack:
            aload 0 /* signature */
            iload 3 /* offset */
            iconst_1
            iadd
            aload 2 /* signatureVisitor */
            iload 4 /* currentChar */
            invokevirtual jdk.internal.org.objectweb.asm.signature.SignatureVisitor.visitTypeArgument:(C)Ljdk/internal/org/objectweb/asm/signature/SignatureVisitor;
        40: .line 266
            invokestatic jdk.internal.org.objectweb.asm.signature.SignatureReader.parseType:(Ljava/lang/String;ILjdk/internal/org/objectweb/asm/signature/SignatureVisitor;)I
        41: .line 265
            istore 3 /* offset */
        42: .line 268
            goto 44
        43: .line 271
      StackMap locals:
      StackMap stack:
            aload 0 /* signature */
            iload 3 /* offset */
            aload 2 /* signatureVisitor */
            bipush 61
            invokevirtual jdk.internal.org.objectweb.asm.signature.SignatureVisitor.visitTypeArgument:(C)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 3 /* offset */
        44: .line 255
      StackMap locals:
      StackMap stack:
            aload 0 /* signature */
            iload 3 /* offset */
            invokevirtual java.lang.String.charAt:(I)C
            dup
            istore 4 /* currentChar */
            bipush 62
            if_icmpne 35
        end local 9 // java.lang.String name
        45: .line 220
            goto 12
        46: .line 277
      StackMap locals:
      StackMap stack:
            iload 3 /* offset */
            ireturn
        end local 8 // boolean inner
        end local 7 // boolean visited
        end local 6 // int start
        47: .line 280
      StackMap locals: java.lang.String int jdk.internal.org.objectweb.asm.signature.SignatureVisitor int int
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
        end local 4 // char currentChar
        end local 3 // int offset
        end local 2 // jdk.internal.org.objectweb.asm.signature.SignatureVisitor signatureVisitor
        end local 1 // int startOffset
        end local 0 // java.lang.String signature
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   48     0         signature  Ljava/lang/String;
            0   48     1       startOffset  I
            0   48     2  signatureVisitor  Ljdk/internal/org/objectweb/asm/signature/SignatureVisitor;
            1   48     3            offset  I
            2   48     4       currentChar  C
            7    9     5         endOffset  I
           10   47     6             start  I
           11   47     7           visited  Z
           12   47     8             inner  Z
           16   20     9              name  Ljava/lang/String;
           29   45     9              name  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      signature         final
      startOffset       final
      signatureVisitor  final
}
SourceFile: "SignatureReader.java"