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 final int JAVA_MIN_SUPPORTED_VERSION;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    ConstantValue: 53

  private final int JAVA_MAX_SUPPORTED_VERSION;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    ConstantValue: 57

  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 63
            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 69
            invokestatic jdk.internal.access.SharedSecrets.getJavaLangModuleAccess:()Ljdk/internal/access/JavaLangModuleAccess;
         4: .line 68
            putstatic jdk.internal.module.ModuleInfo.JLMA:Ljdk/internal/access/JavaLangModuleAccess;
         5: .line 677
            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 77
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 65
            aload 0 /* this */
            bipush 53
            putfield jdk.internal.module.ModuleInfo.JAVA_MIN_SUPPORTED_VERSION:I
         2: .line 66
            aload 0 /* this */
            bipush 57
            putfield jdk.internal.module.ModuleInfo.JAVA_MAX_SUPPORTED_VERSION:I
         3: .line 78
            aload 0 /* this */
            aload 1 /* pf */
            putfield jdk.internal.module.ModuleInfo.packageFinder:Ljava/util/function/Supplier;
         4: .line 79
            aload 0 /* this */
            iload 2 /* ph */
            putfield jdk.internal.module.ModuleInfo.parseHashes:Z
         5: .line 80
            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    6     0  this  Ljdk/internal/module/ModuleInfo;
            0    6     1    pf  Ljava/util/function/Supplier<Ljava/util/Set<Ljava/lang/String;>;>;
            0    6     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 83
            aload 0 /* this */
            aload 1 /* pf */
            iconst_1
            invokespecial jdk.internal.module.ModuleInfo.<init>:(Ljava/util/function/Supplier;Z)V
         1: .line 84
            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 131
            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 132
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 2 /* e */
        start local 2 // java.lang.RuntimeException e
         3: .line 133
            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 134
      StackMap locals:
      StackMap stack: java.io.EOFException
            pop
         5: .line 135
            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 147
            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 148
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 2 /* e */
        start local 2 // java.lang.RuntimeException e
         3: .line 149
            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 150
      StackMap locals:
      StackMap stack: java.io.EOFException
            pop
         5: .line 151
            invokestatic jdk.internal.module.ModuleInfo.truncatedModuleDescriptor:()Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
         6: .line 152
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 2 /* ioe */
        start local 2 // java.io.IOException ioe
         7: .line 153
            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 166
            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 167
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 2 /* e */
        start local 2 // java.lang.RuntimeException e
         3: .line 168
            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 169
      StackMap locals:
      StackMap stack: java.io.EOFException
            pop
         5: .line 170
            invokestatic jdk.internal.module.ModuleInfo.truncatedModuleDescriptor:()Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
         6: .line 171
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 2 /* ioe */
        start local 2 // java.io.IOException ioe
         7: .line 172
            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 187
            aload 1 /* in */
            invokeinterface java.io.DataInput.readInt:()I
            istore 2 /* magic */
        start local 2 // int magic
         1: .line 188
            iload 2 /* magic */
            ldc -889275714
            if_icmpeq 3
         2: .line 189
            ldc "Bad magic number"
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
         3: .line 191
      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 192
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 4 /* major_version */
        start local 4 // int major_version
         5: .line 193
            iload 4 /* major_version */
            bipush 53
            if_icmplt 7
         6: .line 194
            iload 4 /* major_version */
            bipush 57
            if_icmple 10
         7: .line 195
      StackMap locals: int int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Unsupported major.minor version "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         8: .line 196
            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;
         9: .line 195
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        10: .line 199
      StackMap locals:
      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
        11: .line 201
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 6 /* access_flags */
        start local 6 // int access_flags
        12: .line 202
            iload 6 /* access_flags */
            ldc 32768
            if_icmpeq 14
        13: .line 203
            ldc "access_flags should be ACC_MODULE"
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        14: .line 205
      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
        15: .line 206
            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
        16: .line 207
            ldc "module-info"
            aload 8 /* mn */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 18
        17: .line 208
            ldc "this_class should be module-info"
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        18: .line 210
      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
        19: .line 211
            iload 9 /* super_class */
            ifle 21
        20: .line 212
            ldc "bad #super_class"
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        21: .line 214
      StackMap locals: int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 10 /* interfaces_count */
        start local 10 // int interfaces_count
        22: .line 215
            iload 10 /* interfaces_count */
            ifle 24
        23: .line 216
            ldc "Bad #interfaces"
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        24: .line 218
      StackMap locals: int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 11 /* fields_count */
        start local 11 // int fields_count
        25: .line 219
            iload 11 /* fields_count */
            ifle 27
        26: .line 220
            ldc "Bad #fields"
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        27: .line 222
      StackMap locals: int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 12 /* methods_count */
        start local 12 // int methods_count
        28: .line 223
            iload 12 /* methods_count */
            ifle 30
        29: .line 224
            ldc "Bad #methods"
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        30: .line 226
      StackMap locals: int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 13 /* attributes_count */
        start local 13 // int attributes_count
        31: .line 229
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 14 /* attributes */
        start local 14 // java.util.Set attributes
        32: .line 231
            aconst_null
            astore 15 /* builder */
        start local 15 // java.lang.module.ModuleDescriptor$Builder builder
        33: .line 232
            aconst_null
            astore 16 /* allPackages */
        start local 16 // java.util.Set allPackages
        34: .line 233
            aconst_null
            astore 17 /* mainClass */
        start local 17 // java.lang.String mainClass
        35: .line 234
            aconst_null
            astore 18 /* moduleTarget */
        start local 18 // jdk.internal.module.ModuleTarget moduleTarget
        36: .line 235
            aconst_null
            astore 19 /* moduleHashes */
        start local 19 // jdk.internal.module.ModuleHashes moduleHashes
        37: .line 236
            aconst_null
            astore 20 /* moduleResolution */
        start local 20 // jdk.internal.module.ModuleResolution moduleResolution
        38: .line 238
            iconst_0
            istore 21 /* i */
        start local 21 // int i
        39: goto 76
        40: .line 239
      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
        41: .line 240
            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
        42: .line 241
            aload 1 /* in */
            invokeinterface java.io.DataInput.readInt:()I
            istore 24 /* length */
        start local 24 // int length
        43: .line 243
            aload 14 /* attributes */
            aload 23 /* attribute_name */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            istore 25 /* added */
        start local 25 // boolean added
        44: .line 244
            iload 25 /* added */
            ifne 48
            aload 23 /* attribute_name */
            invokestatic jdk.internal.module.ModuleInfo.isAttributeAtMostOnce:(Ljava/lang/String;)Z
            ifeq 48
        45: .line 245
            new java.lang.StringBuilder
            dup
            ldc "More than one "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        46: .line 246
            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;
        47: .line 245
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        48: .line 249
      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: 49
            539437144: 50
            654770073: 51
           1038813715: 52
           1103964136: 53
           1447483197: 54
              default: 70
          }
      StackMap locals: java.lang.String
      StackMap stack:
        49: aload 26
            ldc "Module"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 55
            goto 70
      StackMap locals:
      StackMap stack:
        50: aload 26
            ldc "ModuleResolution"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 68
            goto 70
      StackMap locals:
      StackMap stack:
        51: aload 26
            ldc "ModulePackages"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 57
            goto 70
      StackMap locals:
      StackMap stack:
        52: aload 26
            ldc "ModuleMainClass"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 59
            goto 70
      StackMap locals:
      StackMap stack:
        53: aload 26
            ldc "ModuleHashes"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 63
            goto 70
      StackMap locals:
      StackMap stack:
        54: aload 26
            ldc "ModuleTarget"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 61
            goto 70
        55: .line 252
      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 */
        56: .line 253
            goto 75
        57: .line 256
      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 */
        58: .line 257
            goto 75
        59: .line 260
      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 */
        60: .line 261
            goto 75
        61: .line 264
      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 */
        62: .line 265
            goto 75
        63: .line 268
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.module.ModuleInfo.parseHashes:Z
            ifeq 66
        64: .line 269
            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 */
        65: .line 270
            goto 75
        66: .line 271
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            iload 24 /* length */
            invokeinterface java.io.DataInput.skipBytes:(I)I
            pop
        67: .line 273
            goto 75
        68: .line 276
      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 */
        69: .line 277
            goto 75
        70: .line 280
      StackMap locals:
      StackMap stack:
            aload 23 /* attribute_name */
            invokestatic jdk.internal.module.ModuleInfo.isAttributeDisallowed:(Ljava/lang/String;)Z
            ifeq 74
        71: .line 281
            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
        72: .line 282
            ldc " attribute not allowed"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        73: .line 281
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        74: .line 284
      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
        75: .line 238
      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:
        76: iload 21 /* i */
            iload 13 /* attributes_count */
            if_icmplt 40
        end local 21 // int i
        77: .line 291
            aload 15 /* builder */
            ifnonnull 79
        78: .line 292
            ldc "Module attribute not found"
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        79: .line 296
      StackMap locals:
      StackMap stack:
            aload 17 /* mainClass */
            ifnull 81
        80: .line 297
            aload 15 /* builder */
            aload 17 /* mainClass */
            invokevirtual java.lang.module.ModuleDescriptor$Builder.mainClass:(Ljava/lang/String;)Ljava/lang/module/ModuleDescriptor$Builder;
            pop
        81: .line 302
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 21 /* usedPackageFinder */
        start local 21 // boolean usedPackageFinder
        82: .line 303
            aload 16 /* allPackages */
            ifnonnull 88
            aload 0 /* this */
            getfield jdk.internal.module.ModuleInfo.packageFinder:Ljava/util/function/Supplier;
            ifnull 88
        83: .line 305
            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 */
        84: .line 306
            goto 87
      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
        85: astore 22 /* x */
        start local 22 // java.io.UncheckedIOException x
        86: .line 307
            aload 22 /* x */
            invokevirtual java.io.UncheckedIOException.getCause:()Ljava/io/IOException;
            athrow
        end local 22 // java.io.UncheckedIOException x
        87: .line 309
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 21 /* usedPackageFinder */
        88: .line 311
      StackMap locals:
      StackMap stack:
            aload 16 /* allPackages */
            ifnull 101
        89: .line 312
            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
        90: .line 313
            aload 16 /* allPackages */
            aload 22 /* knownPackages */
            invokeinterface java.util.Set.containsAll:(Ljava/util/Collection;)Z
            ifne 100
        91: .line 314
            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
        92: .line 315
            aload 23 /* missingPackages */
            aload 16 /* allPackages */
            invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
            pop
        93: .line 316
            getstatic jdk.internal.module.ModuleInfo.$assertionsDisabled:Z
            ifne 94
            aload 23 /* missingPackages */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 94
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        94: .line 317
      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
        95: .line 319
            iload 21 /* usedPackageFinder */
            ifeq 98
        96: .line 320
            ldc " not found in module"
            astore 25 /* tail */
        start local 25 // java.lang.String tail
        97: .line 321
            goto 99
        end local 25 // java.lang.String tail
        98: .line 322
      StackMap locals: java.lang.String
      StackMap stack:
            ldc " missing from ModulePackages class file attribute"
            astore 25 /* tail */
        start local 25 // java.lang.String tail
        99: .line 324
      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
       100: .line 327
      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
       101: .line 330
      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
       102: .line 331
            new jdk.internal.module.ModuleInfo$Attributes
            dup
            aload 22 /* descriptor */
       103: .line 332
            aload 18 /* moduleTarget */
       104: .line 333
            aload 19 /* moduleHashes */
       105: .line 334
            aload 20 /* moduleResolution */
       106: .line 331
            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  107     0               this  Ljdk/internal/module/ModuleInfo;
            0  107     1                 in  Ljava/io/DataInput;
            1  107     2              magic  I
            4  107     3      minor_version  I
            5  107     4      major_version  I
           11  107     5              cpool  Ljdk/internal/module/ModuleInfo$ConstantPool;
           12  107     6       access_flags  I
           15  107     7         this_class  I
           16  107     8                 mn  Ljava/lang/String;
           19  107     9        super_class  I
           22  107    10   interfaces_count  I
           25  107    11       fields_count  I
           28  107    12      methods_count  I
           31  107    13   attributes_count  I
           32  107    14         attributes  Ljava/util/Set<Ljava/lang/String;>;
           33  107    15            builder  Ljava/lang/module/ModuleDescriptor$Builder;
           34  107    16        allPackages  Ljava/util/Set<Ljava/lang/String;>;
           35  107    17          mainClass  Ljava/lang/String;
           36  107    18       moduleTarget  Ljdk/internal/module/ModuleTarget;
           37  107    19       moduleHashes  Ljdk/internal/module/ModuleHashes;
           38  107    20   moduleResolution  Ljdk/internal/module/ModuleResolution;
           39   77    21                  i  I
           41   75    22         name_index  I
           42   75    23     attribute_name  Ljava/lang/String;
           43   75    24             length  I
           44   75    25              added  Z
           82  107    21  usedPackageFinder  Z
           86   87    22                  x  Ljava/io/UncheckedIOException;
           90  101    22      knownPackages  Ljava/util/Set<Ljava/lang/String;>;
           92  100    23    missingPackages  Ljava/util/Set<Ljava/lang/String;>;
           95  100    24     missingPackage  Ljava/lang/String;
           97   98    25               tail  Ljava/lang/String;
           99  100    25               tail  Ljava/lang/String;
          102  107    22         descriptor  Ljava/lang/module/ModuleDescriptor;
      Exception table:
        from    to  target  type
          83    84      85  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 345
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 4 /* module_name_index */
        start local 4 // int module_name_index
         1: .line 346
            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 348
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 6 /* module_flags */
        start local 6 // int module_flags
         3: .line 350
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 7 /* modifiers */
        start local 7 // java.util.Set modifiers
         4: .line 351
            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 352
            iload 8 /* open */
            ifeq 9
         8: .line 353
            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 354
      StackMap locals: int
      StackMap stack:
            iload 6 /* module_flags */
            sipush 4096
            iand
            ifeq 11
        10: .line 355
            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 356
      StackMap locals:
      StackMap stack:
            iload 6 /* module_flags */
            ldc 32768
            iand
            ifeq 13
        12: .line 357
            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 359
      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 361
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 10 /* module_version_index */
        start local 10 // int module_version_index
        15: .line 362
            iload 10 /* module_version_index */
            ifeq 18
        16: .line 363
            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 364
            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 367
      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 368
            iconst_0
            istore 12 /* requiresJavaBase */
        start local 12 // boolean requiresJavaBase
        20: .line 369
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        21: goto 56
        22: .line 370
      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 371
            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 373
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 16 /* requires_flags */
        start local 16 // int requires_flags
        25: .line 375
            iload 16 /* requires_flags */
            ifne 28
        26: .line 376
            invokestatic java.util.Set.of:()Ljava/util/Set;
            astore 17 /* mods */
        start local 17 // java.util.Set mods
        27: .line 377
            goto 37
        end local 17 // java.util.Set mods
        28: .line 378
      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 379
            iload 16 /* requires_flags */
            bipush 32
            iand
            ifeq 31
        30: .line 380
            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 381
      StackMap locals: java.util.Set
      StackMap stack:
            iload 16 /* requires_flags */
            bipush 64
            iand
            ifeq 33
        32: .line 382
            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 383
      StackMap locals:
      StackMap stack:
            iload 16 /* requires_flags */
            sipush 4096
            iand
            ifeq 35
        34: .line 384
            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 385
      StackMap locals:
      StackMap stack:
            iload 16 /* requires_flags */
            ldc 32768
            iand
            ifeq 37
        36: .line 386
            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 389
      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 390
            iload 18 /* requires_version_index */
            ifne 41
        39: .line 391
            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 392
            goto 43
        41: .line 393
      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 394
            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 397
      StackMap locals:
      StackMap stack:
            aload 15 /* dn */
            ldc "java.base"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 55
        44: .line 398
            iload 3 /* major */
            bipush 54
            if_icmplt 54
        45: .line 399
            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 400
            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 402
      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 403
            ldc "ACC_TRANSITIVE"
            astore 19 /* flagName */
        start local 19 // java.lang.String flagName
        49: .line 404
            goto 51
        end local 19 // java.lang.String flagName
        50: .line 405
      StackMap locals:
      StackMap stack:
            ldc "ACC_STATIC_PHASE"
            astore 19 /* flagName */
        start local 19 // java.lang.String flagName
        51: .line 407
      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 408
            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 407
            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 410
      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 369
      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 413
            aload 5 /* mn */
            ldc "java.base"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 60
        58: .line 414
            iload 11 /* requires_count */
            ifle 62
        59: .line 415
            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 418
      StackMap locals:
      StackMap stack:
            iload 12 /* requiresJavaBase */
            ifne 62
        61: .line 419
            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 423
      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 424
            iload 13 /* exports_count */
            ifle 95
        64: .line 425
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        65: goto 94
        66: .line 426
      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 427
            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 430
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 18 /* exports_flags */
        start local 18 // int exports_flags
        69: .line 431
            iload 18 /* exports_flags */
            ifne 72
        70: .line 432
            invokestatic java.util.Set.of:()Ljava/util/Set;
            astore 17 /* mods */
        start local 17 // java.util.Set mods
        71: .line 433
            goto 77
        end local 17 // java.util.Set mods
        72: .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 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 435
            iload 18 /* exports_flags */
            sipush 4096
            iand
            ifeq 75
        74: .line 436
            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 437
      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 438
            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 441
      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 442
            iload 19 /* exports_to_count */
            ifle 92
        79: .line 443
            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 444
            iconst_0
            istore 21 /* j */
        start local 21 // int j
        81: goto 89
        82: .line 445
      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 446
            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 447
            aload 20 /* targets */
            aload 23 /* target */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifne 88
        85: .line 448
            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 449
            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 448
            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 444
      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 452
            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 453
            goto 93
        92: .line 454
      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 425
      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 459
      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 460
            iload 14 /* opens_count */
            ifle 130
        97: .line 461
            iload 8 /* open */
            ifeq 99
        98: .line 462
            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 465
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 15 /* i */
        start local 15 // int i
       100: goto 129
       101: .line 466
      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 467
            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 470
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 19 /* opens_flags */
        start local 19 // int opens_flags
       104: .line 471
            iload 19 /* opens_flags */
            ifne 107
       105: .line 472
            invokestatic java.util.Set.of:()Ljava/util/Set;
            astore 18 /* mods */
        start local 18 // java.util.Set mods
       106: .line 473
            goto 112
        end local 18 // java.util.Set mods
       107: .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 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 475
            iload 19 /* opens_flags */
            sipush 4096
            iand
            ifeq 110
       109: .line 476
            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 477
      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 478
            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 481
      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 482
            iload 20 /* open_to_count */
            ifle 127
       114: .line 483
            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 484
            iconst_0
            istore 22 /* j */
        start local 22 // int j
       116: goto 124
       117: .line 485
      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 486
            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 487
            aload 21 /* targets */
            aload 24 /* target */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifne 123
       120: .line 488
            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 489
            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 488
            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 484
      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 492
            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 493
            goto 128
       127: .line 494
      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 465
      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 499
      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 500
            iload 15 /* uses_count */
            ifle 139
       132: .line 501
            iconst_0
            istore 16 /* i */
        start local 16 // int i
       133: goto 138
       134: .line 502
      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 503
            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 504
            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 501
            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 508
      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 509
            iload 16 /* provides_count */
            ifle 160
       141: .line 510
            iconst_0
            istore 17 /* i */
        start local 17 // int i
       142: goto 159
       143: .line 511
      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 512
            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 513
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 20 /* with_count */
        start local 20 // int with_count
       146: .line 514
            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 515
            iconst_0
            istore 22 /* j */
        start local 22 // int j
       148: goto 156
       149: .line 516
      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 517
            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 518
            aload 21 /* providers */
            aload 23 /* pn */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            ifne 155
       152: .line 519
            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 520
            ldc " more than once"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       154: .line 519
            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 515
      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 523
            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 510
            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 527
      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 536
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 3 /* package_count */
        start local 3 // int package_count
         1: .line 537
            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 538
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 12
         4: .line 539
      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 540
            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 541
            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 542
            iload 8 /* added */
            ifne 11
         8: .line 543
            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 544
            ldc "attribute more than once"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 543
            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 538
      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 547
            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 556
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 3 /* index */
        start local 3 // int index
         1: .line 557
            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 566
            aconst_null
            astore 3 /* targetPlatform */
        start local 3 // java.lang.String targetPlatform
         1: .line 568
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 4 /* index */
        start local 4 // int index
         2: .line 569
            iload 4 /* index */
            ifeq 4
         3: .line 570
            aload 2 /* cpool */
            iload 4 /* index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getUtf8:(I)Ljava/lang/String;
            astore 3 /* targetPlatform */
         4: .line 572
      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 581
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 3 /* algorithm_index */
        start local 3 // int algorithm_index
         1: .line 582
            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 584
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 5 /* hash_count */
        start local 5 // int hash_count
         3: .line 585
            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 586
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         5: goto 15
         6: .line 587
      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 588
            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 589
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 10 /* hash_length */
        start local 10 // int hash_length
         9: .line 590
            iload 10 /* hash_length */
            ifne 11
        10: .line 591
            ldc "hash_length == 0"
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        11: .line 593
      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 594
            aload 1 /* in */
            aload 11 /* hash */
            invokeinterface java.io.DataInput.readFully:([B)V
        13: .line 595
            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 586
            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 598
            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 608
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 3 /* flags */
        start local 3 // int flags
         1: .line 610
            iconst_0
            istore 4 /* reason */
        start local 4 // int reason
         2: .line 611
            iload 3 /* flags */
            iconst_2
            iand
            ifeq 4
         3: .line 612
            iconst_2
            istore 4 /* reason */
         4: .line 613
      StackMap locals: int int
      StackMap stack:
            iload 3 /* flags */
            iconst_4
            iand
            ifeq 8
         5: .line 614
            iload 4 /* reason */
            ifeq 7
         6: .line 615
            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 616
      StackMap locals:
      StackMap stack:
            iconst_4
            istore 4 /* reason */
         8: .line 618
      StackMap locals:
      StackMap stack:
            iload 3 /* flags */
            bipush 8
            iand
            ifeq 11
         9: .line 619
            iload 4 /* reason */
            ifeq 11
        10: .line 620
            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 623
      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 632
            aload 0 /* name */
            ldc "Module"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
         1: .line 633
            aload 0 /* name */
            ldc "SourceFile"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
         2: .line 634
            aload 0 /* name */
            ldc "SourceDebugExtension"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
         3: .line 635
            aload 0 /* name */
            ldc "ModulePackages"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
         4: .line 636
            aload 0 /* name */
            ldc "ModuleMainClass"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
         5: .line 637
            aload 0 /* name */
            ldc "ModuleTarget"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
         6: .line 638
            aload 0 /* name */
            ldc "ModuleHashes"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
         7: .line 639
            aload 0 /* name */
            ldc "ModuleResolution"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 640
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         9: .line 642
      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 650
            getstatic jdk.internal.module.ModuleInfo.predefinedNotAllowed:Ljava/util/Set;
            astore 1 /* notAllowed */
        start local 1 // java.util.Set notAllowed
         1: .line 651
            aload 1 /* notAllowed */
            ifnonnull 23
         2: .line 652
            bipush 18
            anewarray java.lang.String
            dup
            iconst_0
         3: .line 653
            ldc "ConstantValue"
            aastore
            dup
            iconst_1
         4: .line 654
            ldc "Code"
            aastore
            dup
            iconst_2
         5: .line 655
            ldc "Deprecated"
            aastore
            dup
            iconst_3
         6: .line 656
            ldc "StackMapTable"
            aastore
            dup
            iconst_4
         7: .line 657
            ldc "Exceptions"
            aastore
            dup
            iconst_5
         8: .line 658
            ldc "EnclosingMethod"
            aastore
            dup
            bipush 6
         9: .line 659
            ldc "Signature"
            aastore
            dup
            bipush 7
        10: .line 660
            ldc "LineNumberTable"
            aastore
            dup
            bipush 8
        11: .line 661
            ldc "LocalVariableTable"
            aastore
            dup
            bipush 9
        12: .line 662
            ldc "LocalVariableTypeTable"
            aastore
            dup
            bipush 10
        13: .line 663
            ldc "RuntimeVisibleParameterAnnotations"
            aastore
            dup
            bipush 11
        14: .line 664
            ldc "RuntimeInvisibleParameterAnnotations"
            aastore
            dup
            bipush 12
        15: .line 665
            ldc "RuntimeVisibleTypeAnnotations"
            aastore
            dup
            bipush 13
        16: .line 666
            ldc "RuntimeInvisibleTypeAnnotations"
            aastore
            dup
            bipush 14
        17: .line 667
            ldc "Synthetic"
            aastore
            dup
            bipush 15
        18: .line 668
            ldc "AnnotationDefault"
            aastore
            dup
            bipush 16
        19: .line 669
            ldc "BootstrapMethods"
            aastore
            dup
            bipush 17
        20: .line 670
            ldc "MethodParameters"
            aastore
        21: .line 652
            invokestatic java.util.Set.of:([Ljava/lang/Object;)Ljava/util/Set;
            astore 1 /* notAllowed */
        22: .line 671
            aload 1 /* notAllowed */
            putstatic jdk.internal.module.ModuleInfo.predefinedNotAllowed:Ljava/util/Set;
        23: .line 673
      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 1091
            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 1099
            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