class jdk.internal.module.ModuleInfo$ConstantPool
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.internal.module.ModuleInfo$ConstantPool
  super_class: java.lang.Object
{
  static final int CONSTANT_Utf8;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  final jdk.internal.module.ModuleInfo$ConstantPool$Entry[] pool;
    descriptor: [Ljdk/internal/module/ModuleInfo$ConstantPool$Entry;
    flags: (0x0010) ACC_FINAL

  void <init>(java.io.DataInput);
    descriptor: (Ljava/io/DataInput;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=16, args_size=2
        start local 0 // jdk.internal.module.ModuleInfo$ConstantPool this
        start local 1 // java.io.DataInput in
         0: .line 735
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 736
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 2 /* count */
        start local 2 // int count
         2: .line 737
            aload 0 /* this */
            iload 2 /* count */
            anewarray jdk.internal.module.ModuleInfo$ConstantPool$Entry
            putfield jdk.internal.module.ModuleInfo$ConstantPool.pool:[Ljdk/internal/module/ModuleInfo$ConstantPool$Entry;
         3: .line 739
            iconst_1
            istore 3 /* i */
        start local 3 // int i
         4: goto 42
         5: .line 740
      StackMap locals: jdk.internal.module.ModuleInfo$ConstantPool java.io.DataInput int int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedByte:()I
            istore 4 /* tag */
        start local 4 // int tag
         6: .line 741
            iload 4 /* tag */
            tableswitch { // 1 - 20
                    1: 7
                    2: 38
                    3: 31
                    4: 28
                    5: 34
                    6: 13
                    7: 10
                    8: 10
                    9: 17
                   10: 17
                   11: 17
                   12: 17
                   13: 38
                   14: 38
                   15: 21
                   16: 25
                   17: 38
                   18: 17
                   19: 10
                   20: 10
              default: 38
          }
         7: .line 744
      StackMap locals: int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUTF:()Ljava/lang/String;
            astore 5 /* svalue */
        start local 5 // java.lang.String svalue
         8: .line 745
            aload 0 /* this */
            getfield jdk.internal.module.ModuleInfo$ConstantPool.pool:[Ljdk/internal/module/ModuleInfo$ConstantPool$Entry;
            iload 3 /* i */
            new jdk.internal.module.ModuleInfo$ConstantPool$ValueEntry
            dup
            iload 4 /* tag */
            aload 5 /* svalue */
            invokespecial jdk.internal.module.ModuleInfo$ConstantPool$ValueEntry.<init>:(ILjava/lang/Object;)V
            aastore
         9: .line 746
            goto 41
        end local 5 // java.lang.String svalue
        10: .line 752
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 6 /* index */
        start local 6 // int index
        11: .line 753
            aload 0 /* this */
            getfield jdk.internal.module.ModuleInfo$ConstantPool.pool:[Ljdk/internal/module/ModuleInfo$ConstantPool$Entry;
            iload 3 /* i */
            new jdk.internal.module.ModuleInfo$ConstantPool$IndexEntry
            dup
            iload 4 /* tag */
            iload 6 /* index */
            invokespecial jdk.internal.module.ModuleInfo$ConstantPool$IndexEntry.<init>:(II)V
            aastore
        12: .line 754
            goto 41
        end local 6 // int index
        13: .line 757
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readDouble:()D
            dstore 7 /* dvalue */
        start local 7 // double dvalue
        14: .line 758
            aload 0 /* this */
            getfield jdk.internal.module.ModuleInfo$ConstantPool.pool:[Ljdk/internal/module/ModuleInfo$ConstantPool$Entry;
            iload 3 /* i */
            new jdk.internal.module.ModuleInfo$ConstantPool$ValueEntry
            dup
            iload 4 /* tag */
            dload 7 /* dvalue */
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            invokespecial jdk.internal.module.ModuleInfo$ConstantPool$ValueEntry.<init>:(ILjava/lang/Object;)V
            aastore
        15: .line 759
            iinc 3 /* i */ 1
        16: .line 760
            goto 41
        end local 7 // double dvalue
        17: .line 767
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 9 /* index1 */
        start local 9 // int index1
        18: .line 768
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 10 /* index2 */
        start local 10 // int index2
        19: .line 769
            aload 0 /* this */
            getfield jdk.internal.module.ModuleInfo$ConstantPool.pool:[Ljdk/internal/module/ModuleInfo$ConstantPool$Entry;
            iload 3 /* i */
            new jdk.internal.module.ModuleInfo$ConstantPool$Index2Entry
            dup
            iload 4 /* tag */
            iload 9 /* index1 */
            iload 10 /* index2 */
            invokespecial jdk.internal.module.ModuleInfo$ConstantPool$Index2Entry.<init>:(III)V
            aastore
        20: .line 770
            goto 41
        end local 10 // int index2
        end local 9 // int index1
        21: .line 773
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedByte:()I
            istore 11 /* refKind */
        start local 11 // int refKind
        22: .line 774
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 6 /* index */
        start local 6 // int index
        23: .line 775
            aload 0 /* this */
            getfield jdk.internal.module.ModuleInfo$ConstantPool.pool:[Ljdk/internal/module/ModuleInfo$ConstantPool$Entry;
            iload 3 /* i */
            new jdk.internal.module.ModuleInfo$ConstantPool$Index2Entry
            dup
            iload 4 /* tag */
            iload 11 /* refKind */
            iload 6 /* index */
            invokespecial jdk.internal.module.ModuleInfo$ConstantPool$Index2Entry.<init>:(III)V
            aastore
        24: .line 776
            goto 41
        end local 11 // int refKind
        end local 6 // int index
        25: .line 779
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 6 /* index */
        start local 6 // int index
        26: .line 780
            aload 0 /* this */
            getfield jdk.internal.module.ModuleInfo$ConstantPool.pool:[Ljdk/internal/module/ModuleInfo$ConstantPool$Entry;
            iload 3 /* i */
            new jdk.internal.module.ModuleInfo$ConstantPool$IndexEntry
            dup
            iload 4 /* tag */
            iload 6 /* index */
            invokespecial jdk.internal.module.ModuleInfo$ConstantPool$IndexEntry.<init>:(II)V
            aastore
        27: .line 781
            goto 41
        end local 6 // int index
        28: .line 784
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readFloat:()F
            fstore 12 /* fvalue */
        start local 12 // float fvalue
        29: .line 785
            aload 0 /* this */
            getfield jdk.internal.module.ModuleInfo$ConstantPool.pool:[Ljdk/internal/module/ModuleInfo$ConstantPool$Entry;
            iload 3 /* i */
            new jdk.internal.module.ModuleInfo$ConstantPool$ValueEntry
            dup
            iload 4 /* tag */
            fload 12 /* fvalue */
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            invokespecial jdk.internal.module.ModuleInfo$ConstantPool$ValueEntry.<init>:(ILjava/lang/Object;)V
            aastore
        30: .line 786
            goto 41
        end local 12 // float fvalue
        31: .line 789
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readInt:()I
            istore 13 /* ivalue */
        start local 13 // int ivalue
        32: .line 790
            aload 0 /* this */
            getfield jdk.internal.module.ModuleInfo$ConstantPool.pool:[Ljdk/internal/module/ModuleInfo$ConstantPool$Entry;
            iload 3 /* i */
            new jdk.internal.module.ModuleInfo$ConstantPool$ValueEntry
            dup
            iload 4 /* tag */
            iload 13 /* ivalue */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokespecial jdk.internal.module.ModuleInfo$ConstantPool$ValueEntry.<init>:(ILjava/lang/Object;)V
            aastore
        33: .line 791
            goto 41
        end local 13 // int ivalue
        34: .line 794
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readLong:()J
            lstore 14 /* lvalue */
        start local 14 // long lvalue
        35: .line 795
            aload 0 /* this */
            getfield jdk.internal.module.ModuleInfo$ConstantPool.pool:[Ljdk/internal/module/ModuleInfo$ConstantPool$Entry;
            iload 3 /* i */
            new jdk.internal.module.ModuleInfo$ConstantPool$ValueEntry
            dup
            iload 4 /* tag */
            lload 14 /* lvalue */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokespecial jdk.internal.module.ModuleInfo$ConstantPool$ValueEntry.<init>:(ILjava/lang/Object;)V
            aastore
        36: .line 796
            iinc 3 /* i */ 1
        37: .line 797
            goto 41
        end local 14 // long lvalue
        38: .line 800
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Bad constant pool entry: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        39: .line 801
            iload 3 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        40: .line 800
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        end local 4 // int tag
        41: .line 739
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        42: iload 3 /* i */
            iload 2 /* count */
            if_icmplt 5
        end local 3 // int i
        43: .line 804
            return
        end local 2 // int count
        end local 1 // java.io.DataInput in
        end local 0 // jdk.internal.module.ModuleInfo$ConstantPool this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   44     0     this  Ljdk/internal/module/ModuleInfo$ConstantPool;
            0   44     1       in  Ljava/io/DataInput;
            2   44     2    count  I
            4   43     3        i  I
            6   41     4      tag  I
            8   10     5   svalue  Ljava/lang/String;
           11   13     6    index  I
           23   25     6    index  I
           26   28     6    index  I
           14   17     7   dvalue  D
           18   21     9   index1  I
           19   21    10   index2  I
           22   25    11  refKind  I
           29   31    12   fvalue  F
           32   34    13   ivalue  I
           35   38    14   lvalue  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      in    

  java.lang.String getClassName(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // jdk.internal.module.ModuleInfo$ConstantPool this
        start local 1 // int index
         0: .line 807
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.checkIndex:(I)V
         1: .line 808
            aload 0 /* this */
            getfield jdk.internal.module.ModuleInfo$ConstantPool.pool:[Ljdk/internal/module/ModuleInfo$ConstantPool$Entry;
            iload 1 /* index */
            aaload
            astore 2 /* e */
        start local 2 // jdk.internal.module.ModuleInfo$ConstantPool$Entry e
         2: .line 809
            aload 2 /* e */
            getfield jdk.internal.module.ModuleInfo$ConstantPool$Entry.tag:I
            bipush 7
            if_icmpeq 6
         3: .line 810
            new java.lang.StringBuilder
            dup
            ldc "CONSTANT_Class expected at entry: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 811
            iload 1 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         5: .line 810
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
         6: .line 813
      StackMap locals: jdk.internal.module.ModuleInfo$ConstantPool$Entry
      StackMap stack:
            aload 0 /* this */
            aload 2 /* e */
            checkcast jdk.internal.module.ModuleInfo$ConstantPool$IndexEntry
            getfield jdk.internal.module.ModuleInfo$ConstantPool$IndexEntry.index:I
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getUtf8:(I)Ljava/lang/String;
            astore 3 /* value */
        start local 3 // java.lang.String value
         7: .line 814
            aload 0 /* this */
            ldc "CONSTANT_Class"
            iload 1 /* index */
            aload 3 /* value */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.checkUnqualifiedName:(Ljava/lang/String;ILjava/lang/String;)V
         8: .line 815
            aload 3 /* value */
            bipush 47
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            areturn
        end local 3 // java.lang.String value
        end local 2 // jdk.internal.module.ModuleInfo$ConstantPool$Entry e
        end local 1 // int index
        end local 0 // jdk.internal.module.ModuleInfo$ConstantPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Ljdk/internal/module/ModuleInfo$ConstantPool;
            0    9     1  index  I
            2    9     2      e  Ljdk/internal/module/ModuleInfo$ConstantPool$Entry;
            7    9     3  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      index  

  java.lang.String getPackageName(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // jdk.internal.module.ModuleInfo$ConstantPool this
        start local 1 // int index
         0: .line 819
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.checkIndex:(I)V
         1: .line 820
            aload 0 /* this */
            getfield jdk.internal.module.ModuleInfo$ConstantPool.pool:[Ljdk/internal/module/ModuleInfo$ConstantPool$Entry;
            iload 1 /* index */
            aaload
            astore 2 /* e */
        start local 2 // jdk.internal.module.ModuleInfo$ConstantPool$Entry e
         2: .line 821
            aload 2 /* e */
            getfield jdk.internal.module.ModuleInfo$ConstantPool$Entry.tag:I
            bipush 20
            if_icmpeq 6
         3: .line 822
            new java.lang.StringBuilder
            dup
            ldc "CONSTANT_Package expected at entry: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 823
            iload 1 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         5: .line 822
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
         6: .line 825
      StackMap locals: jdk.internal.module.ModuleInfo$ConstantPool$Entry
      StackMap stack:
            aload 0 /* this */
            aload 2 /* e */
            checkcast jdk.internal.module.ModuleInfo$ConstantPool$IndexEntry
            getfield jdk.internal.module.ModuleInfo$ConstantPool$IndexEntry.index:I
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getUtf8:(I)Ljava/lang/String;
            astore 3 /* value */
        start local 3 // java.lang.String value
         7: .line 826
            aload 0 /* this */
            ldc "CONSTANT_Package"
            iload 1 /* index */
            aload 3 /* value */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.checkUnqualifiedName:(Ljava/lang/String;ILjava/lang/String;)V
         8: .line 827
            aload 3 /* value */
            bipush 47
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            areturn
        end local 3 // java.lang.String value
        end local 2 // jdk.internal.module.ModuleInfo$ConstantPool$Entry e
        end local 1 // int index
        end local 0 // jdk.internal.module.ModuleInfo$ConstantPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Ljdk/internal/module/ModuleInfo$ConstantPool;
            0    9     1  index  I
            2    9     2      e  Ljdk/internal/module/ModuleInfo$ConstantPool$Entry;
            7    9     3  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      index  

  java.lang.String getModuleName(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // jdk.internal.module.ModuleInfo$ConstantPool this
        start local 1 // int index
         0: .line 831
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.checkIndex:(I)V
         1: .line 832
            aload 0 /* this */
            getfield jdk.internal.module.ModuleInfo$ConstantPool.pool:[Ljdk/internal/module/ModuleInfo$ConstantPool$Entry;
            iload 1 /* index */
            aaload
            astore 2 /* e */
        start local 2 // jdk.internal.module.ModuleInfo$ConstantPool$Entry e
         2: .line 833
            aload 2 /* e */
            getfield jdk.internal.module.ModuleInfo$ConstantPool$Entry.tag:I
            bipush 19
            if_icmpeq 6
         3: .line 834
            new java.lang.StringBuilder
            dup
            ldc "CONSTANT_Module expected at entry: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 835
            iload 1 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         5: .line 834
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
         6: .line 837
      StackMap locals: jdk.internal.module.ModuleInfo$ConstantPool$Entry
      StackMap stack:
            aload 0 /* this */
            aload 2 /* e */
            checkcast jdk.internal.module.ModuleInfo$ConstantPool$IndexEntry
            getfield jdk.internal.module.ModuleInfo$ConstantPool$IndexEntry.index:I
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getUtf8:(I)Ljava/lang/String;
            astore 3 /* value */
        start local 3 // java.lang.String value
         7: .line 838
            aload 0 /* this */
            iload 1 /* index */
            aload 3 /* value */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.decodeModuleName:(ILjava/lang/String;)Ljava/lang/String;
            areturn
        end local 3 // java.lang.String value
        end local 2 // jdk.internal.module.ModuleInfo$ConstantPool$Entry e
        end local 1 // int index
        end local 0 // jdk.internal.module.ModuleInfo$ConstantPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Ljdk/internal/module/ModuleInfo$ConstantPool;
            0    8     1  index  I
            2    8     2      e  Ljdk/internal/module/ModuleInfo$ConstantPool$Entry;
            7    8     3  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      index  

  java.lang.String getUtf8(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.internal.module.ModuleInfo$ConstantPool this
        start local 1 // int index
         0: .line 842
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.checkIndex:(I)V
         1: .line 843
            aload 0 /* this */
            getfield jdk.internal.module.ModuleInfo$ConstantPool.pool:[Ljdk/internal/module/ModuleInfo$ConstantPool$Entry;
            iload 1 /* index */
            aaload
            astore 2 /* e */
        start local 2 // jdk.internal.module.ModuleInfo$ConstantPool$Entry e
         2: .line 844
            aload 2 /* e */
            getfield jdk.internal.module.ModuleInfo$ConstantPool$Entry.tag:I
            iconst_1
            if_icmpeq 6
         3: .line 845
            new java.lang.StringBuilder
            dup
            ldc "CONSTANT_Utf8 expected at entry: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 846
            iload 1 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         5: .line 845
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
         6: .line 848
      StackMap locals: jdk.internal.module.ModuleInfo$ConstantPool$Entry
      StackMap stack:
            aload 2 /* e */
            checkcast jdk.internal.module.ModuleInfo$ConstantPool$ValueEntry
            getfield jdk.internal.module.ModuleInfo$ConstantPool$ValueEntry.value:Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 2 // jdk.internal.module.ModuleInfo$ConstantPool$Entry e
        end local 1 // int index
        end local 0 // jdk.internal.module.ModuleInfo$ConstantPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Ljdk/internal/module/ModuleInfo$ConstantPool;
            0    7     1  index  I
            2    7     2      e  Ljdk/internal/module/ModuleInfo$ConstantPool$Entry;
    MethodParameters:
       Name  Flags
      index  

  void checkIndex(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.module.ModuleInfo$ConstantPool this
        start local 1 // int index
         0: .line 852
            iload 1 /* index */
            iconst_1
            if_icmplt 1
            iload 1 /* index */
            aload 0 /* this */
            getfield jdk.internal.module.ModuleInfo$ConstantPool.pool:[Ljdk/internal/module/ModuleInfo$ConstantPool$Entry;
            arraylength
            if_icmplt 2
         1: .line 853
      StackMap locals:
      StackMap stack:
            ldc "Index into constant pool out of range"
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
         2: .line 854
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int index
        end local 0 // jdk.internal.module.ModuleInfo$ConstantPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljdk/internal/module/ModuleInfo$ConstantPool;
            0    3     1  index  I
    MethodParameters:
       Name  Flags
      index  

  void checkUnqualifiedName(java.lang.String, int, java.lang.String);
    descriptor: (Ljava/lang/String;ILjava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // jdk.internal.module.ModuleInfo$ConstantPool this
        start local 1 // java.lang.String what
        start local 2 // int index
        start local 3 // java.lang.String value
         0: .line 857
            aload 3 /* value */
            invokevirtual java.lang.String.length:()I
            istore 4 /* len */
        start local 4 // int len
         1: .line 858
            iload 4 /* len */
            ifne 5
         2: .line 859
            new java.lang.StringBuilder
            dup
            aload 1 /* what */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " at entry "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         3: .line 860
            ldc " has zero length"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 859
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
         5: .line 862
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 14
         7: .line 863
      StackMap locals: int
      StackMap stack:
            aload 3 /* value */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* c */
        start local 6 // char c
         8: .line 864
            iload 6 /* c */
            bipush 46
            if_icmpeq 9
            iload 6 /* c */
            bipush 59
            if_icmpeq 9
            iload 6 /* c */
            bipush 91
            if_icmpne 13
         9: .line 865
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* what */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " at entry "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        10: .line 866
            ldc " has illegal character: '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 867
            iload 6 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 865
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        end local 6 // char c
        13: .line 862
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 5 /* i */
            iload 4 /* len */
            if_icmplt 7
        end local 5 // int i
        15: .line 870
            return
        end local 4 // int len
        end local 3 // java.lang.String value
        end local 2 // int index
        end local 1 // java.lang.String what
        end local 0 // jdk.internal.module.ModuleInfo$ConstantPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   16     0   this  Ljdk/internal/module/ModuleInfo$ConstantPool;
            0   16     1   what  Ljava/lang/String;
            0   16     2  index  I
            0   16     3  value  Ljava/lang/String;
            1   16     4    len  I
            6   15     5      i  I
            8   13     6      c  C
    MethodParameters:
       Name  Flags
      what   
      index  
      value  

  java.lang.String decodeModuleName(int, java.lang.String);
    descriptor: (ILjava/lang/String;)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // jdk.internal.module.ModuleInfo$ConstantPool this
        start local 1 // int index
        start local 2 // java.lang.String value
         0: .line 876
            aload 2 /* value */
            invokevirtual java.lang.String.length:()I
            istore 3 /* len */
        start local 3 // int len
         1: .line 877
            iload 3 /* len */
            ifne 5
         2: .line 878
            new java.lang.StringBuilder
            dup
            ldc "CONSTANT_Module at entry "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 879
            iload 1 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " is zero length"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 878
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
         5: .line 881
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: .line 882
            goto 16
         7: .line 883
      StackMap locals: int
      StackMap stack:
            aload 2 /* value */
            iload 4 /* i */
            invokevirtual java.lang.String.codePointAt:(I)I
            istore 5 /* cp */
        start local 5 // int cp
         8: .line 884
            iload 5 /* cp */
            bipush 58
            if_icmpeq 9
            iload 5 /* cp */
            bipush 64
            if_icmpeq 9
            iload 5 /* cp */
            bipush 32
            if_icmpge 13
         9: .line 885
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "CONSTANT_Module at entry "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        10: .line 886
            iload 1 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " has illegal character: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 887
            iload 5 /* cp */
            invokestatic java.lang.Character.getName:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 885
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        13: .line 891
      StackMap locals:
      StackMap stack:
            iload 5 /* cp */
            bipush 92
            if_icmpne 15
        14: .line 892
            aload 0 /* this */
            iload 1 /* index */
            iload 4 /* i */
            aload 2 /* value */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.decodeModuleName:(IILjava/lang/String;)Ljava/lang/String;
            areturn
        15: .line 894
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            iload 5 /* cp */
            invokestatic java.lang.Character.charCount:(I)I
            iadd
            istore 4 /* i */
        end local 5 // int cp
        16: .line 882
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            iload 3 /* len */
            if_icmplt 7
        17: .line 896
            aload 2 /* value */
            areturn
        end local 4 // int i
        end local 3 // int len
        end local 2 // java.lang.String value
        end local 1 // int index
        end local 0 // jdk.internal.module.ModuleInfo$ConstantPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   18     0   this  Ljdk/internal/module/ModuleInfo$ConstantPool;
            0   18     1  index  I
            0   18     2  value  Ljava/lang/String;
            1   18     3    len  I
            6   18     4      i  I
            8   16     5     cp  I
    MethodParameters:
       Name  Flags
      index  
      value  

  java.lang.String decodeModuleName(int, int, java.lang.String);
    descriptor: (IILjava/lang/String;)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=3, locals=9, args_size=4
        start local 0 // jdk.internal.module.ModuleInfo$ConstantPool this
        start local 1 // int index
        start local 2 // int i
        start local 3 // java.lang.String value
         0: .line 904
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 4 /* sb */
        start local 4 // java.lang.StringBuilder sb
         1: .line 907
            iconst_0
            istore 5 /* j */
        start local 5 // int j
         2: .line 908
            goto 6
         3: .line 909
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 3 /* value */
            iload 5 /* j */
            invokevirtual java.lang.String.codePointAt:(I)I
            istore 6 /* cp */
        start local 6 // int cp
         4: .line 910
            aload 4 /* sb */
            iload 6 /* cp */
            invokevirtual java.lang.StringBuilder.appendCodePoint:(I)Ljava/lang/StringBuilder;
            pop
         5: .line 911
            iload 5 /* j */
            iload 6 /* cp */
            invokestatic java.lang.Character.charCount:(I)I
            iadd
            istore 5 /* j */
        end local 6 // int cp
         6: .line 908
      StackMap locals:
      StackMap stack:
            iload 5 /* j */
            iload 2 /* i */
            if_icmplt 3
         7: .line 915
            aload 3 /* value */
            invokevirtual java.lang.String.length:()I
            istore 6 /* len */
        start local 6 // int len
         8: .line 916
            goto 33
         9: .line 917
      StackMap locals: int
      StackMap stack:
            aload 3 /* value */
            iload 2 /* i */
            invokevirtual java.lang.String.codePointAt:(I)I
            istore 7 /* cp */
        start local 7 // int cp
        10: .line 918
            iload 7 /* cp */
            bipush 58
            if_icmpeq 11
            iload 7 /* cp */
            bipush 64
            if_icmpeq 11
            iload 7 /* cp */
            bipush 32
            if_icmpge 15
        11: .line 919
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "CONSTANT_Module at entry "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        12: .line 920
            iload 1 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " has illegal character: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 921
            iload 7 /* cp */
            invokestatic java.lang.Character.getName:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 919
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        15: .line 925
      StackMap locals:
      StackMap stack:
            iload 7 /* cp */
            bipush 92
            if_icmpne 31
        16: .line 926
            iload 2 /* i */
            iload 7 /* cp */
            invokestatic java.lang.Character.charCount:(I)I
            iadd
            istore 5 /* j */
        17: .line 927
            iload 5 /* j */
            iload 6 /* len */
            if_icmplt 22
        18: .line 928
            new java.lang.StringBuilder
            dup
            ldc "CONSTANT_Module at entry "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        19: .line 929
            iload 1 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " has illegal "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        20: .line 930
            ldc "escape sequence"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        21: .line 928
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        22: .line 932
      StackMap locals:
      StackMap stack:
            aload 3 /* value */
            iload 5 /* j */
            invokevirtual java.lang.String.codePointAt:(I)I
            istore 8 /* next */
        start local 8 // int next
        23: .line 933
            iload 8 /* next */
            bipush 92
            if_icmpeq 28
            iload 8 /* next */
            bipush 58
            if_icmpeq 28
            iload 8 /* next */
            bipush 64
            if_icmpeq 28
        24: .line 934
            new java.lang.StringBuilder
            dup
            ldc "CONSTANT_Module at entry "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        25: .line 935
            iload 1 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " has illegal "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        26: .line 936
            ldc "escape sequence"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        27: .line 934
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        28: .line 938
      StackMap locals: int
      StackMap stack:
            aload 4 /* sb */
            iload 8 /* next */
            invokevirtual java.lang.StringBuilder.appendCodePoint:(I)Ljava/lang/StringBuilder;
            pop
        29: .line 939
            iload 2 /* i */
            iload 8 /* next */
            invokestatic java.lang.Character.charCount:(I)I
            iadd
            istore 2 /* i */
        end local 8 // int next
        30: .line 940
            goto 32
        31: .line 941
      StackMap locals:
      StackMap stack:
            aload 4 /* sb */
            iload 7 /* cp */
            invokevirtual java.lang.StringBuilder.appendCodePoint:(I)Ljava/lang/StringBuilder;
            pop
        32: .line 944
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            iload 7 /* cp */
            invokestatic java.lang.Character.charCount:(I)I
            iadd
            istore 2 /* i */
        end local 7 // int cp
        33: .line 916
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            iload 6 /* len */
            if_icmplt 9
        34: .line 946
            aload 4 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 6 // int len
        end local 5 // int j
        end local 4 // java.lang.StringBuilder sb
        end local 3 // java.lang.String value
        end local 2 // int i
        end local 1 // int index
        end local 0 // jdk.internal.module.ModuleInfo$ConstantPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   35     0   this  Ljdk/internal/module/ModuleInfo$ConstantPool;
            0   35     1  index  I
            0   35     2      i  I
            0   35     3  value  Ljava/lang/String;
            1   35     4     sb  Ljava/lang/StringBuilder;
            2   35     5      j  I
            4    6     6     cp  I
            8   35     6    len  I
           10   33     7     cp  I
           23   30     8   next  I
    MethodParameters:
       Name  Flags
      index  
      i      
      value  
}
SourceFile: "ModuleInfo.java"
NestHost: jdk.internal.module.ModuleInfo
InnerClasses:
  private ConstantPool = jdk.internal.module.ModuleInfo$ConstantPool of jdk.internal.module.ModuleInfo
  private Entry = jdk.internal.module.ModuleInfo$ConstantPool$Entry of jdk.internal.module.ModuleInfo$ConstantPool
  private Index2Entry = jdk.internal.module.ModuleInfo$ConstantPool$Index2Entry of jdk.internal.module.ModuleInfo$ConstantPool
  private IndexEntry = jdk.internal.module.ModuleInfo$ConstantPool$IndexEntry of jdk.internal.module.ModuleInfo$ConstantPool
  private ValueEntry = jdk.internal.module.ModuleInfo$ConstantPool$ValueEntry of jdk.internal.module.ModuleInfo$ConstantPool