public final class jdk.internal.module.ModuleInfo
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.internal.module.ModuleInfo
  super_class: java.lang.Object
{
  private static final jdk.internal.access.JavaLangModuleAccess JLMA;
    descriptor: Ljdk/internal/access/JavaLangModuleAccess;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.util.function.Supplier<java.util.Set<java.lang.String>> packageFinder;
    descriptor: Ljava/util/function/Supplier;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/function/Supplier<Ljava/util/Set<Ljava/lang/String;>;>;

  private final boolean parseHashes;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static volatile java.util.Set<java.lang.String> predefinedNotAllowed;
    descriptor: Ljava/util/Set;
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
    Signature: Ljava/util/Set<Ljava/lang/String;>;

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 64
            ldc Ljdk/internal/module/ModuleInfo;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic jdk.internal.module.ModuleInfo.$assertionsDisabled:Z
         3: .line 67
            invokestatic jdk.internal.access.SharedSecrets.getJavaLangModuleAccess:()Ljdk/internal/access/JavaLangModuleAccess;
         4: .line 66
            putstatic jdk.internal.module.ModuleInfo.JLMA:Ljdk/internal/access/JavaLangModuleAccess;
         5: .line 674
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(java.util.function.Supplier<java.util.Set<java.lang.String>>, );
    descriptor: (Ljava/util/function/Supplier;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.internal.module.ModuleInfo this
        start local 1 // java.util.function.Supplier pf
        start local 2 // boolean ph
         0: .line 75
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 76
            aload 0 /* this */
            aload 1 /* pf */
            putfield jdk.internal.module.ModuleInfo.packageFinder:Ljava/util/function/Supplier;
         2: .line 77
            aload 0 /* this */
            iload 2 /* ph */
            putfield jdk.internal.module.ModuleInfo.parseHashes:Z
         3: .line 78
            return
        end local 2 // boolean ph
        end local 1 // java.util.function.Supplier pf
        end local 0 // jdk.internal.module.ModuleInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/internal/module/ModuleInfo;
            0    4     1    pf  Ljava/util/function/Supplier<Ljava/util/Set<Ljava/lang/String;>;>;
            0    4     2    ph  Z
    Signature: (Ljava/util/function/Supplier<Ljava/util/Set<Ljava/lang/String;>;>;Z)V
    MethodParameters:
      Name  Flags
      pf    
      ph    

  private void <init>(java.util.function.Supplier<java.util.Set<java.lang.String>>);
    descriptor: (Ljava/util/function/Supplier;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.internal.module.ModuleInfo this
        start local 1 // java.util.function.Supplier pf
         0: .line 81
            aload 0 /* this */
            aload 1 /* pf */
            iconst_1
            invokespecial jdk.internal.module.ModuleInfo.<init>:(Ljava/util/function/Supplier;Z)V
         1: .line 82
            return
        end local 1 // java.util.function.Supplier pf
        end local 0 // jdk.internal.module.ModuleInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/module/ModuleInfo;
            0    2     1    pf  Ljava/util/function/Supplier<Ljava/util/Set<Ljava/lang/String;>;>;
    Signature: (Ljava/util/function/Supplier<Ljava/util/Set<Ljava/lang/String;>;>;)V
    MethodParameters:
      Name  Flags
      pf    

  public static jdk.internal.module.ModuleInfo$Attributes read(java.io.InputStream, java.util.function.Supplier<java.util.Set<java.lang.String>>);
    descriptor: (Ljava/io/InputStream;Ljava/util/function/Supplier;)Ljdk/internal/module/ModuleInfo$Attributes;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.io.InputStream in
        start local 1 // java.util.function.Supplier pf
         0: .line 129
            new jdk.internal.module.ModuleInfo
            dup
            aload 1 /* pf */
            invokespecial jdk.internal.module.ModuleInfo.<init>:(Ljava/util/function/Supplier;)V
            new java.io.DataInputStream
            dup
            aload 0 /* in */
            invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
            invokevirtual jdk.internal.module.ModuleInfo.doRead:(Ljava/io/DataInput;)Ljdk/internal/module/ModuleInfo$Attributes;
         1: areturn
         2: .line 130
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 2 /* e */
        start local 2 // java.lang.RuntimeException e
         3: .line 131
            aload 2 /* e */
            invokevirtual java.lang.RuntimeException.getMessage:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        end local 2 // java.lang.RuntimeException e
         4: .line 132
      StackMap locals:
      StackMap stack: java.io.EOFException
            pop
         5: .line 133
            invokestatic jdk.internal.module.ModuleInfo.truncatedModuleDescriptor:()Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        end local 1 // java.util.function.Supplier pf
        end local 0 // java.io.InputStream in
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0    in  Ljava/io/InputStream;
            0    6     1    pf  Ljava/util/function/Supplier<Ljava/util/Set<Ljava/lang/String;>;>;
            3    4     2     e  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalArgumentException
           0     1       2  Class java.lang.IllegalStateException
           0     1       4  Class java.io.EOFException
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/io/InputStream;Ljava/util/function/Supplier<Ljava/util/Set<Ljava/lang/String;>;>;)Ljdk/internal/module/ModuleInfo$Attributes;
    MethodParameters:
      Name  Flags
      in    
      pf    

  public static jdk.internal.module.ModuleInfo$Attributes read(java.nio.ByteBuffer, java.util.function.Supplier<java.util.Set<java.lang.String>>);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/util/function/Supplier;)Ljdk/internal/module/ModuleInfo$Attributes;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.nio.ByteBuffer bb
        start local 1 // java.util.function.Supplier pf
         0: .line 145
            new jdk.internal.module.ModuleInfo
            dup
            aload 1 /* pf */
            invokespecial jdk.internal.module.ModuleInfo.<init>:(Ljava/util/function/Supplier;)V
            new jdk.internal.module.ModuleInfo$DataInputWrapper
            dup
            aload 0 /* bb */
            invokespecial jdk.internal.module.ModuleInfo$DataInputWrapper.<init>:(Ljava/nio/ByteBuffer;)V
            invokevirtual jdk.internal.module.ModuleInfo.doRead:(Ljava/io/DataInput;)Ljdk/internal/module/ModuleInfo$Attributes;
         1: areturn
         2: .line 146
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 2 /* e */
        start local 2 // java.lang.RuntimeException e
         3: .line 147
            aload 2 /* e */
            invokevirtual java.lang.RuntimeException.getMessage:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        end local 2 // java.lang.RuntimeException e
         4: .line 148
      StackMap locals:
      StackMap stack: java.io.EOFException
            pop
         5: .line 149
            invokestatic jdk.internal.module.ModuleInfo.truncatedModuleDescriptor:()Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
         6: .line 150
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 2 /* ioe */
        start local 2 // java.io.IOException ioe
         7: .line 151
            new java.io.UncheckedIOException
            dup
            aload 2 /* ioe */
            invokespecial java.io.UncheckedIOException.<init>:(Ljava/io/IOException;)V
            athrow
        end local 2 // java.io.IOException ioe
        end local 1 // java.util.function.Supplier pf
        end local 0 // java.nio.ByteBuffer bb
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0    bb  Ljava/nio/ByteBuffer;
            0    8     1    pf  Ljava/util/function/Supplier<Ljava/util/Set<Ljava/lang/String;>;>;
            3    4     2     e  Ljava/lang/RuntimeException;
            7    8     2   ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalArgumentException
           0     1       2  Class java.lang.IllegalStateException
           0     1       4  Class java.io.EOFException
           0     1       6  Class java.io.IOException
    Signature: (Ljava/nio/ByteBuffer;Ljava/util/function/Supplier<Ljava/util/Set<Ljava/lang/String;>;>;)Ljdk/internal/module/ModuleInfo$Attributes;
    MethodParameters:
      Name  Flags
      bb    
      pf    

  public static jdk.internal.module.ModuleInfo$Attributes readIgnoringHashes(java.nio.ByteBuffer, java.util.function.Supplier<java.util.Set<java.lang.String>>);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/util/function/Supplier;)Ljdk/internal/module/ModuleInfo$Attributes;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.nio.ByteBuffer bb
        start local 1 // java.util.function.Supplier pf
         0: .line 164
            new jdk.internal.module.ModuleInfo
            dup
            aload 1 /* pf */
            iconst_0
            invokespecial jdk.internal.module.ModuleInfo.<init>:(Ljava/util/function/Supplier;Z)V
            new jdk.internal.module.ModuleInfo$DataInputWrapper
            dup
            aload 0 /* bb */
            invokespecial jdk.internal.module.ModuleInfo$DataInputWrapper.<init>:(Ljava/nio/ByteBuffer;)V
            invokevirtual jdk.internal.module.ModuleInfo.doRead:(Ljava/io/DataInput;)Ljdk/internal/module/ModuleInfo$Attributes;
         1: areturn
         2: .line 165
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 2 /* e */
        start local 2 // java.lang.RuntimeException e
         3: .line 166
            aload 2 /* e */
            invokevirtual java.lang.RuntimeException.getMessage:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        end local 2 // java.lang.RuntimeException e
         4: .line 167
      StackMap locals:
      StackMap stack: java.io.EOFException
            pop
         5: .line 168
            invokestatic jdk.internal.module.ModuleInfo.truncatedModuleDescriptor:()Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
         6: .line 169
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 2 /* ioe */
        start local 2 // java.io.IOException ioe
         7: .line 170
            new java.io.UncheckedIOException
            dup
            aload 2 /* ioe */
            invokespecial java.io.UncheckedIOException.<init>:(Ljava/io/IOException;)V
            athrow
        end local 2 // java.io.IOException ioe
        end local 1 // java.util.function.Supplier pf
        end local 0 // java.nio.ByteBuffer bb
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0    bb  Ljava/nio/ByteBuffer;
            0    8     1    pf  Ljava/util/function/Supplier<Ljava/util/Set<Ljava/lang/String;>;>;
            3    4     2     e  Ljava/lang/RuntimeException;
            7    8     2   ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalArgumentException
           0     1       2  Class java.lang.IllegalStateException
           0     1       4  Class java.io.EOFException
           0     1       6  Class java.io.IOException
    Signature: (Ljava/nio/ByteBuffer;Ljava/util/function/Supplier<Ljava/util/Set<Ljava/lang/String;>;>;)Ljdk/internal/module/ModuleInfo$Attributes;
    MethodParameters:
      Name  Flags
      bb    
      pf    

  private jdk.internal.module.ModuleInfo$Attributes doRead(java.io.DataInput);
    descriptor: (Ljava/io/DataInput;)Ljdk/internal/module/ModuleInfo$Attributes;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=27, args_size=2
        start local 0 // jdk.internal.module.ModuleInfo this
        start local 1 // java.io.DataInput in
         0: .line 185
            aload 1 /* in */
            invokeinterface java.io.DataInput.readInt:()I
            istore 2 /* magic */
        start local 2 // int magic
         1: .line 186
            iload 2 /* magic */
            ldc -889275714
            if_icmpeq 3
         2: .line 187
            ldc "Bad magic number"
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
         3: .line 189
      StackMap locals: int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 3 /* minor_version */
        start local 3 // int minor_version
         4: .line 190
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 4 /* major_version */
        start local 4 // int major_version
         5: .line 191
            iload 4 /* major_version */
            iload 3 /* minor_version */
            invokestatic jdk.internal.misc.VM.isSupportedModuleDescriptorVersion:(II)Z
            ifne 9
         6: .line 192
            new java.lang.StringBuilder
            dup
            ldc "Unsupported major.minor version "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 193
            iload 4 /* major_version */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* minor_version */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         8: .line 192
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
         9: .line 196
      StackMap locals: int int
      StackMap stack:
            new jdk.internal.module.ModuleInfo$ConstantPool
            dup
            aload 1 /* in */
            invokespecial jdk.internal.module.ModuleInfo$ConstantPool.<init>:(Ljava/io/DataInput;)V
            astore 5 /* cpool */
        start local 5 // jdk.internal.module.ModuleInfo$ConstantPool cpool
        10: .line 198
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 6 /* access_flags */
        start local 6 // int access_flags
        11: .line 199
            iload 6 /* access_flags */
            ldc 32768
            if_icmpeq 13
        12: .line 200
            ldc "access_flags should be ACC_MODULE"
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        13: .line 202
      StackMap locals: jdk.internal.module.ModuleInfo$ConstantPool int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 7 /* this_class */
        start local 7 // int this_class
        14: .line 203
            aload 5 /* cpool */
            iload 7 /* this_class */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getClassName:(I)Ljava/lang/String;
            astore 8 /* mn */
        start local 8 // java.lang.String mn
        15: .line 204
            ldc "module-info"
            aload 8 /* mn */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
        16: .line 205
            ldc "this_class should be module-info"
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        17: .line 207
      StackMap locals: int java.lang.String
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 9 /* super_class */
        start local 9 // int super_class
        18: .line 208
            iload 9 /* super_class */
            ifle 20
        19: .line 209
            ldc "bad #super_class"
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        20: .line 211
      StackMap locals: int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 10 /* interfaces_count */
        start local 10 // int interfaces_count
        21: .line 212
            iload 10 /* interfaces_count */
            ifle 23
        22: .line 213
            ldc "Bad #interfaces"
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        23: .line 215
      StackMap locals: int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 11 /* fields_count */
        start local 11 // int fields_count
        24: .line 216
            iload 11 /* fields_count */
            ifle 26
        25: .line 217
            ldc "Bad #fields"
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        26: .line 219
      StackMap locals: int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 12 /* methods_count */
        start local 12 // int methods_count
        27: .line 220
            iload 12 /* methods_count */
            ifle 29
        28: .line 221
            ldc "Bad #methods"
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        29: .line 223
      StackMap locals: int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 13 /* attributes_count */
        start local 13 // int attributes_count
        30: .line 226
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 14 /* attributes */
        start local 14 // java.util.Set attributes
        31: .line 228
            aconst_null
            astore 15 /* builder */
        start local 15 // java.lang.module.ModuleDescriptor$Builder builder
        32: .line 229
            aconst_null
            astore 16 /* allPackages */
        start local 16 // java.util.Set allPackages
        33: .line 230
            aconst_null
            astore 17 /* mainClass */
        start local 17 // java.lang.String mainClass
        34: .line 231
            aconst_null
            astore 18 /* moduleTarget */
        start local 18 // jdk.internal.module.ModuleTarget moduleTarget
        35: .line 232
            aconst_null
            astore 19 /* moduleHashes */
        start local 19 // jdk.internal.module.ModuleHashes moduleHashes
        36: .line 233
            aconst_null
            astore 20 /* moduleResolution */
        start local 20 // jdk.internal.module.ModuleResolution moduleResolution
        37: .line 235
            iconst_0
            istore 21 /* i */
        start local 21 // int i
        38: goto 75
        39: .line 236
      StackMap locals: jdk.internal.module.ModuleInfo java.io.DataInput int int int jdk.internal.module.ModuleInfo$ConstantPool int int java.lang.String int int int int int java.util.Set java.lang.module.ModuleDescriptor$Builder java.util.Set java.lang.String jdk.internal.module.ModuleTarget jdk.internal.module.ModuleHashes jdk.internal.module.ModuleResolution int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 22 /* name_index */
        start local 22 // int name_index
        40: .line 237
            aload 5 /* cpool */
            iload 22 /* name_index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getUtf8:(I)Ljava/lang/String;
            astore 23 /* attribute_name */
        start local 23 // java.lang.String attribute_name
        41: .line 238
            aload 1 /* in */
            invokeinterface java.io.DataInput.readInt:()I
            istore 24 /* length */
        start local 24 // int length
        42: .line 240
            aload 14 /* attributes */
            aload 23 /* attribute_name */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            istore 25 /* added */
        start local 25 // boolean added
        43: .line 241
            iload 25 /* added */
            ifne 47
            aload 23 /* attribute_name */
            invokestatic jdk.internal.module.ModuleInfo.isAttributeAtMostOnce:(Ljava/lang/String;)Z
            ifeq 47
        44: .line 242
            new java.lang.StringBuilder
            dup
            ldc "More than one "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        45: .line 243
            aload 23 /* attribute_name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " attribute"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        46: .line 242
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        47: .line 246
      StackMap locals: jdk.internal.module.ModuleInfo java.io.DataInput int int int jdk.internal.module.ModuleInfo$ConstantPool int int java.lang.String int int int int int java.util.Set java.lang.module.ModuleDescriptor$Builder java.util.Set java.lang.String jdk.internal.module.ModuleTarget jdk.internal.module.ModuleHashes jdk.internal.module.ModuleResolution int int java.lang.String int int
      StackMap stack:
            aload 23 /* attribute_name */
            dup
            astore 26
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 6
          -1984916852: 48
            539437144: 49
            654770073: 50
           1038813715: 51
           1103964136: 52
           1447483197: 53
              default: 69
          }
      StackMap locals: java.lang.String
      StackMap stack:
        48: aload 26
            ldc "Module"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 54
            goto 69
      StackMap locals:
      StackMap stack:
        49: aload 26
            ldc "ModuleResolution"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 67
            goto 69
      StackMap locals:
      StackMap stack:
        50: aload 26
            ldc "ModulePackages"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 56
            goto 69
      StackMap locals:
      StackMap stack:
        51: aload 26
            ldc "ModuleMainClass"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 58
            goto 69
      StackMap locals:
      StackMap stack:
        52: aload 26
            ldc "ModuleHashes"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 62
            goto 69
      StackMap locals:
      StackMap stack:
        53: aload 26
            ldc "ModuleTarget"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 60
            goto 69
        54: .line 249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* in */
            aload 5 /* cpool */
            iload 4 /* major_version */
            invokevirtual jdk.internal.module.ModuleInfo.readModuleAttribute:(Ljava/io/DataInput;Ljdk/internal/module/ModuleInfo$ConstantPool;I)Ljava/lang/module/ModuleDescriptor$Builder;
            astore 15 /* builder */
        55: .line 250
            goto 74
        56: .line 253
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* in */
            aload 5 /* cpool */
            invokevirtual jdk.internal.module.ModuleInfo.readModulePackagesAttribute:(Ljava/io/DataInput;Ljdk/internal/module/ModuleInfo$ConstantPool;)Ljava/util/Set;
            astore 16 /* allPackages */
        57: .line 254
            goto 74
        58: .line 257
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* in */
            aload 5 /* cpool */
            invokevirtual jdk.internal.module.ModuleInfo.readModuleMainClassAttribute:(Ljava/io/DataInput;Ljdk/internal/module/ModuleInfo$ConstantPool;)Ljava/lang/String;
            astore 17 /* mainClass */
        59: .line 258
            goto 74
        60: .line 261
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* in */
            aload 5 /* cpool */
            invokevirtual jdk.internal.module.ModuleInfo.readModuleTargetAttribute:(Ljava/io/DataInput;Ljdk/internal/module/ModuleInfo$ConstantPool;)Ljdk/internal/module/ModuleTarget;
            astore 18 /* moduleTarget */
        61: .line 262
            goto 74
        62: .line 265
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.module.ModuleInfo.parseHashes:Z
            ifeq 65
        63: .line 266
            aload 0 /* this */
            aload 1 /* in */
            aload 5 /* cpool */
            invokevirtual jdk.internal.module.ModuleInfo.readModuleHashesAttribute:(Ljava/io/DataInput;Ljdk/internal/module/ModuleInfo$ConstantPool;)Ljdk/internal/module/ModuleHashes;
            astore 19 /* moduleHashes */
        64: .line 267
            goto 74
        65: .line 268
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            iload 24 /* length */
            invokeinterface java.io.DataInput.skipBytes:(I)I
            pop
        66: .line 270
            goto 74
        67: .line 273
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* in */
            aload 5 /* cpool */
            invokevirtual jdk.internal.module.ModuleInfo.readModuleResolution:(Ljava/io/DataInput;Ljdk/internal/module/ModuleInfo$ConstantPool;)Ljdk/internal/module/ModuleResolution;
            astore 20 /* moduleResolution */
        68: .line 274
            goto 74
        69: .line 277
      StackMap locals:
      StackMap stack:
            aload 23 /* attribute_name */
            invokestatic jdk.internal.module.ModuleInfo.isAttributeDisallowed:(Ljava/lang/String;)Z
            ifeq 73
        70: .line 278
            new java.lang.StringBuilder
            dup
            aload 23 /* attribute_name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        71: .line 279
            ldc " attribute not allowed"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        72: .line 278
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        73: .line 281
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            iload 24 /* length */
            invokeinterface java.io.DataInput.skipBytes:(I)I
            pop
        end local 25 // boolean added
        end local 24 // int length
        end local 23 // java.lang.String attribute_name
        end local 22 // int name_index
        74: .line 235
      StackMap locals: jdk.internal.module.ModuleInfo java.io.DataInput int int int jdk.internal.module.ModuleInfo$ConstantPool int int java.lang.String int int int int int java.util.Set java.lang.module.ModuleDescriptor$Builder java.util.Set java.lang.String jdk.internal.module.ModuleTarget jdk.internal.module.ModuleHashes jdk.internal.module.ModuleResolution int
      StackMap stack:
            iinc 21 /* i */ 1
      StackMap locals:
      StackMap stack:
        75: iload 21 /* i */
            iload 13 /* attributes_count */
            if_icmplt 39
        end local 21 // int i
        76: .line 288
            aload 15 /* builder */
            ifnonnull 78
        77: .line 289
            ldc "Module attribute not found"
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        78: .line 293
      StackMap locals:
      StackMap stack:
            aload 17 /* mainClass */
            ifnull 80
        79: .line 294
            aload 15 /* builder */
            aload 17 /* mainClass */
            invokevirtual java.lang.module.ModuleDescriptor$Builder.mainClass:(Ljava/lang/String;)Ljava/lang/module/ModuleDescriptor$Builder;
            pop
        80: .line 299
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 21 /* usedPackageFinder */
        start local 21 // boolean usedPackageFinder
        81: .line 300
            aload 16 /* allPackages */
            ifnonnull 87
            aload 0 /* this */
            getfield jdk.internal.module.ModuleInfo.packageFinder:Ljava/util/function/Supplier;
            ifnull 87
        82: .line 302
            aload 0 /* this */
            getfield jdk.internal.module.ModuleInfo.packageFinder:Ljava/util/function/Supplier;
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            checkcast java.util.Set
            astore 16 /* allPackages */
        83: .line 303
            goto 86
      StackMap locals: jdk.internal.module.ModuleInfo java.io.DataInput int int int jdk.internal.module.ModuleInfo$ConstantPool int int java.lang.String int int int int int java.util.Set java.lang.module.ModuleDescriptor$Builder java.util.Set java.lang.String jdk.internal.module.ModuleTarget jdk.internal.module.ModuleHashes jdk.internal.module.ModuleResolution int
      StackMap stack: java.io.UncheckedIOException
        84: astore 22 /* x */
        start local 22 // java.io.UncheckedIOException x
        85: .line 304
            aload 22 /* x */
            invokevirtual java.io.UncheckedIOException.getCause:()Ljava/io/IOException;
            athrow
        end local 22 // java.io.UncheckedIOException x
        86: .line 306
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 21 /* usedPackageFinder */
        87: .line 308
      StackMap locals:
      StackMap stack:
            aload 16 /* allPackages */
            ifnull 100
        88: .line 309
            getstatic jdk.internal.module.ModuleInfo.JLMA:Ljdk/internal/access/JavaLangModuleAccess;
            aload 15 /* builder */
            invokeinterface jdk.internal.access.JavaLangModuleAccess.packages:(Ljava/lang/module/ModuleDescriptor$Builder;)Ljava/util/Set;
            astore 22 /* knownPackages */
        start local 22 // java.util.Set knownPackages
        89: .line 310
            aload 16 /* allPackages */
            aload 22 /* knownPackages */
            invokeinterface java.util.Set.containsAll:(Ljava/util/Collection;)Z
            ifne 99
        90: .line 311
            new java.util.HashSet
            dup
            aload 22 /* knownPackages */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 23 /* missingPackages */
        start local 23 // java.util.Set missingPackages
        91: .line 312
            aload 23 /* missingPackages */
            aload 16 /* allPackages */
            invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
            pop
        92: .line 313
            getstatic jdk.internal.module.ModuleInfo.$assertionsDisabled:Z
            ifne 93
            aload 23 /* missingPackages */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 93
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        93: .line 314
      StackMap locals: java.util.Set java.util.Set
      StackMap stack:
            aload 23 /* missingPackages */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 24 /* missingPackage */
        start local 24 // java.lang.String missingPackage
        94: .line 316
            iload 21 /* usedPackageFinder */
            ifeq 97
        95: .line 317
            ldc " not found in module"
            astore 25 /* tail */
        start local 25 // java.lang.String tail
        96: .line 318
            goto 98
        end local 25 // java.lang.String tail
        97: .line 319
      StackMap locals: java.lang.String
      StackMap stack:
            ldc " missing from ModulePackages class file attribute"
            astore 25 /* tail */
        start local 25 // java.lang.String tail
        98: .line 321
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Package "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 24 /* missingPackage */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 25 /* tail */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        end local 25 // java.lang.String tail
        end local 24 // java.lang.String missingPackage
        end local 23 // java.util.Set missingPackages
        99: .line 324
      StackMap locals:
      StackMap stack:
            aload 15 /* builder */
            aload 16 /* allPackages */
            invokevirtual java.lang.module.ModuleDescriptor$Builder.packages:(Ljava/util/Set;)Ljava/lang/module/ModuleDescriptor$Builder;
            pop
        end local 22 // java.util.Set knownPackages
       100: .line 327
      StackMap locals:
      StackMap stack:
            aload 15 /* builder */
            invokevirtual java.lang.module.ModuleDescriptor$Builder.build:()Ljava/lang/module/ModuleDescriptor;
            astore 22 /* descriptor */
        start local 22 // java.lang.module.ModuleDescriptor descriptor
       101: .line 328
            new jdk.internal.module.ModuleInfo$Attributes
            dup
            aload 22 /* descriptor */
       102: .line 329
            aload 18 /* moduleTarget */
       103: .line 330
            aload 19 /* moduleHashes */
       104: .line 331
            aload 20 /* moduleResolution */
       105: .line 328
            invokespecial jdk.internal.module.ModuleInfo$Attributes.<init>:(Ljava/lang/module/ModuleDescriptor;Ljdk/internal/module/ModuleTarget;Ljdk/internal/module/ModuleHashes;Ljdk/internal/module/ModuleResolution;)V
            areturn
        end local 22 // java.lang.module.ModuleDescriptor descriptor
        end local 21 // boolean usedPackageFinder
        end local 20 // jdk.internal.module.ModuleResolution moduleResolution
        end local 19 // jdk.internal.module.ModuleHashes moduleHashes
        end local 18 // jdk.internal.module.ModuleTarget moduleTarget
        end local 17 // java.lang.String mainClass
        end local 16 // java.util.Set allPackages
        end local 15 // java.lang.module.ModuleDescriptor$Builder builder
        end local 14 // java.util.Set attributes
        end local 13 // int attributes_count
        end local 12 // int methods_count
        end local 11 // int fields_count
        end local 10 // int interfaces_count
        end local 9 // int super_class
        end local 8 // java.lang.String mn
        end local 7 // int this_class
        end local 6 // int access_flags
        end local 5 // jdk.internal.module.ModuleInfo$ConstantPool cpool
        end local 4 // int major_version
        end local 3 // int minor_version
        end local 2 // int magic
        end local 1 // java.io.DataInput in
        end local 0 // jdk.internal.module.ModuleInfo this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0  106     0               this  Ljdk/internal/module/ModuleInfo;
            0  106     1                 in  Ljava/io/DataInput;
            1  106     2              magic  I
            4  106     3      minor_version  I
            5  106     4      major_version  I
           10  106     5              cpool  Ljdk/internal/module/ModuleInfo$ConstantPool;
           11  106     6       access_flags  I
           14  106     7         this_class  I
           15  106     8                 mn  Ljava/lang/String;
           18  106     9        super_class  I
           21  106    10   interfaces_count  I
           24  106    11       fields_count  I
           27  106    12      methods_count  I
           30  106    13   attributes_count  I
           31  106    14         attributes  Ljava/util/Set<Ljava/lang/String;>;
           32  106    15            builder  Ljava/lang/module/ModuleDescriptor$Builder;
           33  106    16        allPackages  Ljava/util/Set<Ljava/lang/String;>;
           34  106    17          mainClass  Ljava/lang/String;
           35  106    18       moduleTarget  Ljdk/internal/module/ModuleTarget;
           36  106    19       moduleHashes  Ljdk/internal/module/ModuleHashes;
           37  106    20   moduleResolution  Ljdk/internal/module/ModuleResolution;
           38   76    21                  i  I
           40   74    22         name_index  I
           41   74    23     attribute_name  Ljava/lang/String;
           42   74    24             length  I
           43   74    25              added  Z
           81  106    21  usedPackageFinder  Z
           85   86    22                  x  Ljava/io/UncheckedIOException;
           89  100    22      knownPackages  Ljava/util/Set<Ljava/lang/String;>;
           91   99    23    missingPackages  Ljava/util/Set<Ljava/lang/String;>;
           94   99    24     missingPackage  Ljava/lang/String;
           96   97    25               tail  Ljava/lang/String;
           98   99    25               tail  Ljava/lang/String;
          101  106    22         descriptor  Ljava/lang/module/ModuleDescriptor;
      Exception table:
        from    to  target  type
          82    83      84  Class java.io.UncheckedIOException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      in    

  private java.lang.module.ModuleDescriptor$Builder readModuleAttribute(java.io.DataInput, jdk.internal.module.ModuleInfo$ConstantPool, int);
    descriptor: (Ljava/io/DataInput;Ljdk/internal/module/ModuleInfo$ConstantPool;I)Ljava/lang/module/ModuleDescriptor$Builder;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=25, args_size=4
        start local 0 // jdk.internal.module.ModuleInfo this
        start local 1 // java.io.DataInput in
        start local 2 // jdk.internal.module.ModuleInfo$ConstantPool cpool
        start local 3 // int major
         0: .line 342
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 4 /* module_name_index */
        start local 4 // int module_name_index
         1: .line 343
            aload 2 /* cpool */
            iload 4 /* module_name_index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getModuleName:(I)Ljava/lang/String;
            astore 5 /* mn */
        start local 5 // java.lang.String mn
         2: .line 345
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 6 /* module_flags */
        start local 6 // int module_flags
         3: .line 347
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 7 /* modifiers */
        start local 7 // java.util.Set modifiers
         4: .line 348
            iload 6 /* module_flags */
            bipush 32
            iand
            ifeq 5
            iconst_1
            goto 6
      StackMap locals: jdk.internal.module.ModuleInfo java.io.DataInput jdk.internal.module.ModuleInfo$ConstantPool int int java.lang.String int java.util.Set
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 8 /* open */
        start local 8 // boolean open
         7: .line 349
            iload 8 /* open */
            ifeq 9
         8: .line 350
            aload 7 /* modifiers */
            getstatic java.lang.module.ModuleDescriptor$Modifier.OPEN:Ljava/lang/module/ModuleDescriptor$Modifier;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         9: .line 351
      StackMap locals: int
      StackMap stack:
            iload 6 /* module_flags */
            sipush 4096
            iand
            ifeq 11
        10: .line 352
            aload 7 /* modifiers */
            getstatic java.lang.module.ModuleDescriptor$Modifier.SYNTHETIC:Ljava/lang/module/ModuleDescriptor$Modifier;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        11: .line 353
      StackMap locals:
      StackMap stack:
            iload 6 /* module_flags */
            ldc 32768
            iand
            ifeq 13
        12: .line 354
            aload 7 /* modifiers */
            getstatic java.lang.module.ModuleDescriptor$Modifier.MANDATED:Ljava/lang/module/ModuleDescriptor$Modifier;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        13: .line 356
      StackMap locals:
      StackMap stack:
            getstatic jdk.internal.module.ModuleInfo.JLMA:Ljdk/internal/access/JavaLangModuleAccess;
            aload 5 /* mn */
            iconst_0
            aload 7 /* modifiers */
            invokeinterface jdk.internal.access.JavaLangModuleAccess.newModuleBuilder:(Ljava/lang/String;ZLjava/util/Set;)Ljava/lang/module/ModuleDescriptor$Builder;
            astore 9 /* builder */
        start local 9 // java.lang.module.ModuleDescriptor$Builder builder
        14: .line 358
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 10 /* module_version_index */
        start local 10 // int module_version_index
        15: .line 359
            iload 10 /* module_version_index */
            ifeq 18
        16: .line 360
            aload 2 /* cpool */
            iload 10 /* module_version_index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getUtf8:(I)Ljava/lang/String;
            astore 11 /* vs */
        start local 11 // java.lang.String vs
        17: .line 361
            aload 9 /* builder */
            aload 11 /* vs */
            invokevirtual java.lang.module.ModuleDescriptor$Builder.version:(Ljava/lang/String;)Ljava/lang/module/ModuleDescriptor$Builder;
            pop
        end local 11 // java.lang.String vs
        18: .line 364
      StackMap locals: java.lang.module.ModuleDescriptor$Builder int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 11 /* requires_count */
        start local 11 // int requires_count
        19: .line 365
            iconst_0
            istore 12 /* requiresJavaBase */
        start local 12 // boolean requiresJavaBase
        20: .line 366
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        21: goto 56
        22: .line 367
      StackMap locals: int int int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 14 /* requires_index */
        start local 14 // int requires_index
        23: .line 368
            aload 2 /* cpool */
            iload 14 /* requires_index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getModuleName:(I)Ljava/lang/String;
            astore 15 /* dn */
        start local 15 // java.lang.String dn
        24: .line 370
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 16 /* requires_flags */
        start local 16 // int requires_flags
        25: .line 372
            iload 16 /* requires_flags */
            ifne 28
        26: .line 373
            invokestatic java.util.Set.of:()Ljava/util/Set;
            astore 17 /* mods */
        start local 17 // java.util.Set mods
        27: .line 374
            goto 37
        end local 17 // java.util.Set mods
        28: .line 375
      StackMap locals: int java.lang.String int
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 17 /* mods */
        start local 17 // java.util.Set mods
        29: .line 376
            iload 16 /* requires_flags */
            bipush 32
            iand
            ifeq 31
        30: .line 377
            aload 17 /* mods */
            getstatic java.lang.module.ModuleDescriptor$Requires$Modifier.TRANSITIVE:Ljava/lang/module/ModuleDescriptor$Requires$Modifier;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        31: .line 378
      StackMap locals: java.util.Set
      StackMap stack:
            iload 16 /* requires_flags */
            bipush 64
            iand
            ifeq 33
        32: .line 379
            aload 17 /* mods */
            getstatic java.lang.module.ModuleDescriptor$Requires$Modifier.STATIC:Ljava/lang/module/ModuleDescriptor$Requires$Modifier;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        33: .line 380
      StackMap locals:
      StackMap stack:
            iload 16 /* requires_flags */
            sipush 4096
            iand
            ifeq 35
        34: .line 381
            aload 17 /* mods */
            getstatic java.lang.module.ModuleDescriptor$Requires$Modifier.SYNTHETIC:Ljava/lang/module/ModuleDescriptor$Requires$Modifier;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        35: .line 382
      StackMap locals:
      StackMap stack:
            iload 16 /* requires_flags */
            ldc 32768
            iand
            ifeq 37
        36: .line 383
            aload 17 /* mods */
            getstatic java.lang.module.ModuleDescriptor$Requires$Modifier.MANDATED:Ljava/lang/module/ModuleDescriptor$Requires$Modifier;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        37: .line 386
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 18 /* requires_version_index */
        start local 18 // int requires_version_index
        38: .line 387
            iload 18 /* requires_version_index */
            ifne 41
        39: .line 388
            aload 9 /* builder */
            aload 17 /* mods */
            aload 15 /* dn */
            invokevirtual java.lang.module.ModuleDescriptor$Builder.requires:(Ljava/util/Set;Ljava/lang/String;)Ljava/lang/module/ModuleDescriptor$Builder;
            pop
        40: .line 389
            goto 43
        41: .line 390
      StackMap locals: int
      StackMap stack:
            aload 2 /* cpool */
            iload 18 /* requires_version_index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getUtf8:(I)Ljava/lang/String;
            astore 19 /* vs */
        start local 19 // java.lang.String vs
        42: .line 391
            getstatic jdk.internal.module.ModuleInfo.JLMA:Ljdk/internal/access/JavaLangModuleAccess;
            aload 9 /* builder */
            aload 17 /* mods */
            aload 15 /* dn */
            aload 19 /* vs */
            invokeinterface jdk.internal.access.JavaLangModuleAccess.requires:(Ljava/lang/module/ModuleDescriptor$Builder;Ljava/util/Set;Ljava/lang/String;Ljava/lang/String;)V
        end local 19 // java.lang.String vs
        43: .line 394
      StackMap locals:
      StackMap stack:
            aload 15 /* dn */
            ldc "java.base"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 55
        44: .line 395
            iload 3 /* major */
            bipush 54
            if_icmplt 54
        45: .line 396
            aload 17 /* mods */
            getstatic java.lang.module.ModuleDescriptor$Requires$Modifier.TRANSITIVE:Ljava/lang/module/ModuleDescriptor$Requires$Modifier;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 47
        46: .line 397
            aload 17 /* mods */
            getstatic java.lang.module.ModuleDescriptor$Requires$Modifier.STATIC:Ljava/lang/module/ModuleDescriptor$Requires$Modifier;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 54
        47: .line 399
      StackMap locals:
      StackMap stack:
            aload 17 /* mods */
            getstatic java.lang.module.ModuleDescriptor$Requires$Modifier.TRANSITIVE:Ljava/lang/module/ModuleDescriptor$Requires$Modifier;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 50
        48: .line 400
            ldc "ACC_TRANSITIVE"
            astore 19 /* flagName */
        start local 19 // java.lang.String flagName
        49: .line 401
            goto 51
        end local 19 // java.lang.String flagName
        50: .line 402
      StackMap locals:
      StackMap stack:
            ldc "ACC_STATIC_PHASE"
            astore 19 /* flagName */
        start local 19 // java.lang.String flagName
        51: .line 404
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "The requires entry for java.base has "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        52: .line 405
            aload 19 /* flagName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " set"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        53: .line 404
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        end local 19 // java.lang.String flagName
        54: .line 407
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 12 /* requiresJavaBase */
        end local 18 // int requires_version_index
        end local 17 // java.util.Set mods
        end local 16 // int requires_flags
        end local 15 // java.lang.String dn
        end local 14 // int requires_index
        55: .line 366
      StackMap locals: jdk.internal.module.ModuleInfo java.io.DataInput jdk.internal.module.ModuleInfo$ConstantPool int int java.lang.String int java.util.Set int java.lang.module.ModuleDescriptor$Builder int int int int
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        56: iload 13 /* i */
            iload 11 /* requires_count */
            if_icmplt 22
        end local 13 // int i
        57: .line 410
            aload 5 /* mn */
            ldc "java.base"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 60
        58: .line 411
            iload 11 /* requires_count */
            ifle 62
        59: .line 412
            ldc "The requires table for java.base must be 0 length"
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        60: .line 415
      StackMap locals:
      StackMap stack:
            iload 12 /* requiresJavaBase */
            ifne 62
        61: .line 416
            ldc "The requires table must have an entry for java.base"
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        62: .line 420
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 13 /* exports_count */
        start local 13 // int exports_count
        63: .line 421
            iload 13 /* exports_count */
            ifle 95
        64: .line 422
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        65: goto 94
        66: .line 423
      StackMap locals: int int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 15 /* exports_index */
        start local 15 // int exports_index
        67: .line 424
            aload 2 /* cpool */
            iload 15 /* exports_index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getPackageName:(I)Ljava/lang/String;
            astore 16 /* pkg */
        start local 16 // java.lang.String pkg
        68: .line 427
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 18 /* exports_flags */
        start local 18 // int exports_flags
        69: .line 428
            iload 18 /* exports_flags */
            ifne 72
        70: .line 429
            invokestatic java.util.Set.of:()Ljava/util/Set;
            astore 17 /* mods */
        start local 17 // java.util.Set mods
        71: .line 430
            goto 77
        end local 17 // java.util.Set mods
        72: .line 431
      StackMap locals: jdk.internal.module.ModuleInfo java.io.DataInput jdk.internal.module.ModuleInfo$ConstantPool int int java.lang.String int java.util.Set int java.lang.module.ModuleDescriptor$Builder int int int int int int java.lang.String top int
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 17 /* mods */
        start local 17 // java.util.Set mods
        73: .line 432
            iload 18 /* exports_flags */
            sipush 4096
            iand
            ifeq 75
        74: .line 433
            aload 17 /* mods */
            getstatic java.lang.module.ModuleDescriptor$Exports$Modifier.SYNTHETIC:Ljava/lang/module/ModuleDescriptor$Exports$Modifier;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        75: .line 434
      StackMap locals: jdk.internal.module.ModuleInfo java.io.DataInput jdk.internal.module.ModuleInfo$ConstantPool int int java.lang.String int java.util.Set int java.lang.module.ModuleDescriptor$Builder int int int int int int java.lang.String java.util.Set int
      StackMap stack:
            iload 18 /* exports_flags */
            ldc 32768
            iand
            ifeq 77
        76: .line 435
            aload 17 /* mods */
            getstatic java.lang.module.ModuleDescriptor$Exports$Modifier.MANDATED:Ljava/lang/module/ModuleDescriptor$Exports$Modifier;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        77: .line 438
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 19 /* exports_to_count */
        start local 19 // int exports_to_count
        78: .line 439
            iload 19 /* exports_to_count */
            ifle 92
        79: .line 440
            new java.util.HashSet
            dup
            iload 19 /* exports_to_count */
            invokespecial java.util.HashSet.<init>:(I)V
            astore 20 /* targets */
        start local 20 // java.util.Set targets
        80: .line 441
            iconst_0
            istore 21 /* j */
        start local 21 // int j
        81: goto 89
        82: .line 442
      StackMap locals: int java.util.Set int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 22 /* exports_to_index */
        start local 22 // int exports_to_index
        83: .line 443
            aload 2 /* cpool */
            iload 22 /* exports_to_index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getModuleName:(I)Ljava/lang/String;
            astore 23 /* target */
        start local 23 // java.lang.String target
        84: .line 444
            aload 20 /* targets */
            aload 23 /* target */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifne 88
        85: .line 445
            new java.lang.StringBuilder
            dup
            aload 16 /* pkg */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " exported to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        86: .line 446
            aload 23 /* target */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " more than once"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        87: .line 445
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        end local 23 // java.lang.String target
        end local 22 // int exports_to_index
        88: .line 441
      StackMap locals:
      StackMap stack:
            iinc 21 /* j */ 1
      StackMap locals:
      StackMap stack:
        89: iload 21 /* j */
            iload 19 /* exports_to_count */
            if_icmplt 82
        end local 21 // int j
        90: .line 449
            aload 9 /* builder */
            aload 17 /* mods */
            aload 16 /* pkg */
            aload 20 /* targets */
            invokevirtual java.lang.module.ModuleDescriptor$Builder.exports:(Ljava/util/Set;Ljava/lang/String;Ljava/util/Set;)Ljava/lang/module/ModuleDescriptor$Builder;
            pop
        end local 20 // java.util.Set targets
        91: .line 450
            goto 93
        92: .line 451
      StackMap locals:
      StackMap stack:
            aload 9 /* builder */
            aload 17 /* mods */
            aload 16 /* pkg */
            invokevirtual java.lang.module.ModuleDescriptor$Builder.exports:(Ljava/util/Set;Ljava/lang/String;)Ljava/lang/module/ModuleDescriptor$Builder;
            pop
        end local 19 // int exports_to_count
        end local 18 // int exports_flags
        end local 17 // java.util.Set mods
        end local 16 // java.lang.String pkg
        end local 15 // int exports_index
        93: .line 422
      StackMap locals: jdk.internal.module.ModuleInfo java.io.DataInput jdk.internal.module.ModuleInfo$ConstantPool int int java.lang.String int java.util.Set int java.lang.module.ModuleDescriptor$Builder int int int int int
      StackMap stack:
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
        94: iload 14 /* i */
            iload 13 /* exports_count */
            if_icmplt 66
        end local 14 // int i
        95: .line 456
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 14 /* opens_count */
        start local 14 // int opens_count
        96: .line 457
            iload 14 /* opens_count */
            ifle 130
        97: .line 458
            iload 8 /* open */
            ifeq 99
        98: .line 459
            ldc "The opens table for an open module must be 0 length"
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        99: .line 462
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 15 /* i */
        start local 15 // int i
       100: goto 129
       101: .line 463
      StackMap locals: int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 16 /* opens_index */
        start local 16 // int opens_index
       102: .line 464
            aload 2 /* cpool */
            iload 16 /* opens_index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getPackageName:(I)Ljava/lang/String;
            astore 17 /* pkg */
        start local 17 // java.lang.String pkg
       103: .line 467
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 19 /* opens_flags */
        start local 19 // int opens_flags
       104: .line 468
            iload 19 /* opens_flags */
            ifne 107
       105: .line 469
            invokestatic java.util.Set.of:()Ljava/util/Set;
            astore 18 /* mods */
        start local 18 // java.util.Set mods
       106: .line 470
            goto 112
        end local 18 // java.util.Set mods
       107: .line 471
      StackMap locals: jdk.internal.module.ModuleInfo java.io.DataInput jdk.internal.module.ModuleInfo$ConstantPool int int java.lang.String int java.util.Set int java.lang.module.ModuleDescriptor$Builder int int int int int int int java.lang.String top int
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 18 /* mods */
        start local 18 // java.util.Set mods
       108: .line 472
            iload 19 /* opens_flags */
            sipush 4096
            iand
            ifeq 110
       109: .line 473
            aload 18 /* mods */
            getstatic java.lang.module.ModuleDescriptor$Opens$Modifier.SYNTHETIC:Ljava/lang/module/ModuleDescriptor$Opens$Modifier;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
       110: .line 474
      StackMap locals: jdk.internal.module.ModuleInfo java.io.DataInput jdk.internal.module.ModuleInfo$ConstantPool int int java.lang.String int java.util.Set int java.lang.module.ModuleDescriptor$Builder int int int int int int int java.lang.String java.util.Set int
      StackMap stack:
            iload 19 /* opens_flags */
            ldc 32768
            iand
            ifeq 112
       111: .line 475
            aload 18 /* mods */
            getstatic java.lang.module.ModuleDescriptor$Opens$Modifier.MANDATED:Ljava/lang/module/ModuleDescriptor$Opens$Modifier;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
       112: .line 478
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 20 /* open_to_count */
        start local 20 // int open_to_count
       113: .line 479
            iload 20 /* open_to_count */
            ifle 127
       114: .line 480
            new java.util.HashSet
            dup
            iload 20 /* open_to_count */
            invokespecial java.util.HashSet.<init>:(I)V
            astore 21 /* targets */
        start local 21 // java.util.Set targets
       115: .line 481
            iconst_0
            istore 22 /* j */
        start local 22 // int j
       116: goto 124
       117: .line 482
      StackMap locals: int java.util.Set int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 23 /* opens_to_index */
        start local 23 // int opens_to_index
       118: .line 483
            aload 2 /* cpool */
            iload 23 /* opens_to_index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getModuleName:(I)Ljava/lang/String;
            astore 24 /* target */
        start local 24 // java.lang.String target
       119: .line 484
            aload 21 /* targets */
            aload 24 /* target */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifne 123
       120: .line 485
            new java.lang.StringBuilder
            dup
            aload 17 /* pkg */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " opened to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       121: .line 486
            aload 24 /* target */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " more than once"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       122: .line 485
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        end local 24 // java.lang.String target
        end local 23 // int opens_to_index
       123: .line 481
      StackMap locals:
      StackMap stack:
            iinc 22 /* j */ 1
      StackMap locals:
      StackMap stack:
       124: iload 22 /* j */
            iload 20 /* open_to_count */
            if_icmplt 117
        end local 22 // int j
       125: .line 489
            aload 9 /* builder */
            aload 18 /* mods */
            aload 17 /* pkg */
            aload 21 /* targets */
            invokevirtual java.lang.module.ModuleDescriptor$Builder.opens:(Ljava/util/Set;Ljava/lang/String;Ljava/util/Set;)Ljava/lang/module/ModuleDescriptor$Builder;
            pop
        end local 21 // java.util.Set targets
       126: .line 490
            goto 128
       127: .line 491
      StackMap locals:
      StackMap stack:
            aload 9 /* builder */
            aload 18 /* mods */
            aload 17 /* pkg */
            invokevirtual java.lang.module.ModuleDescriptor$Builder.opens:(Ljava/util/Set;Ljava/lang/String;)Ljava/lang/module/ModuleDescriptor$Builder;
            pop
        end local 20 // int open_to_count
        end local 19 // int opens_flags
        end local 18 // java.util.Set mods
        end local 17 // java.lang.String pkg
        end local 16 // int opens_index
       128: .line 462
      StackMap locals: jdk.internal.module.ModuleInfo java.io.DataInput jdk.internal.module.ModuleInfo$ConstantPool int int java.lang.String int java.util.Set int java.lang.module.ModuleDescriptor$Builder int int int int int int
      StackMap stack:
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
       129: iload 15 /* i */
            iload 14 /* opens_count */
            if_icmplt 101
        end local 15 // int i
       130: .line 496
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 15 /* uses_count */
        start local 15 // int uses_count
       131: .line 497
            iload 15 /* uses_count */
            ifle 139
       132: .line 498
            iconst_0
            istore 16 /* i */
        start local 16 // int i
       133: goto 138
       134: .line 499
      StackMap locals: int int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 17 /* index */
        start local 17 // int index
       135: .line 500
            aload 2 /* cpool */
            iload 17 /* index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getClassName:(I)Ljava/lang/String;
            astore 18 /* sn */
        start local 18 // java.lang.String sn
       136: .line 501
            aload 9 /* builder */
            aload 18 /* sn */
            invokevirtual java.lang.module.ModuleDescriptor$Builder.uses:(Ljava/lang/String;)Ljava/lang/module/ModuleDescriptor$Builder;
            pop
        end local 18 // java.lang.String sn
        end local 17 // int index
       137: .line 498
            iinc 16 /* i */ 1
      StackMap locals:
      StackMap stack:
       138: iload 16 /* i */
            iload 15 /* uses_count */
            if_icmplt 134
        end local 16 // int i
       139: .line 505
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 16 /* provides_count */
        start local 16 // int provides_count
       140: .line 506
            iload 16 /* provides_count */
            ifle 160
       141: .line 507
            iconst_0
            istore 17 /* i */
        start local 17 // int i
       142: goto 159
       143: .line 508
      StackMap locals: int int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 18 /* index */
        start local 18 // int index
       144: .line 509
            aload 2 /* cpool */
            iload 18 /* index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getClassName:(I)Ljava/lang/String;
            astore 19 /* sn */
        start local 19 // java.lang.String sn
       145: .line 510
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 20 /* with_count */
        start local 20 // int with_count
       146: .line 511
            new java.util.ArrayList
            dup
            iload 20 /* with_count */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 21 /* providers */
        start local 21 // java.util.List providers
       147: .line 512
            iconst_0
            istore 22 /* j */
        start local 22 // int j
       148: goto 156
       149: .line 513
      StackMap locals: jdk.internal.module.ModuleInfo java.io.DataInput jdk.internal.module.ModuleInfo$ConstantPool int int java.lang.String int java.util.Set int java.lang.module.ModuleDescriptor$Builder int int int int int int int int int java.lang.String int java.util.List int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 18 /* index */
       150: .line 514
            aload 2 /* cpool */
            iload 18 /* index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getClassName:(I)Ljava/lang/String;
            astore 23 /* pn */
        start local 23 // java.lang.String pn
       151: .line 515
            aload 21 /* providers */
            aload 23 /* pn */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            ifne 155
       152: .line 516
            new java.lang.StringBuilder
            dup
            aload 19 /* sn */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " provides "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 23 /* pn */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       153: .line 517
            ldc " more than once"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       154: .line 516
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        end local 23 // java.lang.String pn
       155: .line 512
      StackMap locals:
      StackMap stack:
            iinc 22 /* j */ 1
      StackMap locals:
      StackMap stack:
       156: iload 22 /* j */
            iload 20 /* with_count */
            if_icmplt 149
        end local 22 // int j
       157: .line 520
            aload 9 /* builder */
            aload 19 /* sn */
            aload 21 /* providers */
            invokevirtual java.lang.module.ModuleDescriptor$Builder.provides:(Ljava/lang/String;Ljava/util/List;)Ljava/lang/module/ModuleDescriptor$Builder;
            pop
        end local 21 // java.util.List providers
        end local 20 // int with_count
        end local 19 // java.lang.String sn
        end local 18 // int index
       158: .line 507
            iinc 17 /* i */ 1
      StackMap locals: jdk.internal.module.ModuleInfo java.io.DataInput jdk.internal.module.ModuleInfo$ConstantPool int int java.lang.String int java.util.Set int java.lang.module.ModuleDescriptor$Builder int int int int int int int int
      StackMap stack:
       159: iload 17 /* i */
            iload 16 /* provides_count */
            if_icmplt 143
        end local 17 // int i
       160: .line 524
      StackMap locals:
      StackMap stack:
            aload 9 /* builder */
            areturn
        end local 16 // int provides_count
        end local 15 // int uses_count
        end local 14 // int opens_count
        end local 13 // int exports_count
        end local 12 // boolean requiresJavaBase
        end local 11 // int requires_count
        end local 10 // int module_version_index
        end local 9 // java.lang.module.ModuleDescriptor$Builder builder
        end local 8 // boolean open
        end local 7 // java.util.Set modifiers
        end local 6 // int module_flags
        end local 5 // java.lang.String mn
        end local 4 // int module_name_index
        end local 3 // int major
        end local 2 // jdk.internal.module.ModuleInfo$ConstantPool cpool
        end local 1 // java.io.DataInput in
        end local 0 // jdk.internal.module.ModuleInfo this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0  161     0                    this  Ljdk/internal/module/ModuleInfo;
            0  161     1                      in  Ljava/io/DataInput;
            0  161     2                   cpool  Ljdk/internal/module/ModuleInfo$ConstantPool;
            0  161     3                   major  I
            1  161     4       module_name_index  I
            2  161     5                      mn  Ljava/lang/String;
            3  161     6            module_flags  I
            4  161     7               modifiers  Ljava/util/Set<Ljava/lang/module/ModuleDescriptor$Modifier;>;
            7  161     8                    open  Z
           14  161     9                 builder  Ljava/lang/module/ModuleDescriptor$Builder;
           15  161    10    module_version_index  I
           17   18    11                      vs  Ljava/lang/String;
           19  161    11          requires_count  I
           20  161    12        requiresJavaBase  Z
           21   57    13                       i  I
           23   55    14          requires_index  I
           24   55    15                      dn  Ljava/lang/String;
           25   55    16          requires_flags  I
           27   28    17                    mods  Ljava/util/Set<Ljava/lang/module/ModuleDescriptor$Requires$Modifier;>;
           29   55    17                    mods  Ljava/util/Set<Ljava/lang/module/ModuleDescriptor$Requires$Modifier;>;
           38   55    18  requires_version_index  I
           42   43    19                      vs  Ljava/lang/String;
           49   50    19                flagName  Ljava/lang/String;
           51   54    19                flagName  Ljava/lang/String;
           63  161    13           exports_count  I
           65   95    14                       i  I
           67   93    15           exports_index  I
           68   93    16                     pkg  Ljava/lang/String;
           71   72    17                    mods  Ljava/util/Set<Ljava/lang/module/ModuleDescriptor$Exports$Modifier;>;
           73   93    17                    mods  Ljava/util/Set<Ljava/lang/module/ModuleDescriptor$Exports$Modifier;>;
           69   93    18           exports_flags  I
           78   93    19        exports_to_count  I
           80   91    20                 targets  Ljava/util/Set<Ljava/lang/String;>;
           81   90    21                       j  I
           83   88    22        exports_to_index  I
           84   88    23                  target  Ljava/lang/String;
           96  161    14             opens_count  I
          100  130    15                       i  I
          102  128    16             opens_index  I
          103  128    17                     pkg  Ljava/lang/String;
          106  107    18                    mods  Ljava/util/Set<Ljava/lang/module/ModuleDescriptor$Opens$Modifier;>;
          108  128    18                    mods  Ljava/util/Set<Ljava/lang/module/ModuleDescriptor$Opens$Modifier;>;
          104  128    19             opens_flags  I
          113  128    20           open_to_count  I
          115  126    21                 targets  Ljava/util/Set<Ljava/lang/String;>;
          116  125    22                       j  I
          118  123    23          opens_to_index  I
          119  123    24                  target  Ljava/lang/String;
          131  161    15              uses_count  I
          133  139    16                       i  I
          135  137    17                   index  I
          136  137    18                      sn  Ljava/lang/String;
          140  161    16          provides_count  I
          142  160    17                       i  I
          144  158    18                   index  I
          145  158    19                      sn  Ljava/lang/String;
          146  158    20              with_count  I
          147  158    21               providers  Ljava/util/List<Ljava/lang/String;>;
          148  157    22                       j  I
          151  155    23                      pn  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      in     
      cpool  
      major  

  private java.util.Set<java.lang.String> readModulePackagesAttribute(java.io.DataInput, jdk.internal.module.ModuleInfo$ConstantPool);
    descriptor: (Ljava/io/DataInput;Ljdk/internal/module/ModuleInfo$ConstantPool;)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // jdk.internal.module.ModuleInfo this
        start local 1 // java.io.DataInput in
        start local 2 // jdk.internal.module.ModuleInfo$ConstantPool cpool
         0: .line 533
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 3 /* package_count */
        start local 3 // int package_count
         1: .line 534
            new java.util.HashSet
            dup
            iload 3 /* package_count */
            invokespecial java.util.HashSet.<init>:(I)V
            astore 4 /* packages */
        start local 4 // java.util.Set packages
         2: .line 535
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 12
         4: .line 536
      StackMap locals: int java.util.Set int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 6 /* index */
        start local 6 // int index
         5: .line 537
            aload 2 /* cpool */
            iload 6 /* index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getPackageName:(I)Ljava/lang/String;
            astore 7 /* pn */
        start local 7 // java.lang.String pn
         6: .line 538
            aload 4 /* packages */
            aload 7 /* pn */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            istore 8 /* added */
        start local 8 // boolean added
         7: .line 539
            iload 8 /* added */
            ifne 11
         8: .line 540
            new java.lang.StringBuilder
            dup
            ldc "Package "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* pn */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " in ModulePackages"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 541
            ldc "attribute more than once"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 540
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        end local 8 // boolean added
        end local 7 // java.lang.String pn
        end local 6 // int index
        11: .line 535
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 5 /* i */
            iload 3 /* package_count */
            if_icmplt 4
        end local 5 // int i
        13: .line 544
            aload 4 /* packages */
            areturn
        end local 4 // java.util.Set packages
        end local 3 // int package_count
        end local 2 // jdk.internal.module.ModuleInfo$ConstantPool cpool
        end local 1 // java.io.DataInput in
        end local 0 // jdk.internal.module.ModuleInfo this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   14     0           this  Ljdk/internal/module/ModuleInfo;
            0   14     1             in  Ljava/io/DataInput;
            0   14     2          cpool  Ljdk/internal/module/ModuleInfo$ConstantPool;
            1   14     3  package_count  I
            2   14     4       packages  Ljava/util/Set<Ljava/lang/String;>;
            3   13     5              i  I
            5   11     6          index  I
            6   11     7             pn  Ljava/lang/String;
            7   11     8          added  Z
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/io/DataInput;Ljdk/internal/module/ModuleInfo$ConstantPool;)Ljava/util/Set<Ljava/lang/String;>;
    MethodParameters:
       Name  Flags
      in     
      cpool  

  private java.lang.String readModuleMainClassAttribute(java.io.DataInput, jdk.internal.module.ModuleInfo$ConstantPool);
    descriptor: (Ljava/io/DataInput;Ljdk/internal/module/ModuleInfo$ConstantPool;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // jdk.internal.module.ModuleInfo this
        start local 1 // java.io.DataInput in
        start local 2 // jdk.internal.module.ModuleInfo$ConstantPool cpool
         0: .line 553
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 3 /* index */
        start local 3 // int index
         1: .line 554
            aload 2 /* cpool */
            iload 3 /* index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getClassName:(I)Ljava/lang/String;
            areturn
        end local 3 // int index
        end local 2 // jdk.internal.module.ModuleInfo$ConstantPool cpool
        end local 1 // java.io.DataInput in
        end local 0 // jdk.internal.module.ModuleInfo this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljdk/internal/module/ModuleInfo;
            0    2     1     in  Ljava/io/DataInput;
            0    2     2  cpool  Ljdk/internal/module/ModuleInfo$ConstantPool;
            1    2     3  index  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      in     
      cpool  

  private jdk.internal.module.ModuleTarget readModuleTargetAttribute(java.io.DataInput, jdk.internal.module.ModuleInfo$ConstantPool);
    descriptor: (Ljava/io/DataInput;Ljdk/internal/module/ModuleInfo$ConstantPool;)Ljdk/internal/module/ModuleTarget;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // jdk.internal.module.ModuleInfo this
        start local 1 // java.io.DataInput in
        start local 2 // jdk.internal.module.ModuleInfo$ConstantPool cpool
         0: .line 563
            aconst_null
            astore 3 /* targetPlatform */
        start local 3 // java.lang.String targetPlatform
         1: .line 565
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 4 /* index */
        start local 4 // int index
         2: .line 566
            iload 4 /* index */
            ifeq 4
         3: .line 567
            aload 2 /* cpool */
            iload 4 /* index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getUtf8:(I)Ljava/lang/String;
            astore 3 /* targetPlatform */
         4: .line 569
      StackMap locals: java.lang.String int
      StackMap stack:
            new jdk.internal.module.ModuleTarget
            dup
            aload 3 /* targetPlatform */
            invokespecial jdk.internal.module.ModuleTarget.<init>:(Ljava/lang/String;)V
            areturn
        end local 4 // int index
        end local 3 // java.lang.String targetPlatform
        end local 2 // jdk.internal.module.ModuleInfo$ConstantPool cpool
        end local 1 // java.io.DataInput in
        end local 0 // jdk.internal.module.ModuleInfo this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Ljdk/internal/module/ModuleInfo;
            0    5     1              in  Ljava/io/DataInput;
            0    5     2           cpool  Ljdk/internal/module/ModuleInfo$ConstantPool;
            1    5     3  targetPlatform  Ljava/lang/String;
            2    5     4           index  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      in     
      cpool  

  private jdk.internal.module.ModuleHashes readModuleHashesAttribute(java.io.DataInput, jdk.internal.module.ModuleInfo$ConstantPool);
    descriptor: (Ljava/io/DataInput;Ljdk/internal/module/ModuleInfo$ConstantPool;)Ljdk/internal/module/ModuleHashes;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=12, args_size=3
        start local 0 // jdk.internal.module.ModuleInfo this
        start local 1 // java.io.DataInput in
        start local 2 // jdk.internal.module.ModuleInfo$ConstantPool cpool
         0: .line 578
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 3 /* algorithm_index */
        start local 3 // int algorithm_index
         1: .line 579
            aload 2 /* cpool */
            iload 3 /* algorithm_index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getUtf8:(I)Ljava/lang/String;
            astore 4 /* algorithm */
        start local 4 // java.lang.String algorithm
         2: .line 581
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 5 /* hash_count */
        start local 5 // int hash_count
         3: .line 582
            new java.util.HashMap
            dup
            iload 5 /* hash_count */
            invokespecial java.util.HashMap.<init>:(I)V
            astore 6 /* map */
        start local 6 // java.util.Map map
         4: .line 583
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         5: goto 15
         6: .line 584
      StackMap locals: jdk.internal.module.ModuleInfo java.io.DataInput jdk.internal.module.ModuleInfo$ConstantPool int java.lang.String int java.util.Map int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 8 /* module_name_index */
        start local 8 // int module_name_index
         7: .line 585
            aload 2 /* cpool */
            iload 8 /* module_name_index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getModuleName:(I)Ljava/lang/String;
            astore 9 /* mn */
        start local 9 // java.lang.String mn
         8: .line 586
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 10 /* hash_length */
        start local 10 // int hash_length
         9: .line 587
            iload 10 /* hash_length */
            ifne 11
        10: .line 588
            ldc "hash_length == 0"
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        11: .line 590
      StackMap locals: int java.lang.String int
      StackMap stack:
            iload 10 /* hash_length */
            newarray 8
            astore 11 /* hash */
        start local 11 // byte[] hash
        12: .line 591
            aload 1 /* in */
            aload 11 /* hash */
            invokeinterface java.io.DataInput.readFully:([B)V
        13: .line 592
            aload 6 /* map */
            aload 9 /* mn */
            aload 11 /* hash */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 11 // byte[] hash
        end local 10 // int hash_length
        end local 9 // java.lang.String mn
        end local 8 // int module_name_index
        14: .line 583
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 7 /* i */
            iload 5 /* hash_count */
            if_icmplt 6
        end local 7 // int i
        16: .line 595
            new jdk.internal.module.ModuleHashes
            dup
            aload 4 /* algorithm */
            aload 6 /* map */
            invokespecial jdk.internal.module.ModuleHashes.<init>:(Ljava/lang/String;Ljava/util/Map;)V
            areturn
        end local 6 // java.util.Map map
        end local 5 // int hash_count
        end local 4 // java.lang.String algorithm
        end local 3 // int algorithm_index
        end local 2 // jdk.internal.module.ModuleInfo$ConstantPool cpool
        end local 1 // java.io.DataInput in
        end local 0 // jdk.internal.module.ModuleInfo this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   17     0               this  Ljdk/internal/module/ModuleInfo;
            0   17     1                 in  Ljava/io/DataInput;
            0   17     2              cpool  Ljdk/internal/module/ModuleInfo$ConstantPool;
            1   17     3    algorithm_index  I
            2   17     4          algorithm  Ljava/lang/String;
            3   17     5         hash_count  I
            4   17     6                map  Ljava/util/Map<Ljava/lang/String;[B>;
            5   16     7                  i  I
            7   14     8  module_name_index  I
            8   14     9                 mn  Ljava/lang/String;
            9   14    10        hash_length  I
           12   14    11               hash  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      in     
      cpool  

  private jdk.internal.module.ModuleResolution readModuleResolution(java.io.DataInput, jdk.internal.module.ModuleInfo$ConstantPool);
    descriptor: (Ljava/io/DataInput;Ljdk/internal/module/ModuleInfo$ConstantPool;)Ljdk/internal/module/ModuleResolution;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // jdk.internal.module.ModuleInfo this
        start local 1 // java.io.DataInput in
        start local 2 // jdk.internal.module.ModuleInfo$ConstantPool cpool
         0: .line 605
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 3 /* flags */
        start local 3 // int flags
         1: .line 607
            iconst_0
            istore 4 /* reason */
        start local 4 // int reason
         2: .line 608
            iload 3 /* flags */
            iconst_2
            iand
            ifeq 4
         3: .line 609
            iconst_2
            istore 4 /* reason */
         4: .line 610
      StackMap locals: int int
      StackMap stack:
            iload 3 /* flags */
            iconst_4
            iand
            ifeq 8
         5: .line 611
            iload 4 /* reason */
            ifeq 7
         6: .line 612
            new java.lang.StringBuilder
            dup
            ldc "Bad module resolution flags:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* flags */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
         7: .line 613
      StackMap locals:
      StackMap stack:
            iconst_4
            istore 4 /* reason */
         8: .line 615
      StackMap locals:
      StackMap stack:
            iload 3 /* flags */
            bipush 8
            iand
            ifeq 11
         9: .line 616
            iload 4 /* reason */
            ifeq 11
        10: .line 617
            new java.lang.StringBuilder
            dup
            ldc "Bad module resolution flags:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* flags */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        11: .line 620
      StackMap locals:
      StackMap stack:
            new jdk.internal.module.ModuleResolution
            dup
            iload 3 /* flags */
            invokespecial jdk.internal.module.ModuleResolution.<init>:(I)V
            areturn
        end local 4 // int reason
        end local 3 // int flags
        end local 2 // jdk.internal.module.ModuleInfo$ConstantPool cpool
        end local 1 // java.io.DataInput in
        end local 0 // jdk.internal.module.ModuleInfo this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Ljdk/internal/module/ModuleInfo;
            0   12     1      in  Ljava/io/DataInput;
            0   12     2   cpool  Ljdk/internal/module/ModuleInfo$ConstantPool;
            1   12     3   flags  I
            2   12     4  reason  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      in     
      cpool  

  private static boolean isAttributeAtMostOnce(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String name
         0: .line 629
            aload 0 /* name */
            ldc "Module"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
         1: .line 630
            aload 0 /* name */
            ldc "SourceFile"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
         2: .line 631
            aload 0 /* name */
            ldc "SourceDebugExtension"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
         3: .line 632
            aload 0 /* name */
            ldc "ModulePackages"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
         4: .line 633
            aload 0 /* name */
            ldc "ModuleMainClass"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
         5: .line 634
            aload 0 /* name */
            ldc "ModuleTarget"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
         6: .line 635
            aload 0 /* name */
            ldc "ModuleHashes"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
         7: .line 636
            aload 0 /* name */
            ldc "ModuleResolution"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 637
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         9: .line 639
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  private static boolean isAttributeDisallowed(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.lang.String name
         0: .line 647
            getstatic jdk.internal.module.ModuleInfo.predefinedNotAllowed:Ljava/util/Set;
            astore 1 /* notAllowed */
        start local 1 // java.util.Set notAllowed
         1: .line 648
            aload 1 /* notAllowed */
            ifnonnull 23
         2: .line 649
            bipush 18
            anewarray java.lang.String
            dup
            iconst_0
         3: .line 650
            ldc "ConstantValue"
            aastore
            dup
            iconst_1
         4: .line 651
            ldc "Code"
            aastore
            dup
            iconst_2
         5: .line 652
            ldc "Deprecated"
            aastore
            dup
            iconst_3
         6: .line 653
            ldc "StackMapTable"
            aastore
            dup
            iconst_4
         7: .line 654
            ldc "Exceptions"
            aastore
            dup
            iconst_5
         8: .line 655
            ldc "EnclosingMethod"
            aastore
            dup
            bipush 6
         9: .line 656
            ldc "Signature"
            aastore
            dup
            bipush 7
        10: .line 657
            ldc "LineNumberTable"
            aastore
            dup
            bipush 8
        11: .line 658
            ldc "LocalVariableTable"
            aastore
            dup
            bipush 9
        12: .line 659
            ldc "LocalVariableTypeTable"
            aastore
            dup
            bipush 10
        13: .line 660
            ldc "RuntimeVisibleParameterAnnotations"
            aastore
            dup
            bipush 11
        14: .line 661
            ldc "RuntimeInvisibleParameterAnnotations"
            aastore
            dup
            bipush 12
        15: .line 662
            ldc "RuntimeVisibleTypeAnnotations"
            aastore
            dup
            bipush 13
        16: .line 663
            ldc "RuntimeInvisibleTypeAnnotations"
            aastore
            dup
            bipush 14
        17: .line 664
            ldc "Synthetic"
            aastore
            dup
            bipush 15
        18: .line 665
            ldc "AnnotationDefault"
            aastore
            dup
            bipush 16
        19: .line 666
            ldc "BootstrapMethods"
            aastore
            dup
            bipush 17
        20: .line 667
            ldc "MethodParameters"
            aastore
        21: .line 649
            invokestatic java.util.Set.of:([Ljava/lang/Object;)Ljava/util/Set;
            astore 1 /* notAllowed */
        22: .line 668
            aload 1 /* notAllowed */
            putstatic jdk.internal.module.ModuleInfo.predefinedNotAllowed:Ljava/util/Set;
        23: .line 670
      StackMap locals: java.util.Set
      StackMap stack:
            aload 1 /* notAllowed */
            aload 0 /* name */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.util.Set notAllowed
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   24     0        name  Ljava/lang/String;
            1   24     1  notAllowed  Ljava/util/Set<Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      name  

  private static java.lang.module.InvalidModuleDescriptorException invalidModuleDescriptor(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String msg
         0: .line 1088
            new java.lang.module.InvalidModuleDescriptorException
            dup
            aload 0 /* msg */
            invokespecial java.lang.module.InvalidModuleDescriptorException.<init>:(Ljava/lang/String;)V
            areturn
        end local 0 // java.lang.String msg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   msg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      msg   

  private static java.lang.module.InvalidModuleDescriptorException truncatedModuleDescriptor();
    descriptor: ()Ljava/lang/module/InvalidModuleDescriptorException;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 1096
            ldc "Truncated module-info.class"
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "ModuleInfo.java"
NestMembers:
  jdk.internal.module.ModuleInfo$Attributes  jdk.internal.module.ModuleInfo$ConstantPool  jdk.internal.module.ModuleInfo$ConstantPool$Entry  jdk.internal.module.ModuleInfo$ConstantPool$Index2Entry  jdk.internal.module.ModuleInfo$ConstantPool$IndexEntry  jdk.internal.module.ModuleInfo$ConstantPool$ValueEntry  jdk.internal.module.ModuleInfo$DataInputWrapper
InnerClasses:
  public final Builder = java.lang.module.ModuleDescriptor$Builder of java.lang.module.ModuleDescriptor
  public final Exports = java.lang.module.ModuleDescriptor$Exports of java.lang.module.ModuleDescriptor
  public final Modifier = java.lang.module.ModuleDescriptor$Exports$Modifier of java.lang.module.ModuleDescriptor$Exports
  public final Modifier = java.lang.module.ModuleDescriptor$Modifier of java.lang.module.ModuleDescriptor
  public final Opens = java.lang.module.ModuleDescriptor$Opens of java.lang.module.ModuleDescriptor
  public final Modifier = java.lang.module.ModuleDescriptor$Opens$Modifier of java.lang.module.ModuleDescriptor$Opens
  public final Requires = java.lang.module.ModuleDescriptor$Requires of java.lang.module.ModuleDescriptor
  public final Modifier = java.lang.module.ModuleDescriptor$Requires$Modifier of java.lang.module.ModuleDescriptor$Requires
  public final Attributes = jdk.internal.module.ModuleInfo$Attributes of jdk.internal.module.ModuleInfo
  private ConstantPool = jdk.internal.module.ModuleInfo$ConstantPool of jdk.internal.module.ModuleInfo
  private DataInputWrapper = jdk.internal.module.ModuleInfo$DataInputWrapper of jdk.internal.module.ModuleInfo