public class com.sun.tools.classfile.ConstantPool
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.classfile.ConstantPool
  super_class: java.lang.Object
{
  public static final int CONSTANT_Utf8;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int CONSTANT_Integer;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final int CONSTANT_Float;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final int CONSTANT_Long;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  public static final int CONSTANT_Double;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  public static final int CONSTANT_Class;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  public static final int CONSTANT_String;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  public static final int CONSTANT_Fieldref;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 9

  public static final int CONSTANT_Methodref;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  public static final int CONSTANT_InterfaceMethodref;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 11

  public static final int CONSTANT_NameAndType;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 12

  public static final int CONSTANT_MethodHandle;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 15

  public static final int CONSTANT_MethodType;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  public static final int CONSTANT_Dynamic;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 17

  public static final int CONSTANT_InvokeDynamic;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 18

  public static final int CONSTANT_Module;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 19

  public static final int CONSTANT_Package;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 20

  private com.sun.tools.classfile.ConstantPool$CPInfo[] pool;
    descriptor: [Lcom/sun/tools/classfile/ConstantPool$CPInfo;
    flags: (0x0002) ACC_PRIVATE

  void <init>(com.sun.tools.classfile.ClassReader);
    descriptor: (Lcom/sun/tools/classfile/ClassReader;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // com.sun.tools.classfile.ConstantPool this
        start local 1 // com.sun.tools.classfile.ClassReader cr
         0: .line 167
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 168
            aload 1 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.readUnsignedShort:()I
            istore 2 /* count */
        start local 2 // int count
         2: .line 169
            aload 0 /* this */
            iload 2 /* count */
            anewarray com.sun.tools.classfile.ConstantPool$CPInfo
            putfield com.sun.tools.classfile.ConstantPool.pool:[Lcom/sun/tools/classfile/ConstantPool$CPInfo;
         3: .line 170
            iconst_1
            istore 3 /* i */
        start local 3 // int i
         4: goto 45
         5: .line 171
      StackMap locals: com.sun.tools.classfile.ConstantPool com.sun.tools.classfile.ClassReader int int
      StackMap stack:
            aload 1 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.readUnsignedByte:()I
            istore 4 /* tag */
        start local 4 // int tag
         6: .line 172
            iload 4 /* tag */
            tableswitch { // 1 - 20
                    1: 41
                    2: 43
                    3: 16
                    4: 14
                    5: 24
                    6: 9
                    7: 7
                    8: 39
                    9: 12
                   10: 31
                   11: 18
                   12: 35
                   13: 43
                   14: 43
                   15: 27
                   16: 29
                   17: 22
                   18: 20
                   19: 33
                   20: 37
              default: 43
          }
         7: .line 174
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.classfile.ConstantPool.pool:[Lcom/sun/tools/classfile/ConstantPool$CPInfo;
            iload 3 /* i */
            new com.sun.tools.classfile.ConstantPool$CONSTANT_Class_info
            dup
            aload 0 /* this */
            aload 1 /* cr */
            invokespecial com.sun.tools.classfile.ConstantPool$CONSTANT_Class_info.<init>:(Lcom/sun/tools/classfile/ConstantPool;Lcom/sun/tools/classfile/ClassReader;)V
            aastore
         8: .line 175
            goto 44
         9: .line 178
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.classfile.ConstantPool.pool:[Lcom/sun/tools/classfile/ConstantPool$CPInfo;
            iload 3 /* i */
            new com.sun.tools.classfile.ConstantPool$CONSTANT_Double_info
            dup
            aload 1 /* cr */
            invokespecial com.sun.tools.classfile.ConstantPool$CONSTANT_Double_info.<init>:(Lcom/sun/tools/classfile/ClassReader;)V
            aastore
        10: .line 179
            iinc 3 /* i */ 1
        11: .line 180
            goto 44
        12: .line 183
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.classfile.ConstantPool.pool:[Lcom/sun/tools/classfile/ConstantPool$CPInfo;
            iload 3 /* i */
            new com.sun.tools.classfile.ConstantPool$CONSTANT_Fieldref_info
            dup
            aload 0 /* this */
            aload 1 /* cr */
            invokespecial com.sun.tools.classfile.ConstantPool$CONSTANT_Fieldref_info.<init>:(Lcom/sun/tools/classfile/ConstantPool;Lcom/sun/tools/classfile/ClassReader;)V
            aastore
        13: .line 184
            goto 44
        14: .line 187
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.classfile.ConstantPool.pool:[Lcom/sun/tools/classfile/ConstantPool$CPInfo;
            iload 3 /* i */
            new com.sun.tools.classfile.ConstantPool$CONSTANT_Float_info
            dup
            aload 1 /* cr */
            invokespecial com.sun.tools.classfile.ConstantPool$CONSTANT_Float_info.<init>:(Lcom/sun/tools/classfile/ClassReader;)V
            aastore
        15: .line 188
            goto 44
        16: .line 191
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.classfile.ConstantPool.pool:[Lcom/sun/tools/classfile/ConstantPool$CPInfo;
            iload 3 /* i */
            new com.sun.tools.classfile.ConstantPool$CONSTANT_Integer_info
            dup
            aload 1 /* cr */
            invokespecial com.sun.tools.classfile.ConstantPool$CONSTANT_Integer_info.<init>:(Lcom/sun/tools/classfile/ClassReader;)V
            aastore
        17: .line 192
            goto 44
        18: .line 195
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.classfile.ConstantPool.pool:[Lcom/sun/tools/classfile/ConstantPool$CPInfo;
            iload 3 /* i */
            new com.sun.tools.classfile.ConstantPool$CONSTANT_InterfaceMethodref_info
            dup
            aload 0 /* this */
            aload 1 /* cr */
            invokespecial com.sun.tools.classfile.ConstantPool$CONSTANT_InterfaceMethodref_info.<init>:(Lcom/sun/tools/classfile/ConstantPool;Lcom/sun/tools/classfile/ClassReader;)V
            aastore
        19: .line 196
            goto 44
        20: .line 199
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.classfile.ConstantPool.pool:[Lcom/sun/tools/classfile/ConstantPool$CPInfo;
            iload 3 /* i */
            new com.sun.tools.classfile.ConstantPool$CONSTANT_InvokeDynamic_info
            dup
            aload 0 /* this */
            aload 1 /* cr */
            invokespecial com.sun.tools.classfile.ConstantPool$CONSTANT_InvokeDynamic_info.<init>:(Lcom/sun/tools/classfile/ConstantPool;Lcom/sun/tools/classfile/ClassReader;)V
            aastore
        21: .line 200
            goto 44
        22: .line 203
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.classfile.ConstantPool.pool:[Lcom/sun/tools/classfile/ConstantPool$CPInfo;
            iload 3 /* i */
            new com.sun.tools.classfile.ConstantPool$CONSTANT_Dynamic_info
            dup
            aload 0 /* this */
            aload 1 /* cr */
            invokespecial com.sun.tools.classfile.ConstantPool$CONSTANT_Dynamic_info.<init>:(Lcom/sun/tools/classfile/ConstantPool;Lcom/sun/tools/classfile/ClassReader;)V
            aastore
        23: .line 204
            goto 44
        24: .line 207
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.classfile.ConstantPool.pool:[Lcom/sun/tools/classfile/ConstantPool$CPInfo;
            iload 3 /* i */
            new com.sun.tools.classfile.ConstantPool$CONSTANT_Long_info
            dup
            aload 1 /* cr */
            invokespecial com.sun.tools.classfile.ConstantPool$CONSTANT_Long_info.<init>:(Lcom/sun/tools/classfile/ClassReader;)V
            aastore
        25: .line 208
            iinc 3 /* i */ 1
        26: .line 209
            goto 44
        27: .line 212
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.classfile.ConstantPool.pool:[Lcom/sun/tools/classfile/ConstantPool$CPInfo;
            iload 3 /* i */
            new com.sun.tools.classfile.ConstantPool$CONSTANT_MethodHandle_info
            dup
            aload 0 /* this */
            aload 1 /* cr */
            invokespecial com.sun.tools.classfile.ConstantPool$CONSTANT_MethodHandle_info.<init>:(Lcom/sun/tools/classfile/ConstantPool;Lcom/sun/tools/classfile/ClassReader;)V
            aastore
        28: .line 213
            goto 44
        29: .line 216
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.classfile.ConstantPool.pool:[Lcom/sun/tools/classfile/ConstantPool$CPInfo;
            iload 3 /* i */
            new com.sun.tools.classfile.ConstantPool$CONSTANT_MethodType_info
            dup
            aload 0 /* this */
            aload 1 /* cr */
            invokespecial com.sun.tools.classfile.ConstantPool$CONSTANT_MethodType_info.<init>:(Lcom/sun/tools/classfile/ConstantPool;Lcom/sun/tools/classfile/ClassReader;)V
            aastore
        30: .line 217
            goto 44
        31: .line 220
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.classfile.ConstantPool.pool:[Lcom/sun/tools/classfile/ConstantPool$CPInfo;
            iload 3 /* i */
            new com.sun.tools.classfile.ConstantPool$CONSTANT_Methodref_info
            dup
            aload 0 /* this */
            aload 1 /* cr */
            invokespecial com.sun.tools.classfile.ConstantPool$CONSTANT_Methodref_info.<init>:(Lcom/sun/tools/classfile/ConstantPool;Lcom/sun/tools/classfile/ClassReader;)V
            aastore
        32: .line 221
            goto 44
        33: .line 224
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.classfile.ConstantPool.pool:[Lcom/sun/tools/classfile/ConstantPool$CPInfo;
            iload 3 /* i */
            new com.sun.tools.classfile.ConstantPool$CONSTANT_Module_info
            dup
            aload 0 /* this */
            aload 1 /* cr */
            invokespecial com.sun.tools.classfile.ConstantPool$CONSTANT_Module_info.<init>:(Lcom/sun/tools/classfile/ConstantPool;Lcom/sun/tools/classfile/ClassReader;)V
            aastore
        34: .line 225
            goto 44
        35: .line 228
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.classfile.ConstantPool.pool:[Lcom/sun/tools/classfile/ConstantPool$CPInfo;
            iload 3 /* i */
            new com.sun.tools.classfile.ConstantPool$CONSTANT_NameAndType_info
            dup
            aload 0 /* this */
            aload 1 /* cr */
            invokespecial com.sun.tools.classfile.ConstantPool$CONSTANT_NameAndType_info.<init>:(Lcom/sun/tools/classfile/ConstantPool;Lcom/sun/tools/classfile/ClassReader;)V
            aastore
        36: .line 229
            goto 44
        37: .line 232
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.classfile.ConstantPool.pool:[Lcom/sun/tools/classfile/ConstantPool$CPInfo;
            iload 3 /* i */
            new com.sun.tools.classfile.ConstantPool$CONSTANT_Package_info
            dup
            aload 0 /* this */
            aload 1 /* cr */
            invokespecial com.sun.tools.classfile.ConstantPool$CONSTANT_Package_info.<init>:(Lcom/sun/tools/classfile/ConstantPool;Lcom/sun/tools/classfile/ClassReader;)V
            aastore
        38: .line 233
            goto 44
        39: .line 236
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.classfile.ConstantPool.pool:[Lcom/sun/tools/classfile/ConstantPool$CPInfo;
            iload 3 /* i */
            new com.sun.tools.classfile.ConstantPool$CONSTANT_String_info
            dup
            aload 0 /* this */
            aload 1 /* cr */
            invokespecial com.sun.tools.classfile.ConstantPool$CONSTANT_String_info.<init>:(Lcom/sun/tools/classfile/ConstantPool;Lcom/sun/tools/classfile/ClassReader;)V
            aastore
        40: .line 237
            goto 44
        41: .line 240
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.classfile.ConstantPool.pool:[Lcom/sun/tools/classfile/ConstantPool$CPInfo;
            iload 3 /* i */
            new com.sun.tools.classfile.ConstantPool$CONSTANT_Utf8_info
            dup
            aload 1 /* cr */
            invokespecial com.sun.tools.classfile.ConstantPool$CONSTANT_Utf8_info.<init>:(Lcom/sun/tools/classfile/ClassReader;)V
            aastore
        42: .line 241
            goto 44
        43: .line 244
      StackMap locals:
      StackMap stack:
            new com.sun.tools.classfile.ConstantPool$InvalidEntry
            dup
            iload 3 /* i */
            iload 4 /* tag */
            invokespecial com.sun.tools.classfile.ConstantPool$InvalidEntry.<init>:(II)V
            athrow
        end local 4 // int tag
        44: .line 170
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        45: iload 3 /* i */
            iload 2 /* count */
            if_icmplt 5
        end local 3 // int i
        46: .line 247
            return
        end local 2 // int count
        end local 1 // com.sun.tools.classfile.ClassReader cr
        end local 0 // com.sun.tools.classfile.ConstantPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   47     0   this  Lcom/sun/tools/classfile/ConstantPool;
            0   47     1     cr  Lcom/sun/tools/classfile/ClassReader;
            2   47     2  count  I
            4   46     3      i  I
            6   44     4    tag  I
    Exceptions:
      throws java.io.IOException, com.sun.tools.classfile.ConstantPool$InvalidEntry
    MethodParameters:
      Name  Flags
      cr    

  public void <init>(com.sun.tools.classfile.ConstantPool$CPInfo[]);
    descriptor: ([Lcom/sun/tools/classfile/ConstantPool$CPInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.classfile.ConstantPool this
        start local 1 // com.sun.tools.classfile.ConstantPool$CPInfo[] pool
         0: .line 249
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 250
            aload 0 /* this */
            aload 1 /* pool */
            putfield com.sun.tools.classfile.ConstantPool.pool:[Lcom/sun/tools/classfile/ConstantPool$CPInfo;
         2: .line 251
            return
        end local 1 // com.sun.tools.classfile.ConstantPool$CPInfo[] pool
        end local 0 // com.sun.tools.classfile.ConstantPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/classfile/ConstantPool;
            0    3     1  pool  [Lcom/sun/tools/classfile/ConstantPool$CPInfo;
    MethodParameters:
      Name  Flags
      pool  

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.classfile.ConstantPool this
         0: .line 254
            aload 0 /* this */
            getfield com.sun.tools.classfile.ConstantPool.pool:[Lcom/sun/tools/classfile/ConstantPool$CPInfo;
            arraylength
            ireturn
        end local 0 // com.sun.tools.classfile.ConstantPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/classfile/ConstantPool;

  public int byteLength();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // com.sun.tools.classfile.ConstantPool this
         0: .line 258
            iconst_2
            istore 1 /* length */
        start local 1 // int length
         1: .line 259
            iconst_1
            istore 2 /* i */
        start local 2 // int i
         2: goto 6
         3: .line 260
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.classfile.ConstantPool.pool:[Lcom/sun/tools/classfile/ConstantPool$CPInfo;
            iload 2 /* i */
            aaload
            astore 3 /* cpInfo */
        start local 3 // com.sun.tools.classfile.ConstantPool$CPInfo cpInfo
         4: .line 261
            iload 1 /* length */
            aload 3 /* cpInfo */
            invokevirtual com.sun.tools.classfile.ConstantPool$CPInfo.byteLength:()I
            iadd
            istore 1 /* length */
         5: .line 262
            iload 2 /* i */
            aload 3 /* cpInfo */
            invokevirtual com.sun.tools.classfile.ConstantPool$CPInfo.size:()I
            iadd
            istore 2 /* i */
        end local 3 // com.sun.tools.classfile.ConstantPool$CPInfo cpInfo
         6: .line 259
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            aload 0 /* this */
            invokevirtual com.sun.tools.classfile.ConstantPool.size:()I
            if_icmplt 3
        end local 2 // int i
         7: .line 264
            iload 1 /* length */
            ireturn
        end local 1 // int length
        end local 0 // com.sun.tools.classfile.ConstantPool this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lcom/sun/tools/classfile/ConstantPool;
            1    8     1  length  I
            2    7     2       i  I
            4    6     3  cpInfo  Lcom/sun/tools/classfile/ConstantPool$CPInfo;

  public com.sun.tools.classfile.ConstantPool$CPInfo get(int);
    descriptor: (I)Lcom/sun/tools/classfile/ConstantPool$CPInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.tools.classfile.ConstantPool this
        start local 1 // int index
         0: .line 268
            iload 1 /* index */
            ifle 1
            iload 1 /* index */
            aload 0 /* this */
            getfield com.sun.tools.classfile.ConstantPool.pool:[Lcom/sun/tools/classfile/ConstantPool$CPInfo;
            arraylength
            if_icmplt 2
         1: .line 269
      StackMap locals:
      StackMap stack:
            new com.sun.tools.classfile.ConstantPool$InvalidIndex
            dup
            iload 1 /* index */
            invokespecial com.sun.tools.classfile.ConstantPool$InvalidIndex.<init>:(I)V
            athrow
         2: .line 270
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.classfile.ConstantPool.pool:[Lcom/sun/tools/classfile/ConstantPool$CPInfo;
            iload 1 /* index */
            aaload
            astore 2 /* info */
        start local 2 // com.sun.tools.classfile.ConstantPool$CPInfo info
         3: .line 271
            aload 2 /* info */
            ifnonnull 5
         4: .line 274
            new com.sun.tools.classfile.ConstantPool$InvalidIndex
            dup
            iload 1 /* index */
            invokespecial com.sun.tools.classfile.ConstantPool$InvalidIndex.<init>:(I)V
            athrow
         5: .line 276
      StackMap locals: com.sun.tools.classfile.ConstantPool$CPInfo
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.classfile.ConstantPool.pool:[Lcom/sun/tools/classfile/ConstantPool$CPInfo;
            iload 1 /* index */
            aaload
            areturn
        end local 2 // com.sun.tools.classfile.ConstantPool$CPInfo info
        end local 1 // int index
        end local 0 // com.sun.tools.classfile.ConstantPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lcom/sun/tools/classfile/ConstantPool;
            0    6     1  index  I
            3    6     2   info  Lcom/sun/tools/classfile/ConstantPool$CPInfo;
    Exceptions:
      throws com.sun.tools.classfile.ConstantPool$InvalidIndex
    MethodParameters:
       Name  Flags
      index  

  private com.sun.tools.classfile.ConstantPool$CPInfo get(int, int);
    descriptor: (II)Lcom/sun/tools/classfile/ConstantPool$CPInfo;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // com.sun.tools.classfile.ConstantPool this
        start local 1 // int index
        start local 2 // int expected_type
         0: .line 280
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual com.sun.tools.classfile.ConstantPool.get:(I)Lcom/sun/tools/classfile/ConstantPool$CPInfo;
            astore 3 /* info */
        start local 3 // com.sun.tools.classfile.ConstantPool$CPInfo info
         1: .line 281
            aload 3 /* info */
            invokevirtual com.sun.tools.classfile.ConstantPool$CPInfo.getTag:()I
            iload 2 /* expected_type */
            if_icmpeq 3
         2: .line 282
            new com.sun.tools.classfile.ConstantPool$UnexpectedEntry
            dup
            iload 1 /* index */
            iload 2 /* expected_type */
            aload 3 /* info */
            invokevirtual com.sun.tools.classfile.ConstantPool$CPInfo.getTag:()I
            invokespecial com.sun.tools.classfile.ConstantPool$UnexpectedEntry.<init>:(III)V
            athrow
         3: .line 283
      StackMap locals: com.sun.tools.classfile.ConstantPool$CPInfo
      StackMap stack:
            aload 3 /* info */
            areturn
        end local 3 // com.sun.tools.classfile.ConstantPool$CPInfo info
        end local 2 // int expected_type
        end local 1 // int index
        end local 0 // com.sun.tools.classfile.ConstantPool this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lcom/sun/tools/classfile/ConstantPool;
            0    4     1          index  I
            0    4     2  expected_type  I
            1    4     3           info  Lcom/sun/tools/classfile/ConstantPool$CPInfo;
    Exceptions:
      throws com.sun.tools.classfile.ConstantPool$InvalidIndex, com.sun.tools.classfile.ConstantPool$UnexpectedEntry
    MethodParameters:
               Name  Flags
      index          
      expected_type  

  public com.sun.tools.classfile.ConstantPool$CONSTANT_Utf8_info getUTF8Info(int);
    descriptor: (I)Lcom/sun/tools/classfile/ConstantPool$CONSTANT_Utf8_info;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.classfile.ConstantPool this
        start local 1 // int index
         0: .line 287
            aload 0 /* this */
            iload 1 /* index */
            iconst_1
            invokevirtual com.sun.tools.classfile.ConstantPool.get:(II)Lcom/sun/tools/classfile/ConstantPool$CPInfo;
            checkcast com.sun.tools.classfile.ConstantPool$CONSTANT_Utf8_info
            areturn
        end local 1 // int index
        end local 0 // com.sun.tools.classfile.ConstantPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/tools/classfile/ConstantPool;
            0    1     1  index  I
    Exceptions:
      throws com.sun.tools.classfile.ConstantPool$InvalidIndex, com.sun.tools.classfile.ConstantPool$UnexpectedEntry
    MethodParameters:
       Name  Flags
      index  

  public com.sun.tools.classfile.ConstantPool$CONSTANT_Class_info getClassInfo(int);
    descriptor: (I)Lcom/sun/tools/classfile/ConstantPool$CONSTANT_Class_info;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.classfile.ConstantPool this
        start local 1 // int index
         0: .line 291
            aload 0 /* this */
            iload 1 /* index */
            bipush 7
            invokevirtual com.sun.tools.classfile.ConstantPool.get:(II)Lcom/sun/tools/classfile/ConstantPool$CPInfo;
            checkcast com.sun.tools.classfile.ConstantPool$CONSTANT_Class_info
            areturn
        end local 1 // int index
        end local 0 // com.sun.tools.classfile.ConstantPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/tools/classfile/ConstantPool;
            0    1     1  index  I
    Exceptions:
      throws com.sun.tools.classfile.ConstantPool$InvalidIndex, com.sun.tools.classfile.ConstantPool$UnexpectedEntry
    MethodParameters:
       Name  Flags
      index  

  public com.sun.tools.classfile.ConstantPool$CONSTANT_Module_info getModuleInfo(int);
    descriptor: (I)Lcom/sun/tools/classfile/ConstantPool$CONSTANT_Module_info;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.classfile.ConstantPool this
        start local 1 // int index
         0: .line 295
            aload 0 /* this */
            iload 1 /* index */
            bipush 19
            invokevirtual com.sun.tools.classfile.ConstantPool.get:(II)Lcom/sun/tools/classfile/ConstantPool$CPInfo;
            checkcast com.sun.tools.classfile.ConstantPool$CONSTANT_Module_info
            areturn
        end local 1 // int index
        end local 0 // com.sun.tools.classfile.ConstantPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/tools/classfile/ConstantPool;
            0    1     1  index  I
    Exceptions:
      throws com.sun.tools.classfile.ConstantPool$InvalidIndex, com.sun.tools.classfile.ConstantPool$UnexpectedEntry
    MethodParameters:
       Name  Flags
      index  

  public com.sun.tools.classfile.ConstantPool$CONSTANT_NameAndType_info getNameAndTypeInfo(int);
    descriptor: (I)Lcom/sun/tools/classfile/ConstantPool$CONSTANT_NameAndType_info;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.classfile.ConstantPool this
        start local 1 // int index
         0: .line 299
            aload 0 /* this */
            iload 1 /* index */
            bipush 12
            invokevirtual com.sun.tools.classfile.ConstantPool.get:(II)Lcom/sun/tools/classfile/ConstantPool$CPInfo;
            checkcast com.sun.tools.classfile.ConstantPool$CONSTANT_NameAndType_info
            areturn
        end local 1 // int index
        end local 0 // com.sun.tools.classfile.ConstantPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/tools/classfile/ConstantPool;
            0    1     1  index  I
    Exceptions:
      throws com.sun.tools.classfile.ConstantPool$InvalidIndex, com.sun.tools.classfile.ConstantPool$UnexpectedEntry
    MethodParameters:
       Name  Flags
      index  

  public com.sun.tools.classfile.ConstantPool$CONSTANT_Package_info getPackageInfo(int);
    descriptor: (I)Lcom/sun/tools/classfile/ConstantPool$CONSTANT_Package_info;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.classfile.ConstantPool this
        start local 1 // int index
         0: .line 303
            aload 0 /* this */
            iload 1 /* index */
            bipush 20
            invokevirtual com.sun.tools.classfile.ConstantPool.get:(II)Lcom/sun/tools/classfile/ConstantPool$CPInfo;
            checkcast com.sun.tools.classfile.ConstantPool$CONSTANT_Package_info
            areturn
        end local 1 // int index
        end local 0 // com.sun.tools.classfile.ConstantPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/tools/classfile/ConstantPool;
            0    1     1  index  I
    Exceptions:
      throws com.sun.tools.classfile.ConstantPool$InvalidIndex, com.sun.tools.classfile.ConstantPool$UnexpectedEntry
    MethodParameters:
       Name  Flags
      index  

  public java.lang.String getUTF8Value(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.classfile.ConstantPool this
        start local 1 // int index
         0: .line 307
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual com.sun.tools.classfile.ConstantPool.getUTF8Info:(I)Lcom/sun/tools/classfile/ConstantPool$CONSTANT_Utf8_info;
            getfield com.sun.tools.classfile.ConstantPool$CONSTANT_Utf8_info.value:Ljava/lang/String;
            areturn
        end local 1 // int index
        end local 0 // com.sun.tools.classfile.ConstantPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/tools/classfile/ConstantPool;
            0    1     1  index  I
    Exceptions:
      throws com.sun.tools.classfile.ConstantPool$InvalidIndex, com.sun.tools.classfile.ConstantPool$UnexpectedEntry
    MethodParameters:
       Name  Flags
      index  

  public int getUTF8Index(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.sun.tools.classfile.ConstantPool this
        start local 1 // java.lang.String value
         0: .line 311
            iconst_1
            istore 2 /* i */
        start local 2 // int i
         1: goto 7
         2: .line 312
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.classfile.ConstantPool.pool:[Lcom/sun/tools/classfile/ConstantPool$CPInfo;
            iload 2 /* i */
            aaload
            astore 3 /* info */
        start local 3 // com.sun.tools.classfile.ConstantPool$CPInfo info
         3: .line 313
            aload 3 /* info */
            instanceof com.sun.tools.classfile.ConstantPool$CONSTANT_Utf8_info
            ifeq 6
         4: .line 314
            aload 3 /* info */
            checkcast com.sun.tools.classfile.ConstantPool$CONSTANT_Utf8_info
            getfield com.sun.tools.classfile.ConstantPool$CONSTANT_Utf8_info.value:Ljava/lang/String;
            aload 1 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 315
            iload 2 /* i */
            ireturn
        end local 3 // com.sun.tools.classfile.ConstantPool$CPInfo info
         6: .line 311
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 0 /* this */
            getfield com.sun.tools.classfile.ConstantPool.pool:[Lcom/sun/tools/classfile/ConstantPool$CPInfo;
            arraylength
            if_icmplt 2
        end local 2 // int i
         8: .line 317
            new com.sun.tools.classfile.ConstantPool$EntryNotFound
            dup
            aload 1 /* value */
            invokespecial com.sun.tools.classfile.ConstantPool$EntryNotFound.<init>:(Ljava/lang/Object;)V
            athrow
        end local 1 // java.lang.String value
        end local 0 // com.sun.tools.classfile.ConstantPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lcom/sun/tools/classfile/ConstantPool;
            0    9     1  value  Ljava/lang/String;
            1    8     2      i  I
            3    6     3   info  Lcom/sun/tools/classfile/ConstantPool$CPInfo;
    Exceptions:
      throws com.sun.tools.classfile.ConstantPool$EntryNotFound
    MethodParameters:
       Name  Flags
      value  

  public java.lang.Iterable<com.sun.tools.classfile.ConstantPool$CPInfo> entries();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.classfile.ConstantPool this
         0: .line 321
            aload 0 /* this */
            invokedynamic iterator(Lcom/sun/tools/classfile/ConstantPool;)Ljava/lang/Iterable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/util/Iterator;
                  com/sun/tools/classfile/ConstantPool.lambda$0()Ljava/util/Iterator; (7)
                  ()Ljava/util/Iterator;
            areturn
        end local 0 // com.sun.tools.classfile.ConstantPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/classfile/ConstantPool;
    Signature: ()Ljava/lang/Iterable<Lcom/sun/tools/classfile/ConstantPool$CPInfo;>;

  private java.util.Iterator lambda$0();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.tools.classfile.ConstantPool this
         0: .line 321
            new com.sun.tools.classfile.ConstantPool$1
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.classfile.ConstantPool$1.<init>:(Lcom/sun/tools/classfile/ConstantPool;)V
         1: .line 347
            areturn
        end local 0 // com.sun.tools.classfile.ConstantPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/classfile/ConstantPool;
}
SourceFile: "ConstantPool.java"
NestMembers:
  com.sun.tools.classfile.ConstantPool$1  com.sun.tools.classfile.ConstantPool$CONSTANT_Class_info  com.sun.tools.classfile.ConstantPool$CONSTANT_Double_info  com.sun.tools.classfile.ConstantPool$CONSTANT_Dynamic_info  com.sun.tools.classfile.ConstantPool$CONSTANT_Fieldref_info  com.sun.tools.classfile.ConstantPool$CONSTANT_Float_info  com.sun.tools.classfile.ConstantPool$CONSTANT_Integer_info  com.sun.tools.classfile.ConstantPool$CONSTANT_InterfaceMethodref_info  com.sun.tools.classfile.ConstantPool$CONSTANT_InvokeDynamic_info  com.sun.tools.classfile.ConstantPool$CONSTANT_Long_info  com.sun.tools.classfile.ConstantPool$CONSTANT_MethodHandle_info  com.sun.tools.classfile.ConstantPool$CONSTANT_MethodType_info  com.sun.tools.classfile.ConstantPool$CONSTANT_Methodref_info  com.sun.tools.classfile.ConstantPool$CONSTANT_Module_info  com.sun.tools.classfile.ConstantPool$CONSTANT_NameAndType_info  com.sun.tools.classfile.ConstantPool$CONSTANT_Package_info  com.sun.tools.classfile.ConstantPool$CONSTANT_String_info  com.sun.tools.classfile.ConstantPool$CONSTANT_Utf8_info  com.sun.tools.classfile.ConstantPool$CONSTANT_Utf8_info$1SizeOutputStream  com.sun.tools.classfile.ConstantPool$CPInfo  com.sun.tools.classfile.ConstantPool$CPRefInfo  com.sun.tools.classfile.ConstantPool$EntryNotFound  com.sun.tools.classfile.ConstantPool$InvalidEntry  com.sun.tools.classfile.ConstantPool$InvalidIndex  com.sun.tools.classfile.ConstantPool$RefKind  com.sun.tools.classfile.ConstantPool$UnexpectedEntry  com.sun.tools.classfile.ConstantPool$Visitor
InnerClasses:
  com.sun.tools.classfile.ConstantPool$1
  public CONSTANT_Class_info = com.sun.tools.classfile.ConstantPool$CONSTANT_Class_info of com.sun.tools.classfile.ConstantPool
  public CONSTANT_Double_info = com.sun.tools.classfile.ConstantPool$CONSTANT_Double_info of com.sun.tools.classfile.ConstantPool
  public CONSTANT_Dynamic_info = com.sun.tools.classfile.ConstantPool$CONSTANT_Dynamic_info of com.sun.tools.classfile.ConstantPool
  public CONSTANT_Fieldref_info = com.sun.tools.classfile.ConstantPool$CONSTANT_Fieldref_info of com.sun.tools.classfile.ConstantPool
  public CONSTANT_Float_info = com.sun.tools.classfile.ConstantPool$CONSTANT_Float_info of com.sun.tools.classfile.ConstantPool
  public CONSTANT_Integer_info = com.sun.tools.classfile.ConstantPool$CONSTANT_Integer_info of com.sun.tools.classfile.ConstantPool
  public CONSTANT_InterfaceMethodref_info = com.sun.tools.classfile.ConstantPool$CONSTANT_InterfaceMethodref_info of com.sun.tools.classfile.ConstantPool
  public CONSTANT_InvokeDynamic_info = com.sun.tools.classfile.ConstantPool$CONSTANT_InvokeDynamic_info of com.sun.tools.classfile.ConstantPool
  public CONSTANT_Long_info = com.sun.tools.classfile.ConstantPool$CONSTANT_Long_info of com.sun.tools.classfile.ConstantPool
  public CONSTANT_MethodHandle_info = com.sun.tools.classfile.ConstantPool$CONSTANT_MethodHandle_info of com.sun.tools.classfile.ConstantPool
  public CONSTANT_MethodType_info = com.sun.tools.classfile.ConstantPool$CONSTANT_MethodType_info of com.sun.tools.classfile.ConstantPool
  public CONSTANT_Methodref_info = com.sun.tools.classfile.ConstantPool$CONSTANT_Methodref_info of com.sun.tools.classfile.ConstantPool
  public CONSTANT_Module_info = com.sun.tools.classfile.ConstantPool$CONSTANT_Module_info of com.sun.tools.classfile.ConstantPool
  public CONSTANT_NameAndType_info = com.sun.tools.classfile.ConstantPool$CONSTANT_NameAndType_info of com.sun.tools.classfile.ConstantPool
  public CONSTANT_Package_info = com.sun.tools.classfile.ConstantPool$CONSTANT_Package_info of com.sun.tools.classfile.ConstantPool
  public CONSTANT_String_info = com.sun.tools.classfile.ConstantPool$CONSTANT_String_info of com.sun.tools.classfile.ConstantPool
  public CONSTANT_Utf8_info = com.sun.tools.classfile.ConstantPool$CONSTANT_Utf8_info of com.sun.tools.classfile.ConstantPool
  public abstract CPInfo = com.sun.tools.classfile.ConstantPool$CPInfo of com.sun.tools.classfile.ConstantPool
  public abstract CPRefInfo = com.sun.tools.classfile.ConstantPool$CPRefInfo of com.sun.tools.classfile.ConstantPool
  public EntryNotFound = com.sun.tools.classfile.ConstantPool$EntryNotFound of com.sun.tools.classfile.ConstantPool
  public InvalidEntry = com.sun.tools.classfile.ConstantPool$InvalidEntry of com.sun.tools.classfile.ConstantPool
  public InvalidIndex = com.sun.tools.classfile.ConstantPool$InvalidIndex of com.sun.tools.classfile.ConstantPool
  public final RefKind = com.sun.tools.classfile.ConstantPool$RefKind of com.sun.tools.classfile.ConstantPool
  public UnexpectedEntry = com.sun.tools.classfile.ConstantPool$UnexpectedEntry of com.sun.tools.classfile.ConstantPool
  public abstract Visitor = com.sun.tools.classfile.ConstantPool$Visitor of com.sun.tools.classfile.ConstantPool
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles