public class sun.reflect.generics.parser.SignatureParser
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.reflect.generics.parser.SignatureParser
  super_class: java.lang.Object
{
  private char[] input;
    descriptor: [C
    flags: (0x0002) ACC_PRIVATE

  private int index;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private static final char EOI;
    descriptor: C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 58

  private static final boolean DEBUG;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 40
            ldc Lsun/reflect/generics/parser/SignatureParser;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic sun.reflect.generics.parser.SignatureParser.$assertionsDisabled:Z
         3: .line 73
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.reflect.generics.parser.SignatureParser this
         0: .line 76
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 70
            aload 0 /* this */
            iconst_0
            putfield sun.reflect.generics.parser.SignatureParser.index:I
         2: .line 76
            return
        end local 0 // sun.reflect.generics.parser.SignatureParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/reflect/generics/parser/SignatureParser;

  private char getNext();
    descriptor: ()C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // sun.reflect.generics.parser.SignatureParser this
         0: .line 87
            getstatic sun.reflect.generics.parser.SignatureParser.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield sun.reflect.generics.parser.SignatureParser.index:I
            aload 0 /* this */
            getfield sun.reflect.generics.parser.SignatureParser.input:[C
            arraylength
            if_icmple 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 89
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.reflect.generics.parser.SignatureParser.input:[C
            aload 0 /* this */
            dup
            getfield sun.reflect.generics.parser.SignatureParser.index:I
            dup_x1
            iconst_1
            iadd
            putfield sun.reflect.generics.parser.SignatureParser.index:I
            caload
         2: ireturn
         3: .line 90
      StackMap locals:
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
            pop
            bipush 58
            ireturn
        end local 0 // sun.reflect.generics.parser.SignatureParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/reflect/generics/parser/SignatureParser;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.ArrayIndexOutOfBoundsException

  private char current();
    descriptor: ()C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.reflect.generics.parser.SignatureParser this
         0: .line 95
            getstatic sun.reflect.generics.parser.SignatureParser.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield sun.reflect.generics.parser.SignatureParser.index:I
            aload 0 /* this */
            getfield sun.reflect.generics.parser.SignatureParser.input:[C
            arraylength
            if_icmple 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 97
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.reflect.generics.parser.SignatureParser.input:[C
            aload 0 /* this */
            getfield sun.reflect.generics.parser.SignatureParser.index:I
            caload
         2: ireturn
         3: .line 98
      StackMap locals:
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
            pop
            bipush 58
            ireturn
        end local 0 // sun.reflect.generics.parser.SignatureParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/reflect/generics/parser/SignatureParser;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.ArrayIndexOutOfBoundsException

  private void advance();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.reflect.generics.parser.SignatureParser this
         0: .line 103
            getstatic sun.reflect.generics.parser.SignatureParser.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield sun.reflect.generics.parser.SignatureParser.index:I
            aload 0 /* this */
            getfield sun.reflect.generics.parser.SignatureParser.input:[C
            arraylength
            if_icmple 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 104
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield sun.reflect.generics.parser.SignatureParser.index:I
            iconst_1
            iadd
            putfield sun.reflect.generics.parser.SignatureParser.index:I
         2: .line 105
            return
        end local 0 // sun.reflect.generics.parser.SignatureParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/reflect/generics/parser/SignatureParser;

  private boolean matches(char, char[]);
    descriptor: (C[C)Z
    flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
    Code:
      stack=2, locals=7, args_size=3
        start local 0 // sun.reflect.generics.parser.SignatureParser this
        start local 1 // char c
        start local 2 // char[] set
         0: .line 109
            aload 2 /* set */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 4
      StackMap locals: sun.reflect.generics.parser.SignatureParser int char[] top int int char[]
      StackMap stack:
         1: aload 6
            iload 4
            caload
            istore 3 /* e */
        start local 3 // char e
         2: .line 110
            iload 1 /* c */
            iload 3 /* e */
            if_icmpne 3
            iconst_1
            ireturn
        end local 3 // char e
         3: .line 109
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
         4: iload 4
            iload 5
            if_icmplt 1
         5: .line 112
            iconst_0
            ireturn
        end local 2 // char[] set
        end local 1 // char c
        end local 0 // sun.reflect.generics.parser.SignatureParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/reflect/generics/parser/SignatureParser;
            0    6     1     c  C
            0    6     2   set  [C
            2    3     3     e  C
    MethodParameters:
      Name  Flags
      c     
      set   

  private java.lang.Error error(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Error;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.reflect.generics.parser.SignatureParser this
        start local 1 // java.lang.String errorMsg
         0: .line 121
            new java.lang.reflect.GenericSignatureFormatError
            dup
            invokespecial java.lang.reflect.GenericSignatureFormatError.<init>:()V
            areturn
        end local 1 // java.lang.String errorMsg
        end local 0 // sun.reflect.generics.parser.SignatureParser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lsun/reflect/generics/parser/SignatureParser;
            0    1     1  errorMsg  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      errorMsg  

  public static sun.reflect.generics.parser.SignatureParser make();
    descriptor: ()Lsun/reflect/generics/parser/SignatureParser;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 129
            new sun.reflect.generics.parser.SignatureParser
            dup
            invokespecial sun.reflect.generics.parser.SignatureParser.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public sun.reflect.generics.tree.ClassSignature parseClassSig(java.lang.String);
    descriptor: (Ljava/lang/String;)Lsun/reflect/generics/tree/ClassSignature;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.reflect.generics.parser.SignatureParser this
        start local 1 // java.lang.String s
         0: .line 143
            aload 0 /* this */
            aload 1 /* s */
            invokevirtual java.lang.String.toCharArray:()[C
            putfield sun.reflect.generics.parser.SignatureParser.input:[C
         1: .line 144
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseClassSignature:()Lsun/reflect/generics/tree/ClassSignature;
            areturn
        end local 1 // java.lang.String s
        end local 0 // sun.reflect.generics.parser.SignatureParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/reflect/generics/parser/SignatureParser;
            0    2     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  public sun.reflect.generics.tree.MethodTypeSignature parseMethodSig(java.lang.String);
    descriptor: (Ljava/lang/String;)Lsun/reflect/generics/tree/MethodTypeSignature;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.reflect.generics.parser.SignatureParser this
        start local 1 // java.lang.String s
         0: .line 158
            aload 0 /* this */
            aload 1 /* s */
            invokevirtual java.lang.String.toCharArray:()[C
            putfield sun.reflect.generics.parser.SignatureParser.input:[C
         1: .line 159
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseMethodTypeSignature:()Lsun/reflect/generics/tree/MethodTypeSignature;
            areturn
        end local 1 // java.lang.String s
        end local 0 // sun.reflect.generics.parser.SignatureParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/reflect/generics/parser/SignatureParser;
            0    2     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  public sun.reflect.generics.tree.TypeSignature parseTypeSig(java.lang.String);
    descriptor: (Ljava/lang/String;)Lsun/reflect/generics/tree/TypeSignature;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.reflect.generics.parser.SignatureParser this
        start local 1 // java.lang.String s
         0: .line 174
            aload 0 /* this */
            aload 1 /* s */
            invokevirtual java.lang.String.toCharArray:()[C
            putfield sun.reflect.generics.parser.SignatureParser.input:[C
         1: .line 175
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseTypeSignature:()Lsun/reflect/generics/tree/TypeSignature;
            areturn
        end local 1 // java.lang.String s
        end local 0 // sun.reflect.generics.parser.SignatureParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/reflect/generics/parser/SignatureParser;
            0    2     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  private sun.reflect.generics.tree.ClassSignature parseClassSignature();
    descriptor: ()Lsun/reflect/generics/tree/ClassSignature;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.reflect.generics.parser.SignatureParser this
         0: .line 188
            getstatic sun.reflect.generics.parser.SignatureParser.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield sun.reflect.generics.parser.SignatureParser.index:I
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 189
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseZeroOrMoreFormalTypeParameters:()[Lsun/reflect/generics/tree/FormalTypeParameter;
         2: .line 190
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseClassTypeSignature:()Lsun/reflect/generics/tree/ClassTypeSignature;
         3: .line 191
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseSuperInterfaces:()[Lsun/reflect/generics/tree/ClassTypeSignature;
         4: .line 189
            invokestatic sun.reflect.generics.tree.ClassSignature.make:([Lsun/reflect/generics/tree/FormalTypeParameter;Lsun/reflect/generics/tree/ClassTypeSignature;[Lsun/reflect/generics/tree/ClassTypeSignature;)Lsun/reflect/generics/tree/ClassSignature;
            areturn
        end local 0 // sun.reflect.generics.parser.SignatureParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/reflect/generics/parser/SignatureParser;

  private sun.reflect.generics.tree.FormalTypeParameter[] parseZeroOrMoreFormalTypeParameters();
    descriptor: ()[Lsun/reflect/generics/tree/FormalTypeParameter;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.reflect.generics.parser.SignatureParser this
         0: .line 195
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            bipush 60
            if_icmpne 1
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseFormalTypeParameters:()[Lsun/reflect/generics/tree/FormalTypeParameter;
            areturn
         1: .line 196
      StackMap locals:
      StackMap stack:
            iconst_0
            anewarray sun.reflect.generics.tree.FormalTypeParameter
            areturn
        end local 0 // sun.reflect.generics.parser.SignatureParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/reflect/generics/parser/SignatureParser;

  private sun.reflect.generics.tree.FormalTypeParameter[] parseFormalTypeParameters();
    descriptor: ()[Lsun/reflect/generics/tree/FormalTypeParameter;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // sun.reflect.generics.parser.SignatureParser this
         0: .line 202
            new java.util.ArrayList
            dup
            iconst_3
            invokespecial java.util.ArrayList.<init>:(I)V
         1: .line 201
            astore 1 /* ftps */
        start local 1 // java.util.Collection ftps
         2: .line 203
            getstatic sun.reflect.generics.parser.SignatureParser.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            bipush 60
            if_icmpeq 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 204
      StackMap locals: java.util.Collection
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            bipush 60
            if_icmpeq 4
            aload 0 /* this */
            ldc "expected <"
            invokevirtual sun.reflect.generics.parser.SignatureParser.error:(Ljava/lang/String;)Ljava/lang/Error;
            athrow
         4: .line 205
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.advance:()V
         5: .line 206
            aload 1 /* ftps */
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseFormalTypeParameter:()Lsun/reflect/generics/tree/FormalTypeParameter;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         6: .line 207
            goto 8
         7: .line 208
      StackMap locals:
      StackMap stack:
            aload 1 /* ftps */
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseFormalTypeParameter:()Lsun/reflect/generics/tree/FormalTypeParameter;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         8: .line 207
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            bipush 62
            if_icmpne 7
         9: .line 210
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.advance:()V
        10: .line 211
            aload 1 /* ftps */
            invokeinterface java.util.Collection.size:()I
            anewarray sun.reflect.generics.tree.FormalTypeParameter
            astore 2 /* ftpa */
        start local 2 // sun.reflect.generics.tree.FormalTypeParameter[] ftpa
        11: .line 212
            aload 1 /* ftps */
            aload 2 /* ftpa */
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast sun.reflect.generics.tree.FormalTypeParameter[]
            areturn
        end local 2 // sun.reflect.generics.tree.FormalTypeParameter[] ftpa
        end local 1 // java.util.Collection ftps
        end local 0 // sun.reflect.generics.parser.SignatureParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lsun/reflect/generics/parser/SignatureParser;
            2   12     1  ftps  Ljava/util/Collection<Lsun/reflect/generics/tree/FormalTypeParameter;>;
           11   12     2  ftpa  [Lsun/reflect/generics/tree/FormalTypeParameter;

  private sun.reflect.generics.tree.FormalTypeParameter parseFormalTypeParameter();
    descriptor: ()Lsun/reflect/generics/tree/FormalTypeParameter;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // sun.reflect.generics.parser.SignatureParser this
         0: .line 216
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseIdentifier:()Ljava/lang/String;
            astore 1 /* id */
        start local 1 // java.lang.String id
         1: .line 217
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseZeroOrMoreBounds:()[Lsun/reflect/generics/tree/FieldTypeSignature;
            astore 2 /* bs */
        start local 2 // sun.reflect.generics.tree.FieldTypeSignature[] bs
         2: .line 218
            aload 1 /* id */
            aload 2 /* bs */
            invokestatic sun.reflect.generics.tree.FormalTypeParameter.make:(Ljava/lang/String;[Lsun/reflect/generics/tree/FieldTypeSignature;)Lsun/reflect/generics/tree/FormalTypeParameter;
            areturn
        end local 2 // sun.reflect.generics.tree.FieldTypeSignature[] bs
        end local 1 // java.lang.String id
        end local 0 // sun.reflect.generics.parser.SignatureParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/reflect/generics/parser/SignatureParser;
            1    3     1    id  Ljava/lang/String;
            2    3     2    bs  [Lsun/reflect/generics/tree/FieldTypeSignature;

  private java.lang.String parseIdentifier();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // sun.reflect.generics.parser.SignatureParser this
         0: .line 222
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* result */
        start local 1 // java.lang.StringBuilder result
         1: .line 223
            goto 7
         2: .line 224
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            istore 2 /* c */
        start local 2 // char c
         3: .line 225
            iload 2 /* c */
            lookupswitch { // 7
                   46: 4
                   47: 4
                   58: 4
                   59: 4
                   60: 4
                   62: 4
                   91: 4
              default: 5
          }
         4: .line 232
      StackMap locals: int
      StackMap stack:
            aload 1 /* result */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         5: .line 234
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            iload 2 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         6: .line 235
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.advance:()V
        end local 2 // char c
         7: .line 223
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            invokestatic java.lang.Character.isWhitespace:(C)Z
            ifeq 2
         8: .line 240
            aload 1 /* result */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder result
        end local 0 // sun.reflect.generics.parser.SignatureParser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lsun/reflect/generics/parser/SignatureParser;
            1    9     1  result  Ljava/lang/StringBuilder;
            3    7     2       c  C

  private sun.reflect.generics.tree.FieldTypeSignature parseFieldTypeSignature();
    descriptor: ()Lsun/reflect/generics/tree/FieldTypeSignature;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.reflect.generics.parser.SignatureParser this
         0: .line 244
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            lookupswitch { // 3
                   76: 1
                   84: 2
                   91: 3
              default: 4
          }
         1: .line 246
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseClassTypeSignature:()Lsun/reflect/generics/tree/ClassTypeSignature;
            areturn
         2: .line 248
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseTypeVariableSignature:()Lsun/reflect/generics/tree/TypeVariableSignature;
            areturn
         3: .line 250
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseArrayTypeSignature:()Lsun/reflect/generics/tree/ArrayTypeSignature;
            areturn
         4: .line 251
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "Expected Field Type Signature"
            invokevirtual sun.reflect.generics.parser.SignatureParser.error:(Ljava/lang/String;)Ljava/lang/Error;
            athrow
        end local 0 // sun.reflect.generics.parser.SignatureParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/reflect/generics/parser/SignatureParser;

  private sun.reflect.generics.tree.ClassTypeSignature parseClassTypeSignature();
    descriptor: ()Lsun/reflect/generics/tree/ClassTypeSignature;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // sun.reflect.generics.parser.SignatureParser this
         0: .line 256
            getstatic sun.reflect.generics.parser.SignatureParser.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            bipush 76
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 257
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            bipush 76
            if_icmpeq 2
            aload 0 /* this */
            ldc "expected a class type"
            invokevirtual sun.reflect.generics.parser.SignatureParser.error:(Ljava/lang/String;)Ljava/lang/Error;
            athrow
         2: .line 258
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.advance:()V
         3: .line 260
            new java.util.ArrayList
            dup
            iconst_5
            invokespecial java.util.ArrayList.<init>:(I)V
         4: .line 259
            astore 1 /* scts */
        start local 1 // java.util.List scts
         5: .line 261
            aload 1 /* scts */
            aload 0 /* this */
            iconst_0
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseSimpleClassTypeSignature:(Z)Lsun/reflect/generics/tree/SimpleClassTypeSignature;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 262
            aload 0 /* this */
            aload 1 /* scts */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseClassTypeSignatureSuffix:(Ljava/util/List;)V
         7: .line 263
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            bipush 59
            if_icmpeq 9
         8: .line 264
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "expected ';' got '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.reflect.generics.parser.SignatureParser.error:(Ljava/lang/String;)Ljava/lang/Error;
            athrow
         9: .line 266
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.advance:()V
        10: .line 267
            aload 1 /* scts */
            invokestatic sun.reflect.generics.tree.ClassTypeSignature.make:(Ljava/util/List;)Lsun/reflect/generics/tree/ClassTypeSignature;
            areturn
        end local 1 // java.util.List scts
        end local 0 // sun.reflect.generics.parser.SignatureParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lsun/reflect/generics/parser/SignatureParser;
            5   11     1  scts  Ljava/util/List<Lsun/reflect/generics/tree/SimpleClassTypeSignature;>;

  private sun.reflect.generics.tree.SimpleClassTypeSignature parseSimpleClassTypeSignature(boolean);
    descriptor: (Z)Lsun/reflect/generics/tree/SimpleClassTypeSignature;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // sun.reflect.generics.parser.SignatureParser this
        start local 1 // boolean dollar
         0: .line 271
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseIdentifier:()Ljava/lang/String;
            astore 2 /* id */
        start local 2 // java.lang.String id
         1: .line 272
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            istore 3 /* c */
        start local 3 // char c
         2: .line 273
            iload 3 /* c */
            lookupswitch { // 3
                   47: 3
                   59: 3
                   60: 4
              default: 5
          }
         3: .line 276
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 2 /* id */
            iload 1 /* dollar */
            iconst_0
            anewarray sun.reflect.generics.tree.TypeArgument
            invokestatic sun.reflect.generics.tree.SimpleClassTypeSignature.make:(Ljava/lang/String;Z[Lsun/reflect/generics/tree/TypeArgument;)Lsun/reflect/generics/tree/SimpleClassTypeSignature;
            areturn
         4: .line 278
      StackMap locals:
      StackMap stack:
            aload 2 /* id */
            iload 1 /* dollar */
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseTypeArguments:()[Lsun/reflect/generics/tree/TypeArgument;
            invokestatic sun.reflect.generics.tree.SimpleClassTypeSignature.make:(Ljava/lang/String;Z[Lsun/reflect/generics/tree/TypeArgument;)Lsun/reflect/generics/tree/SimpleClassTypeSignature;
            areturn
         5: .line 280
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "expected < or ; or /"
            invokevirtual sun.reflect.generics.parser.SignatureParser.error:(Ljava/lang/String;)Ljava/lang/Error;
            athrow
        end local 3 // char c
        end local 2 // java.lang.String id
        end local 1 // boolean dollar
        end local 0 // sun.reflect.generics.parser.SignatureParser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lsun/reflect/generics/parser/SignatureParser;
            0    6     1  dollar  Z
            1    6     2      id  Ljava/lang/String;
            2    6     3       c  C
    MethodParameters:
        Name  Flags
      dollar  

  private void parseClassTypeSignatureSuffix(java.util.List<sun.reflect.generics.tree.SimpleClassTypeSignature>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.reflect.generics.parser.SignatureParser this
        start local 1 // java.util.List scts
         0: .line 285
            goto 6
         1: .line 286
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            bipush 46
            if_icmpne 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 2 /* dollar */
        start local 2 // boolean dollar
         4: .line 287
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.advance:()V
         5: .line 288
            aload 1 /* scts */
            aload 0 /* this */
            iload 2 /* dollar */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseSimpleClassTypeSignature:(Z)Lsun/reflect/generics/tree/SimpleClassTypeSignature;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // boolean dollar
         6: .line 285
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            bipush 47
            if_icmpeq 1
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            bipush 46
            if_icmpeq 1
         7: .line 290
            return
        end local 1 // java.util.List scts
        end local 0 // sun.reflect.generics.parser.SignatureParser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lsun/reflect/generics/parser/SignatureParser;
            0    8     1    scts  Ljava/util/List<Lsun/reflect/generics/tree/SimpleClassTypeSignature;>;
            4    6     2  dollar  Z
    Signature: (Ljava/util/List<Lsun/reflect/generics/tree/SimpleClassTypeSignature;>;)V
    MethodParameters:
      Name  Flags
      scts  

  private sun.reflect.generics.tree.TypeArgument[] parseTypeArgumentsOpt();
    descriptor: ()[Lsun/reflect/generics/tree/TypeArgument;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.reflect.generics.parser.SignatureParser this
         0: .line 293
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            bipush 60
            if_icmpne 1
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseTypeArguments:()[Lsun/reflect/generics/tree/TypeArgument;
            areturn
         1: .line 294
      StackMap locals:
      StackMap stack:
            iconst_0
            anewarray sun.reflect.generics.tree.TypeArgument
            areturn
        end local 0 // sun.reflect.generics.parser.SignatureParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/reflect/generics/parser/SignatureParser;

  private sun.reflect.generics.tree.TypeArgument[] parseTypeArguments();
    descriptor: ()[Lsun/reflect/generics/tree/TypeArgument;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // sun.reflect.generics.parser.SignatureParser this
         0: .line 298
            new java.util.ArrayList
            dup
            iconst_3
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 1 /* tas */
        start local 1 // java.util.Collection tas
         1: .line 299
            getstatic sun.reflect.generics.parser.SignatureParser.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            bipush 60
            if_icmpeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 300
      StackMap locals: java.util.Collection
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            bipush 60
            if_icmpeq 3
            aload 0 /* this */
            ldc "expected <"
            invokevirtual sun.reflect.generics.parser.SignatureParser.error:(Ljava/lang/String;)Ljava/lang/Error;
            athrow
         3: .line 301
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.advance:()V
         4: .line 302
            aload 1 /* tas */
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseTypeArgument:()Lsun/reflect/generics/tree/TypeArgument;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         5: .line 303
            goto 7
         6: .line 305
      StackMap locals:
      StackMap stack:
            aload 1 /* tas */
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseTypeArgument:()Lsun/reflect/generics/tree/TypeArgument;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         7: .line 303
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            bipush 62
            if_icmpne 6
         8: .line 307
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.advance:()V
         9: .line 308
            aload 1 /* tas */
            invokeinterface java.util.Collection.size:()I
            anewarray sun.reflect.generics.tree.TypeArgument
            astore 2 /* taa */
        start local 2 // sun.reflect.generics.tree.TypeArgument[] taa
        10: .line 309
            aload 1 /* tas */
            aload 2 /* taa */
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast sun.reflect.generics.tree.TypeArgument[]
            areturn
        end local 2 // sun.reflect.generics.tree.TypeArgument[] taa
        end local 1 // java.util.Collection tas
        end local 0 // sun.reflect.generics.parser.SignatureParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lsun/reflect/generics/parser/SignatureParser;
            1   11     1   tas  Ljava/util/Collection<Lsun/reflect/generics/tree/TypeArgument;>;
           10   11     2   taa  [Lsun/reflect/generics/tree/TypeArgument;

  private sun.reflect.generics.tree.TypeArgument parseTypeArgument();
    descriptor: ()Lsun/reflect/generics/tree/TypeArgument;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // sun.reflect.generics.parser.SignatureParser this
         0: .line 314
            iconst_1
            anewarray sun.reflect.generics.tree.FieldTypeSignature
            astore 1 /* ub */
        start local 1 // sun.reflect.generics.tree.FieldTypeSignature[] ub
         1: .line 315
            iconst_1
            anewarray sun.reflect.generics.tree.FieldTypeSignature
            astore 2 /* lb */
        start local 2 // sun.reflect.generics.tree.FieldTypeSignature[] lb
         2: .line 316
            iconst_0
            anewarray sun.reflect.generics.tree.TypeArgument
            astore 3 /* ta */
        start local 3 // sun.reflect.generics.tree.TypeArgument[] ta
         3: .line 317
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            istore 4 /* c */
        start local 4 // char c
         4: .line 318
            iload 4 /* c */
            tableswitch { // 42 - 45
                   42: 9
                   43: 5
                   44: 17
                   45: 13
              default: 17
          }
         5: .line 320
      StackMap locals: sun.reflect.generics.parser.SignatureParser sun.reflect.generics.tree.FieldTypeSignature[] sun.reflect.generics.tree.FieldTypeSignature[] sun.reflect.generics.tree.TypeArgument[] int
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.advance:()V
         6: .line 321
            aload 1 /* ub */
            iconst_0
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseFieldTypeSignature:()Lsun/reflect/generics/tree/FieldTypeSignature;
            aastore
         7: .line 322
            aload 2 /* lb */
            iconst_0
            invokestatic sun.reflect.generics.tree.BottomSignature.make:()Lsun/reflect/generics/tree/BottomSignature;
            aastore
         8: .line 323
            aload 1 /* ub */
            aload 2 /* lb */
            invokestatic sun.reflect.generics.tree.Wildcard.make:([Lsun/reflect/generics/tree/FieldTypeSignature;[Lsun/reflect/generics/tree/FieldTypeSignature;)Lsun/reflect/generics/tree/Wildcard;
            areturn
         9: .line 326
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.advance:()V
        10: .line 327
            aload 1 /* ub */
            iconst_0
            ldc "java.lang.Object"
            iconst_0
            aload 3 /* ta */
            invokestatic sun.reflect.generics.tree.SimpleClassTypeSignature.make:(Ljava/lang/String;Z[Lsun/reflect/generics/tree/TypeArgument;)Lsun/reflect/generics/tree/SimpleClassTypeSignature;
            aastore
        11: .line 328
            aload 2 /* lb */
            iconst_0
            invokestatic sun.reflect.generics.tree.BottomSignature.make:()Lsun/reflect/generics/tree/BottomSignature;
            aastore
        12: .line 329
            aload 1 /* ub */
            aload 2 /* lb */
            invokestatic sun.reflect.generics.tree.Wildcard.make:([Lsun/reflect/generics/tree/FieldTypeSignature;[Lsun/reflect/generics/tree/FieldTypeSignature;)Lsun/reflect/generics/tree/Wildcard;
            areturn
        13: .line 332
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.advance:()V
        14: .line 333
            aload 2 /* lb */
            iconst_0
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseFieldTypeSignature:()Lsun/reflect/generics/tree/FieldTypeSignature;
            aastore
        15: .line 334
            aload 1 /* ub */
            iconst_0
            ldc "java.lang.Object"
            iconst_0
            aload 3 /* ta */
            invokestatic sun.reflect.generics.tree.SimpleClassTypeSignature.make:(Ljava/lang/String;Z[Lsun/reflect/generics/tree/TypeArgument;)Lsun/reflect/generics/tree/SimpleClassTypeSignature;
            aastore
        16: .line 335
            aload 1 /* ub */
            aload 2 /* lb */
            invokestatic sun.reflect.generics.tree.Wildcard.make:([Lsun/reflect/generics/tree/FieldTypeSignature;[Lsun/reflect/generics/tree/FieldTypeSignature;)Lsun/reflect/generics/tree/Wildcard;
            areturn
        17: .line 337
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseFieldTypeSignature:()Lsun/reflect/generics/tree/FieldTypeSignature;
            areturn
        end local 4 // char c
        end local 3 // sun.reflect.generics.tree.TypeArgument[] ta
        end local 2 // sun.reflect.generics.tree.FieldTypeSignature[] lb
        end local 1 // sun.reflect.generics.tree.FieldTypeSignature[] ub
        end local 0 // sun.reflect.generics.parser.SignatureParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Lsun/reflect/generics/parser/SignatureParser;
            1   18     1    ub  [Lsun/reflect/generics/tree/FieldTypeSignature;
            2   18     2    lb  [Lsun/reflect/generics/tree/FieldTypeSignature;
            3   18     3    ta  [Lsun/reflect/generics/tree/TypeArgument;
            4   18     4     c  C

  private sun.reflect.generics.tree.TypeVariableSignature parseTypeVariableSignature();
    descriptor: ()Lsun/reflect/generics/tree/TypeVariableSignature;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // sun.reflect.generics.parser.SignatureParser this
         0: .line 344
            getstatic sun.reflect.generics.parser.SignatureParser.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            bipush 84
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 345
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            bipush 84
            if_icmpeq 2
            aload 0 /* this */
            ldc "expected a type variable usage"
            invokevirtual sun.reflect.generics.parser.SignatureParser.error:(Ljava/lang/String;)Ljava/lang/Error;
            athrow
         2: .line 346
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.advance:()V
         3: .line 348
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseIdentifier:()Ljava/lang/String;
            invokestatic sun.reflect.generics.tree.TypeVariableSignature.make:(Ljava/lang/String;)Lsun/reflect/generics/tree/TypeVariableSignature;
         4: .line 347
            astore 1 /* ts */
        start local 1 // sun.reflect.generics.tree.TypeVariableSignature ts
         5: .line 349
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            bipush 59
            if_icmpeq 9
         6: .line 350
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "; expected in signature of type variable named"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 351
            aload 1 /* ts */
            invokevirtual sun.reflect.generics.tree.TypeVariableSignature.getIdentifier:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 350
            invokevirtual sun.reflect.generics.parser.SignatureParser.error:(Ljava/lang/String;)Ljava/lang/Error;
            athrow
         9: .line 353
      StackMap locals: sun.reflect.generics.tree.TypeVariableSignature
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.advance:()V
        10: .line 354
            aload 1 /* ts */
            areturn
        end local 1 // sun.reflect.generics.tree.TypeVariableSignature ts
        end local 0 // sun.reflect.generics.parser.SignatureParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lsun/reflect/generics/parser/SignatureParser;
            5   11     1    ts  Lsun/reflect/generics/tree/TypeVariableSignature;

  private sun.reflect.generics.tree.ArrayTypeSignature parseArrayTypeSignature();
    descriptor: ()Lsun/reflect/generics/tree/ArrayTypeSignature;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.reflect.generics.parser.SignatureParser this
         0: .line 360
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            bipush 91
            if_icmpeq 1
            aload 0 /* this */
            ldc "expected array type signature"
            invokevirtual sun.reflect.generics.parser.SignatureParser.error:(Ljava/lang/String;)Ljava/lang/Error;
            athrow
         1: .line 361
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.advance:()V
         2: .line 362
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseTypeSignature:()Lsun/reflect/generics/tree/TypeSignature;
            invokestatic sun.reflect.generics.tree.ArrayTypeSignature.make:(Lsun/reflect/generics/tree/TypeSignature;)Lsun/reflect/generics/tree/ArrayTypeSignature;
            areturn
        end local 0 // sun.reflect.generics.parser.SignatureParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/reflect/generics/parser/SignatureParser;

  private sun.reflect.generics.tree.TypeSignature parseTypeSignature();
    descriptor: ()Lsun/reflect/generics/tree/TypeSignature;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.reflect.generics.parser.SignatureParser this
         0: .line 368
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            lookupswitch { // 8
                   66: 1
                   67: 1
                   68: 1
                   70: 1
                   73: 1
                   74: 1
                   83: 1
                   90: 1
              default: 2
          }
         1: .line 376
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseBaseType:()Lsun/reflect/generics/tree/BaseType;
            areturn
         2: .line 377
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseFieldTypeSignature:()Lsun/reflect/generics/tree/FieldTypeSignature;
            areturn
        end local 0 // sun.reflect.generics.parser.SignatureParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/reflect/generics/parser/SignatureParser;

  private sun.reflect.generics.tree.BaseType parseBaseType();
    descriptor: ()Lsun/reflect/generics/tree/BaseType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.reflect.generics.parser.SignatureParser this
         0: .line 382
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            lookupswitch { // 8
                   66: 1
                   67: 3
                   68: 5
                   70: 7
                   73: 9
                   74: 11
                   83: 13
                   90: 15
              default: 17
          }
         1: .line 384
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.advance:()V
         2: .line 385
            invokestatic sun.reflect.generics.tree.ByteSignature.make:()Lsun/reflect/generics/tree/ByteSignature;
            areturn
         3: .line 387
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.advance:()V
         4: .line 388
            invokestatic sun.reflect.generics.tree.CharSignature.make:()Lsun/reflect/generics/tree/CharSignature;
            areturn
         5: .line 390
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.advance:()V
         6: .line 391
            invokestatic sun.reflect.generics.tree.DoubleSignature.make:()Lsun/reflect/generics/tree/DoubleSignature;
            areturn
         7: .line 393
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.advance:()V
         8: .line 394
            invokestatic sun.reflect.generics.tree.FloatSignature.make:()Lsun/reflect/generics/tree/FloatSignature;
            areturn
         9: .line 396
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.advance:()V
        10: .line 397
            invokestatic sun.reflect.generics.tree.IntSignature.make:()Lsun/reflect/generics/tree/IntSignature;
            areturn
        11: .line 399
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.advance:()V
        12: .line 400
            invokestatic sun.reflect.generics.tree.LongSignature.make:()Lsun/reflect/generics/tree/LongSignature;
            areturn
        13: .line 402
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.advance:()V
        14: .line 403
            invokestatic sun.reflect.generics.tree.ShortSignature.make:()Lsun/reflect/generics/tree/ShortSignature;
            areturn
        15: .line 405
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.advance:()V
        16: .line 406
            invokestatic sun.reflect.generics.tree.BooleanSignature.make:()Lsun/reflect/generics/tree/BooleanSignature;
            areturn
        17: .line 408
      StackMap locals:
      StackMap stack:
            getstatic sun.reflect.generics.parser.SignatureParser.$assertionsDisabled:Z
            ifne 18
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        18: .line 409
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "expected primitive type"
            invokevirtual sun.reflect.generics.parser.SignatureParser.error:(Ljava/lang/String;)Ljava/lang/Error;
            athrow
        end local 0 // sun.reflect.generics.parser.SignatureParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Lsun/reflect/generics/parser/SignatureParser;

  private sun.reflect.generics.tree.FieldTypeSignature[] parseZeroOrMoreBounds();
    descriptor: ()[Lsun/reflect/generics/tree/FieldTypeSignature;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // sun.reflect.generics.parser.SignatureParser this
         0: .line 416
            new java.util.ArrayList
            dup
            iconst_3
            invokespecial java.util.ArrayList.<init>:(I)V
         1: .line 415
            astore 1 /* fts */
        start local 1 // java.util.Collection fts
         2: .line 418
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            bipush 58
            if_icmpne 11
         3: .line 419
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.advance:()V
         4: .line 420
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            tableswitch { // 58 - 58
                   58: 5
              default: 6
          }
         5: .line 422
      StackMap locals: java.util.Collection
      StackMap stack:
            goto 10
         6: .line 425
      StackMap locals:
      StackMap stack:
            aload 1 /* fts */
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseFieldTypeSignature:()Lsun/reflect/generics/tree/FieldTypeSignature;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         7: .line 429
            goto 10
         8: .line 430
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.advance:()V
         9: .line 431
            aload 1 /* fts */
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseFieldTypeSignature:()Lsun/reflect/generics/tree/FieldTypeSignature;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        10: .line 429
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            bipush 58
            if_icmpeq 8
        11: .line 435
      StackMap locals:
      StackMap stack:
            aload 1 /* fts */
            invokeinterface java.util.Collection.size:()I
            anewarray sun.reflect.generics.tree.FieldTypeSignature
            astore 2 /* fta */
        start local 2 // sun.reflect.generics.tree.FieldTypeSignature[] fta
        12: .line 436
            aload 1 /* fts */
            aload 2 /* fta */
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast sun.reflect.generics.tree.FieldTypeSignature[]
            areturn
        end local 2 // sun.reflect.generics.tree.FieldTypeSignature[] fta
        end local 1 // java.util.Collection fts
        end local 0 // sun.reflect.generics.parser.SignatureParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lsun/reflect/generics/parser/SignatureParser;
            2   13     1   fts  Ljava/util/Collection<Lsun/reflect/generics/tree/FieldTypeSignature;>;
           12   13     2   fta  [Lsun/reflect/generics/tree/FieldTypeSignature;

  private sun.reflect.generics.tree.ClassTypeSignature[] parseSuperInterfaces();
    descriptor: ()[Lsun/reflect/generics/tree/ClassTypeSignature;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // sun.reflect.generics.parser.SignatureParser this
         0: .line 441
            new java.util.ArrayList
            dup
            iconst_5
            invokespecial java.util.ArrayList.<init>:(I)V
         1: .line 440
            astore 1 /* cts */
        start local 1 // java.util.Collection cts
         2: .line 442
            goto 4
         3: .line 443
      StackMap locals: java.util.Collection
      StackMap stack:
            aload 1 /* cts */
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseClassTypeSignature:()Lsun/reflect/generics/tree/ClassTypeSignature;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         4: .line 442
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            bipush 76
            if_icmpeq 3
         5: .line 445
            aload 1 /* cts */
            invokeinterface java.util.Collection.size:()I
            anewarray sun.reflect.generics.tree.ClassTypeSignature
            astore 2 /* cta */
        start local 2 // sun.reflect.generics.tree.ClassTypeSignature[] cta
         6: .line 446
            aload 1 /* cts */
            aload 2 /* cta */
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast sun.reflect.generics.tree.ClassTypeSignature[]
            areturn
        end local 2 // sun.reflect.generics.tree.ClassTypeSignature[] cta
        end local 1 // java.util.Collection cts
        end local 0 // sun.reflect.generics.parser.SignatureParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/reflect/generics/parser/SignatureParser;
            2    7     1   cts  Ljava/util/Collection<Lsun/reflect/generics/tree/ClassTypeSignature;>;
            6    7     2   cta  [Lsun/reflect/generics/tree/ClassTypeSignature;

  private sun.reflect.generics.tree.MethodTypeSignature parseMethodTypeSignature();
    descriptor: ()Lsun/reflect/generics/tree/MethodTypeSignature;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.reflect.generics.parser.SignatureParser this
         0: .line 453
            getstatic sun.reflect.generics.parser.SignatureParser.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield sun.reflect.generics.parser.SignatureParser.index:I
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 454
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseZeroOrMoreFormalTypeParameters:()[Lsun/reflect/generics/tree/FormalTypeParameter;
         2: .line 455
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseFormalParameters:()[Lsun/reflect/generics/tree/TypeSignature;
         3: .line 456
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseReturnType:()Lsun/reflect/generics/tree/ReturnType;
         4: .line 457
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseZeroOrMoreThrowsSignatures:()[Lsun/reflect/generics/tree/FieldTypeSignature;
         5: .line 454
            invokestatic sun.reflect.generics.tree.MethodTypeSignature.make:([Lsun/reflect/generics/tree/FormalTypeParameter;[Lsun/reflect/generics/tree/TypeSignature;Lsun/reflect/generics/tree/ReturnType;[Lsun/reflect/generics/tree/FieldTypeSignature;)Lsun/reflect/generics/tree/MethodTypeSignature;
            areturn
        end local 0 // sun.reflect.generics.parser.SignatureParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/reflect/generics/parser/SignatureParser;

  private sun.reflect.generics.tree.TypeSignature[] parseFormalParameters();
    descriptor: ()[Lsun/reflect/generics/tree/TypeSignature;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.reflect.generics.parser.SignatureParser this
         0: .line 462
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            bipush 40
            if_icmpeq 1
            aload 0 /* this */
            ldc "expected ("
            invokevirtual sun.reflect.generics.parser.SignatureParser.error:(Ljava/lang/String;)Ljava/lang/Error;
            athrow
         1: .line 463
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.advance:()V
         2: .line 464
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseZeroOrMoreTypeSignatures:()[Lsun/reflect/generics/tree/TypeSignature;
            astore 1 /* pts */
        start local 1 // sun.reflect.generics.tree.TypeSignature[] pts
         3: .line 465
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            bipush 41
            if_icmpeq 4
            aload 0 /* this */
            ldc "expected )"
            invokevirtual sun.reflect.generics.parser.SignatureParser.error:(Ljava/lang/String;)Ljava/lang/Error;
            athrow
         4: .line 466
      StackMap locals: sun.reflect.generics.tree.TypeSignature[]
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.advance:()V
         5: .line 467
            aload 1 /* pts */
            areturn
        end local 1 // sun.reflect.generics.tree.TypeSignature[] pts
        end local 0 // sun.reflect.generics.parser.SignatureParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/reflect/generics/parser/SignatureParser;
            3    6     1   pts  [Lsun/reflect/generics/tree/TypeSignature;

  private sun.reflect.generics.tree.TypeSignature[] parseZeroOrMoreTypeSignatures();
    descriptor: ()[Lsun/reflect/generics/tree/TypeSignature;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // sun.reflect.generics.parser.SignatureParser this
         0: .line 472
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* ts */
        start local 1 // java.util.Collection ts
         1: .line 473
            iconst_0
            istore 2 /* stop */
        start local 2 // boolean stop
         2: .line 474
            goto 7
         3: .line 475
      StackMap locals: java.util.Collection int
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            tableswitch { // 66 - 91
                   66: 4
                   67: 4
                   68: 4
                   69: 6
                   70: 4
                   71: 6
                   72: 6
                   73: 4
                   74: 4
                   75: 6
                   76: 4
                   77: 6
                   78: 6
                   79: 6
                   80: 6
                   81: 6
                   82: 6
                   83: 4
                   84: 4
                   85: 6
                   86: 6
                   87: 6
                   88: 6
                   89: 6
                   90: 4
                   91: 4
              default: 6
          }
         4: .line 487
      StackMap locals:
      StackMap stack:
            aload 1 /* ts */
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseTypeSignature:()Lsun/reflect/generics/tree/TypeSignature;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         5: .line 488
            goto 7
         6: .line 490
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* stop */
         7: .line 474
      StackMap locals:
      StackMap stack:
            iload 2 /* stop */
            ifeq 3
         8: .line 498
            aload 1 /* ts */
            invokeinterface java.util.Collection.size:()I
            anewarray sun.reflect.generics.tree.TypeSignature
            astore 3 /* ta */
        start local 3 // sun.reflect.generics.tree.TypeSignature[] ta
         9: .line 499
            aload 1 /* ts */
            aload 3 /* ta */
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast sun.reflect.generics.tree.TypeSignature[]
            areturn
        end local 3 // sun.reflect.generics.tree.TypeSignature[] ta
        end local 2 // boolean stop
        end local 1 // java.util.Collection ts
        end local 0 // sun.reflect.generics.parser.SignatureParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/reflect/generics/parser/SignatureParser;
            1   10     1    ts  Ljava/util/Collection<Lsun/reflect/generics/tree/TypeSignature;>;
            2   10     2  stop  Z
            9   10     3    ta  [Lsun/reflect/generics/tree/TypeSignature;

  private sun.reflect.generics.tree.ReturnType parseReturnType();
    descriptor: ()Lsun/reflect/generics/tree/ReturnType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.reflect.generics.parser.SignatureParser this
         0: .line 505
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            bipush 86
            if_icmpne 3
         1: .line 506
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.advance:()V
         2: .line 507
            invokestatic sun.reflect.generics.tree.VoidDescriptor.make:()Lsun/reflect/generics/tree/VoidDescriptor;
            areturn
         3: .line 508
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseTypeSignature:()Lsun/reflect/generics/tree/TypeSignature;
            areturn
        end local 0 // sun.reflect.generics.parser.SignatureParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/reflect/generics/parser/SignatureParser;

  private sun.reflect.generics.tree.FieldTypeSignature[] parseZeroOrMoreThrowsSignatures();
    descriptor: ()[Lsun/reflect/generics/tree/FieldTypeSignature;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // sun.reflect.generics.parser.SignatureParser this
         0: .line 514
            new java.util.ArrayList
            dup
            iconst_3
            invokespecial java.util.ArrayList.<init>:(I)V
         1: .line 513
            astore 1 /* ets */
        start local 1 // java.util.Collection ets
         2: .line 515
            goto 4
         3: .line 516
      StackMap locals: java.util.Collection
      StackMap stack:
            aload 1 /* ets */
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseThrowsSignature:()Lsun/reflect/generics/tree/FieldTypeSignature;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         4: .line 515
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            bipush 94
            if_icmpeq 3
         5: .line 518
            aload 1 /* ets */
            invokeinterface java.util.Collection.size:()I
            anewarray sun.reflect.generics.tree.FieldTypeSignature
            astore 2 /* eta */
        start local 2 // sun.reflect.generics.tree.FieldTypeSignature[] eta
         6: .line 519
            aload 1 /* ets */
            aload 2 /* eta */
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast sun.reflect.generics.tree.FieldTypeSignature[]
            areturn
        end local 2 // sun.reflect.generics.tree.FieldTypeSignature[] eta
        end local 1 // java.util.Collection ets
        end local 0 // sun.reflect.generics.parser.SignatureParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/reflect/generics/parser/SignatureParser;
            2    7     1   ets  Ljava/util/Collection<Lsun/reflect/generics/tree/FieldTypeSignature;>;
            6    7     2   eta  [Lsun/reflect/generics/tree/FieldTypeSignature;

  private sun.reflect.generics.tree.FieldTypeSignature parseThrowsSignature();
    descriptor: ()Lsun/reflect/generics/tree/FieldTypeSignature;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.reflect.generics.parser.SignatureParser this
         0: .line 525
            getstatic sun.reflect.generics.parser.SignatureParser.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            bipush 94
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 526
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.current:()C
            bipush 94
            if_icmpeq 2
            aload 0 /* this */
            ldc "expected throws signature"
            invokevirtual sun.reflect.generics.parser.SignatureParser.error:(Ljava/lang/String;)Ljava/lang/Error;
            athrow
         2: .line 527
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.advance:()V
         3: .line 528
            aload 0 /* this */
            invokevirtual sun.reflect.generics.parser.SignatureParser.parseFieldTypeSignature:()Lsun/reflect/generics/tree/FieldTypeSignature;
            areturn
        end local 0 // sun.reflect.generics.parser.SignatureParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/reflect/generics/parser/SignatureParser;
}
SourceFile: "SignatureParser.java"