public class com.sun.tools.classfile.TypeAnnotation
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.classfile.TypeAnnotation
  super_class: java.lang.Object
{
  public final com.sun.tools.classfile.ConstantPool constant_pool;
    descriptor: Lcom/sun/tools/classfile/ConstantPool;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final com.sun.tools.classfile.TypeAnnotation$Position position;
    descriptor: Lcom/sun/tools/classfile/TypeAnnotation$Position;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final com.sun.tools.classfile.Annotation annotation;
    descriptor: Lcom/sun/tools/classfile/Annotation;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  private static volatile int[] $SWITCH_TABLE$com$sun$tools$classfile$TypeAnnotation$TargetType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  void <init>(com.sun.tools.classfile.ClassReader);
    descriptor: (Lcom/sun/tools/classfile/ClassReader;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.tools.classfile.TypeAnnotation this
        start local 1 // com.sun.tools.classfile.ClassReader cr
         0: .line 43
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 44
            aload 0 /* this */
            aload 1 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.getConstantPool:()Lcom/sun/tools/classfile/ConstantPool;
            putfield com.sun.tools.classfile.TypeAnnotation.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
         2: .line 45
            aload 0 /* this */
            aload 1 /* cr */
            invokestatic com.sun.tools.classfile.TypeAnnotation.read_position:(Lcom/sun/tools/classfile/ClassReader;)Lcom/sun/tools/classfile/TypeAnnotation$Position;
            putfield com.sun.tools.classfile.TypeAnnotation.position:Lcom/sun/tools/classfile/TypeAnnotation$Position;
         3: .line 46
            aload 0 /* this */
            new com.sun.tools.classfile.Annotation
            dup
            aload 1 /* cr */
            invokespecial com.sun.tools.classfile.Annotation.<init>:(Lcom/sun/tools/classfile/ClassReader;)V
            putfield com.sun.tools.classfile.TypeAnnotation.annotation:Lcom/sun/tools/classfile/Annotation;
         4: .line 47
            return
        end local 1 // com.sun.tools.classfile.ClassReader cr
        end local 0 // com.sun.tools.classfile.TypeAnnotation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/tools/classfile/TypeAnnotation;
            0    5     1    cr  Lcom/sun/tools/classfile/ClassReader;
    Exceptions:
      throws java.io.IOException, com.sun.tools.classfile.Annotation$InvalidAnnotation
    MethodParameters:
      Name  Flags
      cr    

  public void <init>(com.sun.tools.classfile.ConstantPool, com.sun.tools.classfile.Annotation, com.sun.tools.classfile.TypeAnnotation$Position);
    descriptor: (Lcom/sun/tools/classfile/ConstantPool;Lcom/sun/tools/classfile/Annotation;Lcom/sun/tools/classfile/TypeAnnotation$Position;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // com.sun.tools.classfile.TypeAnnotation this
        start local 1 // com.sun.tools.classfile.ConstantPool constant_pool
        start local 2 // com.sun.tools.classfile.Annotation annotation
        start local 3 // com.sun.tools.classfile.TypeAnnotation$Position position
         0: .line 49
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 51
            aload 0 /* this */
            aload 1 /* constant_pool */
            putfield com.sun.tools.classfile.TypeAnnotation.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
         2: .line 52
            aload 0 /* this */
            aload 3 /* position */
            putfield com.sun.tools.classfile.TypeAnnotation.position:Lcom/sun/tools/classfile/TypeAnnotation$Position;
         3: .line 53
            aload 0 /* this */
            aload 2 /* annotation */
            putfield com.sun.tools.classfile.TypeAnnotation.annotation:Lcom/sun/tools/classfile/Annotation;
         4: .line 54
            return
        end local 3 // com.sun.tools.classfile.TypeAnnotation$Position position
        end local 2 // com.sun.tools.classfile.Annotation annotation
        end local 1 // com.sun.tools.classfile.ConstantPool constant_pool
        end local 0 // com.sun.tools.classfile.TypeAnnotation this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lcom/sun/tools/classfile/TypeAnnotation;
            0    5     1  constant_pool  Lcom/sun/tools/classfile/ConstantPool;
            0    5     2     annotation  Lcom/sun/tools/classfile/Annotation;
            0    5     3       position  Lcom/sun/tools/classfile/TypeAnnotation$Position;
    MethodParameters:
               Name  Flags
      constant_pool  
      annotation     
      position       

  public int length();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.tools.classfile.TypeAnnotation this
         0: .line 57
            aload 0 /* this */
            getfield com.sun.tools.classfile.TypeAnnotation.annotation:Lcom/sun/tools/classfile/Annotation;
            invokevirtual com.sun.tools.classfile.Annotation.length:()I
            istore 1 /* n */
        start local 1 // int n
         1: .line 58
            iload 1 /* n */
            aload 0 /* this */
            getfield com.sun.tools.classfile.TypeAnnotation.position:Lcom/sun/tools/classfile/TypeAnnotation$Position;
            invokestatic com.sun.tools.classfile.TypeAnnotation.position_length:(Lcom/sun/tools/classfile/TypeAnnotation$Position;)I
            iadd
            istore 1 /* n */
         2: .line 59
            iload 1 /* n */
            ireturn
        end local 1 // int n
        end local 0 // com.sun.tools.classfile.TypeAnnotation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/classfile/TypeAnnotation;
            1    3     1     n  I

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.sun.tools.classfile.TypeAnnotation this
         0: .line 65
            new java.lang.StringBuilder
            dup
            ldc "@"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.sun.tools.classfile.TypeAnnotation.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
            aload 0 /* this */
            getfield com.sun.tools.classfile.TypeAnnotation.annotation:Lcom/sun/tools/classfile/Annotation;
            getfield com.sun.tools.classfile.Annotation.type_index:I
            invokevirtual com.sun.tools.classfile.ConstantPool.getUTF8Value:(I)Ljava/lang/String;
            invokevirtual java.lang.String.toString:()Ljava/lang/String;
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 66
            ldc " pos: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.sun.tools.classfile.TypeAnnotation.position:Lcom/sun/tools/classfile/TypeAnnotation$Position;
            invokevirtual com.sun.tools.classfile.TypeAnnotation$Position.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 65
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: areturn
         4: .line 67
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
         5: .line 68
            aload 1 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
         6: .line 69
            aload 1 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.Exception e
        end local 0 // com.sun.tools.classfile.TypeAnnotation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/tools/classfile/TypeAnnotation;
            5    7     1     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.Exception

  private static com.sun.tools.classfile.TypeAnnotation$Position read_position(com.sun.tools.classfile.ClassReader);
    descriptor: (Lcom/sun/tools/classfile/ClassReader;)Lcom/sun/tools/classfile/TypeAnnotation$Position;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=7, args_size=1
        start local 0 // com.sun.tools.classfile.ClassReader cr
         0: .line 79
            aload 0 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.readUnsignedByte:()I
            istore 1 /* tag */
        start local 1 // int tag
         1: .line 80
            iload 1 /* tag */
            invokestatic com.sun.tools.classfile.TypeAnnotation$TargetType.isValidTargetTypeValue:(I)Z
            ifne 3
         2: .line 81
            new com.sun.tools.classfile.Annotation$InvalidAnnotation
            dup
            new java.lang.StringBuilder
            dup
            ldc "TypeAnnotation: Invalid type annotation target type value: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "0x%02X"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* tag */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.sun.tools.classfile.Annotation$InvalidAnnotation.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 83
      StackMap locals: int
      StackMap stack:
            iload 1 /* tag */
            invokestatic com.sun.tools.classfile.TypeAnnotation$TargetType.fromTargetTypeValue:(I)Lcom/sun/tools/classfile/TypeAnnotation$TargetType;
            astore 2 /* type */
        start local 2 // com.sun.tools.classfile.TypeAnnotation$TargetType type
         4: .line 85
            new com.sun.tools.classfile.TypeAnnotation$Position
            dup
            invokespecial com.sun.tools.classfile.TypeAnnotation$Position.<init>:()V
            astore 3 /* position */
        start local 3 // com.sun.tools.classfile.TypeAnnotation$Position position
         5: .line 86
            aload 3 /* position */
            aload 2 /* type */
            putfield com.sun.tools.classfile.TypeAnnotation$Position.type:Lcom/sun/tools/classfile/TypeAnnotation$TargetType;
         6: .line 88
            invokestatic com.sun.tools.classfile.TypeAnnotation.$SWITCH_TABLE$com$sun$tools$classfile$TypeAnnotation$TargetType:()[I
            aload 2 /* type */
            invokevirtual com.sun.tools.classfile.TypeAnnotation$TargetType.ordinal:()I
            iaload
            tableswitch { // 1 - 23
                    1: 24
                    2: 24
                    3: 29
                    4: 26
                    5: 26
                    6: 38
                    7: 38
                    8: 23
                    9: 33
                   10: 31
                   11: 9
                   12: 9
                   13: 21
                   14: 7
                   15: 7
                   16: 7
                   17: 7
                   18: 35
                   19: 35
                   20: 35
                   21: 35
                   22: 35
                   23: 39
              default: 40
          }
         7: .line 96
      StackMap locals: com.sun.tools.classfile.TypeAnnotation$TargetType com.sun.tools.classfile.TypeAnnotation$Position
      StackMap stack:
            aload 3 /* position */
            aload 0 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.readUnsignedShort:()I
            putfield com.sun.tools.classfile.TypeAnnotation$Position.offset:I
         8: .line 97
            goto 41
         9: .line 102
      StackMap locals:
      StackMap stack:
            aload 0 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.readUnsignedShort:()I
            istore 4 /* table_length */
        start local 4 // int table_length
        10: .line 103
            aload 3 /* position */
            iload 4 /* table_length */
            newarray 10
            putfield com.sun.tools.classfile.TypeAnnotation$Position.lvarOffset:[I
        11: .line 104
            aload 3 /* position */
            iload 4 /* table_length */
            newarray 10
            putfield com.sun.tools.classfile.TypeAnnotation$Position.lvarLength:[I
        12: .line 105
            aload 3 /* position */
            iload 4 /* table_length */
            newarray 10
            putfield com.sun.tools.classfile.TypeAnnotation$Position.lvarIndex:[I
        13: .line 106
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        14: goto 19
        15: .line 107
      StackMap locals: int int
      StackMap stack:
            aload 3 /* position */
            getfield com.sun.tools.classfile.TypeAnnotation$Position.lvarOffset:[I
            iload 5 /* i */
            aload 0 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.readUnsignedShort:()I
            iastore
        16: .line 108
            aload 3 /* position */
            getfield com.sun.tools.classfile.TypeAnnotation$Position.lvarLength:[I
            iload 5 /* i */
            aload 0 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.readUnsignedShort:()I
            iastore
        17: .line 109
            aload 3 /* position */
            getfield com.sun.tools.classfile.TypeAnnotation$Position.lvarIndex:[I
            iload 5 /* i */
            aload 0 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.readUnsignedShort:()I
            iastore
        18: .line 106
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 5 /* i */
            iload 4 /* table_length */
            if_icmplt 15
        end local 5 // int i
        20: .line 111
            goto 41
        end local 4 // int table_length
        21: .line 114
      StackMap locals:
      StackMap stack:
            aload 3 /* position */
            aload 0 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.readUnsignedShort:()I
            putfield com.sun.tools.classfile.TypeAnnotation$Position.exception_index:I
        22: .line 115
            goto 41
        23: .line 119
      StackMap locals:
      StackMap stack:
            goto 41
        24: .line 123
      StackMap locals:
      StackMap stack:
            aload 3 /* position */
            aload 0 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.readUnsignedByte:()I
            putfield com.sun.tools.classfile.TypeAnnotation$Position.parameter_index:I
        25: .line 124
            goto 41
        26: .line 128
      StackMap locals:
      StackMap stack:
            aload 3 /* position */
            aload 0 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.readUnsignedByte:()I
            putfield com.sun.tools.classfile.TypeAnnotation$Position.parameter_index:I
        27: .line 129
            aload 3 /* position */
            aload 0 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.readUnsignedByte:()I
            putfield com.sun.tools.classfile.TypeAnnotation$Position.bound_index:I
        28: .line 130
            goto 41
        29: .line 133
      StackMap locals:
      StackMap stack:
            aload 3 /* position */
            aload 0 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.readUnsignedShort:()I
            putfield com.sun.tools.classfile.TypeAnnotation$Position.type_index:I
        30: .line 134
            goto 41
        31: .line 137
      StackMap locals:
      StackMap stack:
            aload 3 /* position */
            aload 0 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.readUnsignedShort:()I
            putfield com.sun.tools.classfile.TypeAnnotation$Position.type_index:I
        32: .line 138
            goto 41
        33: .line 141
      StackMap locals:
      StackMap stack:
            aload 3 /* position */
            aload 0 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.readUnsignedByte:()I
            putfield com.sun.tools.classfile.TypeAnnotation$Position.parameter_index:I
        34: .line 142
            goto 41
        35: .line 150
      StackMap locals:
      StackMap stack:
            aload 3 /* position */
            aload 0 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.readUnsignedShort:()I
            putfield com.sun.tools.classfile.TypeAnnotation$Position.offset:I
        36: .line 151
            aload 3 /* position */
            aload 0 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.readUnsignedByte:()I
            putfield com.sun.tools.classfile.TypeAnnotation$Position.type_index:I
        37: .line 152
            goto 41
        38: .line 156
      StackMap locals:
      StackMap stack:
            goto 41
        39: .line 158
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            ldc "TypeAnnotation: UNKNOWN target type should never occur!"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        40: .line 160
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "TypeAnnotation: Unknown target type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        41: .line 164
      StackMap locals:
      StackMap stack:
            aload 0 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.readUnsignedByte:()I
            istore 4 /* len */
        start local 4 // int len
        42: .line 165
            new java.util.ArrayList
            dup
            iload 4 /* len */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 5 /* loc */
        start local 5 // java.util.List loc
        43: .line 166
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        44: goto 47
        45: .line 167
      StackMap locals: int java.util.List int
      StackMap stack:
            aload 5 /* loc */
            aload 0 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.readUnsignedByte:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        46: .line 166
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        47: iload 6 /* i */
            iload 4 /* len */
            iconst_2
            imul
            if_icmplt 45
        end local 6 // int i
        48: .line 168
            aload 3 /* position */
            aload 5 /* loc */
            invokestatic com.sun.tools.classfile.TypeAnnotation$Position.getTypePathFromBinary:(Ljava/util/List;)Ljava/util/List;
            putfield com.sun.tools.classfile.TypeAnnotation$Position.location:Ljava/util/List;
        end local 5 // java.util.List loc
        end local 4 // int len
        49: .line 170
            aload 3 /* position */
            areturn
        end local 3 // com.sun.tools.classfile.TypeAnnotation$Position position
        end local 2 // com.sun.tools.classfile.TypeAnnotation$TargetType type
        end local 1 // int tag
        end local 0 // com.sun.tools.classfile.ClassReader cr
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   50     0            cr  Lcom/sun/tools/classfile/ClassReader;
            1   50     1           tag  I
            4   50     2          type  Lcom/sun/tools/classfile/TypeAnnotation$TargetType;
            5   50     3      position  Lcom/sun/tools/classfile/TypeAnnotation$Position;
           10   21     4  table_length  I
           14   20     5             i  I
           42   49     4           len  I
           43   49     5           loc  Ljava/util/List<Ljava/lang/Integer;>;
           44   48     6             i  I
    Exceptions:
      throws java.io.IOException, com.sun.tools.classfile.Annotation$InvalidAnnotation
    MethodParameters:
      Name  Flags
      cr    

  private static int position_length(com.sun.tools.classfile.TypeAnnotation$Position);
    descriptor: (Lcom/sun/tools/classfile/TypeAnnotation$Position;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // com.sun.tools.classfile.TypeAnnotation$Position pos
         0: .line 174
            iconst_0
            istore 1 /* n */
        start local 1 // int n
         1: .line 175
            iinc 1 /* n */ 1
         2: .line 176
            invokestatic com.sun.tools.classfile.TypeAnnotation.$SWITCH_TABLE$com$sun$tools$classfile$TypeAnnotation$TargetType:()[I
            aload 0 /* pos */
            getfield com.sun.tools.classfile.TypeAnnotation$Position.type:Lcom/sun/tools/classfile/TypeAnnotation$TargetType;
            invokevirtual com.sun.tools.classfile.TypeAnnotation$TargetType.ordinal:()I
            iaload
            tableswitch { // 1 - 23
                    1: 14
                    2: 14
                    3: 19
                    4: 16
                    5: 16
                    6: 28
                    7: 28
                    8: 13
                    9: 23
                   10: 21
                   11: 5
                   12: 5
                   13: 11
                   14: 3
                   15: 3
                   16: 3
                   17: 3
                   18: 25
                   19: 25
                   20: 25
                   21: 25
                   22: 25
                   23: 29
              default: 30
          }
         3: .line 184
      StackMap locals: int
      StackMap stack:
            iinc 1 /* n */ 2
         4: .line 185
            goto 31
         5: .line 190
      StackMap locals:
      StackMap stack:
            iinc 1 /* n */ 2
         6: .line 191
            aload 0 /* pos */
            getfield com.sun.tools.classfile.TypeAnnotation$Position.lvarOffset:[I
            arraylength
            istore 2 /* table_length */
        start local 2 // int table_length
         7: .line 192
            iload 1 /* n */
            iconst_2
            iload 2 /* table_length */
            imul
            iadd
            istore 1 /* n */
         8: .line 193
            iload 1 /* n */
            iconst_2
            iload 2 /* table_length */
            imul
            iadd
            istore 1 /* n */
         9: .line 194
            iload 1 /* n */
            iconst_2
            iload 2 /* table_length */
            imul
            iadd
            istore 1 /* n */
        10: .line 195
            goto 31
        end local 2 // int table_length
        11: .line 198
      StackMap locals:
      StackMap stack:
            iinc 1 /* n */ 2
        12: .line 199
            goto 31
        13: .line 203
      StackMap locals:
      StackMap stack:
            goto 31
        14: .line 207
      StackMap locals:
      StackMap stack:
            iinc 1 /* n */ 1
        15: .line 208
            goto 31
        16: .line 212
      StackMap locals:
      StackMap stack:
            iinc 1 /* n */ 1
        17: .line 213
            iinc 1 /* n */ 1
        18: .line 214
            goto 31
        19: .line 217
      StackMap locals:
      StackMap stack:
            iinc 1 /* n */ 2
        20: .line 218
            goto 31
        21: .line 221
      StackMap locals:
      StackMap stack:
            iinc 1 /* n */ 2
        22: .line 222
            goto 31
        23: .line 225
      StackMap locals:
      StackMap stack:
            iinc 1 /* n */ 1
        24: .line 226
            goto 31
        25: .line 234
      StackMap locals:
      StackMap stack:
            iinc 1 /* n */ 2
        26: .line 235
            iinc 1 /* n */ 1
        27: .line 236
            goto 31
        28: .line 240
      StackMap locals:
      StackMap stack:
            goto 31
        29: .line 242
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            ldc "TypeAnnotation: UNKNOWN target type should never occur!"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        30: .line 244
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "TypeAnnotation: Unknown target type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* pos */
            getfield com.sun.tools.classfile.TypeAnnotation$Position.type:Lcom/sun/tools/classfile/TypeAnnotation$TargetType;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        31: .line 248
      StackMap locals:
      StackMap stack:
            iinc 1 /* n */ 1
        32: .line 249
            iload 1 /* n */
            iconst_2
            aload 0 /* pos */
            getfield com.sun.tools.classfile.TypeAnnotation$Position.location:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            imul
            iadd
            istore 1 /* n */
        33: .line 252
            iload 1 /* n */
            ireturn
        end local 1 // int n
        end local 0 // com.sun.tools.classfile.TypeAnnotation$Position pos
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   34     0           pos  Lcom/sun/tools/classfile/TypeAnnotation$Position;
            1   34     1             n  I
            7   11     2  table_length  I
    MethodParameters:
      Name  Flags
      pos   

  static int[] $SWITCH_TABLE$com$sun$tools$classfile$TypeAnnotation$TargetType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 42
            getstatic com.sun.tools.classfile.TypeAnnotation.$SWITCH_TABLE$com$sun$tools$classfile$TypeAnnotation$TargetType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.sun.tools.classfile.TypeAnnotation$TargetType.values:()[Lcom/sun/tools/classfile/TypeAnnotation$TargetType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.sun.tools.classfile.TypeAnnotation$TargetType.CAST:Lcom/sun/tools/classfile/TypeAnnotation$TargetType;
            invokevirtual com.sun.tools.classfile.TypeAnnotation$TargetType.ordinal:()I
            bipush 18
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic com.sun.tools.classfile.TypeAnnotation$TargetType.CLASS_EXTENDS:Lcom/sun/tools/classfile/TypeAnnotation$TargetType;
            invokevirtual com.sun.tools.classfile.TypeAnnotation$TargetType.ordinal:()I
            iconst_3
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic com.sun.tools.classfile.TypeAnnotation$TargetType.CLASS_TYPE_PARAMETER:Lcom/sun/tools/classfile/TypeAnnotation$TargetType;
            invokevirtual com.sun.tools.classfile.TypeAnnotation$TargetType.ordinal:()I
            iconst_1
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic com.sun.tools.classfile.TypeAnnotation$TargetType.CLASS_TYPE_PARAMETER_BOUND:Lcom/sun/tools/classfile/TypeAnnotation$TargetType;
            invokevirtual com.sun.tools.classfile.TypeAnnotation$TargetType.ordinal:()I
            iconst_4
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic com.sun.tools.classfile.TypeAnnotation$TargetType.CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT:Lcom/sun/tools/classfile/TypeAnnotation$TargetType;
            invokevirtual com.sun.tools.classfile.TypeAnnotation$TargetType.ordinal:()I
            bipush 19
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic com.sun.tools.classfile.TypeAnnotation$TargetType.CONSTRUCTOR_REFERENCE:Lcom/sun/tools/classfile/TypeAnnotation$TargetType;
            invokevirtual com.sun.tools.classfile.TypeAnnotation$TargetType.ordinal:()I
            bipush 16
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic com.sun.tools.classfile.TypeAnnotation$TargetType.CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT:Lcom/sun/tools/classfile/TypeAnnotation$TargetType;
            invokevirtual com.sun.tools.classfile.TypeAnnotation$TargetType.ordinal:()I
            bipush 21
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic com.sun.tools.classfile.TypeAnnotation$TargetType.EXCEPTION_PARAMETER:Lcom/sun/tools/classfile/TypeAnnotation$TargetType;
            invokevirtual com.sun.tools.classfile.TypeAnnotation$TargetType.ordinal:()I
            bipush 13
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic com.sun.tools.classfile.TypeAnnotation$TargetType.FIELD:Lcom/sun/tools/classfile/TypeAnnotation$TargetType;
            invokevirtual com.sun.tools.classfile.TypeAnnotation$TargetType.ordinal:()I
            bipush 6
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic com.sun.tools.classfile.TypeAnnotation$TargetType.INSTANCEOF:Lcom/sun/tools/classfile/TypeAnnotation$TargetType;
            invokevirtual com.sun.tools.classfile.TypeAnnotation$TargetType.ordinal:()I
            bipush 14
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic com.sun.tools.classfile.TypeAnnotation$TargetType.LOCAL_VARIABLE:Lcom/sun/tools/classfile/TypeAnnotation$TargetType;
            invokevirtual com.sun.tools.classfile.TypeAnnotation$TargetType.ordinal:()I
            bipush 11
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic com.sun.tools.classfile.TypeAnnotation$TargetType.METHOD_FORMAL_PARAMETER:Lcom/sun/tools/classfile/TypeAnnotation$TargetType;
            invokevirtual com.sun.tools.classfile.TypeAnnotation$TargetType.ordinal:()I
            bipush 9
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic com.sun.tools.classfile.TypeAnnotation$TargetType.METHOD_INVOCATION_TYPE_ARGUMENT:Lcom/sun/tools/classfile/TypeAnnotation$TargetType;
            invokevirtual com.sun.tools.classfile.TypeAnnotation$TargetType.ordinal:()I
            bipush 20
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic com.sun.tools.classfile.TypeAnnotation$TargetType.METHOD_RECEIVER:Lcom/sun/tools/classfile/TypeAnnotation$TargetType;
            invokevirtual com.sun.tools.classfile.TypeAnnotation$TargetType.ordinal:()I
            bipush 8
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            getstatic com.sun.tools.classfile.TypeAnnotation$TargetType.METHOD_REFERENCE:Lcom/sun/tools/classfile/TypeAnnotation$TargetType;
            invokevirtual com.sun.tools.classfile.TypeAnnotation$TargetType.ordinal:()I
            bipush 17
            iastore
        45: goto 47
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        46: pop
      StackMap locals:
      StackMap stack:
        47: aload 0
            getstatic com.sun.tools.classfile.TypeAnnotation$TargetType.METHOD_REFERENCE_TYPE_ARGUMENT:Lcom/sun/tools/classfile/TypeAnnotation$TargetType;
            invokevirtual com.sun.tools.classfile.TypeAnnotation$TargetType.ordinal:()I
            bipush 22
            iastore
        48: goto 50
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        49: pop
      StackMap locals:
      StackMap stack:
        50: aload 0
            getstatic com.sun.tools.classfile.TypeAnnotation$TargetType.METHOD_RETURN:Lcom/sun/tools/classfile/TypeAnnotation$TargetType;
            invokevirtual com.sun.tools.classfile.TypeAnnotation$TargetType.ordinal:()I
            bipush 7
            iastore
        51: goto 53
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        52: pop
      StackMap locals:
      StackMap stack:
        53: aload 0
            getstatic com.sun.tools.classfile.TypeAnnotation$TargetType.METHOD_TYPE_PARAMETER:Lcom/sun/tools/classfile/TypeAnnotation$TargetType;
            invokevirtual com.sun.tools.classfile.TypeAnnotation$TargetType.ordinal:()I
            iconst_2
            iastore
        54: goto 56
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        55: pop
      StackMap locals:
      StackMap stack:
        56: aload 0
            getstatic com.sun.tools.classfile.TypeAnnotation$TargetType.METHOD_TYPE_PARAMETER_BOUND:Lcom/sun/tools/classfile/TypeAnnotation$TargetType;
            invokevirtual com.sun.tools.classfile.TypeAnnotation$TargetType.ordinal:()I
            iconst_5
            iastore
        57: goto 59
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        58: pop
      StackMap locals:
      StackMap stack:
        59: aload 0
            getstatic com.sun.tools.classfile.TypeAnnotation$TargetType.NEW:Lcom/sun/tools/classfile/TypeAnnotation$TargetType;
            invokevirtual com.sun.tools.classfile.TypeAnnotation$TargetType.ordinal:()I
            bipush 15
            iastore
        60: goto 62
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        61: pop
      StackMap locals:
      StackMap stack:
        62: aload 0
            getstatic com.sun.tools.classfile.TypeAnnotation$TargetType.RESOURCE_VARIABLE:Lcom/sun/tools/classfile/TypeAnnotation$TargetType;
            invokevirtual com.sun.tools.classfile.TypeAnnotation$TargetType.ordinal:()I
            bipush 12
            iastore
        63: goto 65
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        64: pop
      StackMap locals:
      StackMap stack:
        65: aload 0
            getstatic com.sun.tools.classfile.TypeAnnotation$TargetType.THROWS:Lcom/sun/tools/classfile/TypeAnnotation$TargetType;
            invokevirtual com.sun.tools.classfile.TypeAnnotation$TargetType.ordinal:()I
            bipush 10
            iastore
        66: goto 68
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        67: pop
      StackMap locals:
      StackMap stack:
        68: aload 0
            getstatic com.sun.tools.classfile.TypeAnnotation$TargetType.UNKNOWN:Lcom/sun/tools/classfile/TypeAnnotation$TargetType;
            invokevirtual com.sun.tools.classfile.TypeAnnotation$TargetType.ordinal:()I
            bipush 23
            iastore
        69: goto 71
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        70: pop
      StackMap locals:
      StackMap stack:
        71: aload 0
            dup
            putstatic com.sun.tools.classfile.TypeAnnotation.$SWITCH_TABLE$com$sun$tools$classfile$TypeAnnotation$TargetType:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
          35    36      37  Class java.lang.NoSuchFieldError
          38    39      40  Class java.lang.NoSuchFieldError
          41    42      43  Class java.lang.NoSuchFieldError
          44    45      46  Class java.lang.NoSuchFieldError
          47    48      49  Class java.lang.NoSuchFieldError
          50    51      52  Class java.lang.NoSuchFieldError
          53    54      55  Class java.lang.NoSuchFieldError
          56    57      58  Class java.lang.NoSuchFieldError
          59    60      61  Class java.lang.NoSuchFieldError
          62    63      64  Class java.lang.NoSuchFieldError
          65    66      67  Class java.lang.NoSuchFieldError
          68    69      70  Class java.lang.NoSuchFieldError
}
SourceFile: "TypeAnnotation.java"
NestMembers:
  com.sun.tools.classfile.TypeAnnotation$Position  com.sun.tools.classfile.TypeAnnotation$Position$TypePathEntry  com.sun.tools.classfile.TypeAnnotation$Position$TypePathEntryKind  com.sun.tools.classfile.TypeAnnotation$TargetType
InnerClasses:
  InvalidAnnotation = com.sun.tools.classfile.Annotation$InvalidAnnotation of com.sun.tools.classfile.Annotation
  public Position = com.sun.tools.classfile.TypeAnnotation$Position of com.sun.tools.classfile.TypeAnnotation
  public TypePathEntry = com.sun.tools.classfile.TypeAnnotation$Position$TypePathEntry of com.sun.tools.classfile.TypeAnnotation$Position
  public final TargetType = com.sun.tools.classfile.TypeAnnotation$TargetType of com.sun.tools.classfile.TypeAnnotation