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

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

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

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

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

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

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

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

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

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

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

  private jdk.internal.module.ModuleInfo$Attributes doRead(java.io.DataInput);
    descriptor: (Ljava/io/DataInput;)Ljdk/internal/module/ModuleInfo$Attributes;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=26, args_size=2
        start local 0 // jdk.internal.module.ModuleInfo this
        start local 1 // java.io.DataInput in
         0: .line 185
            aload 1 /* in */
            invokeinterface java.io.DataInput.readInt:()I
            istore 2 /* magic */
        start local 2 // int magic
         1: .line 186
            iload 2 /* magic */
            ldc -889275714
            if_icmpeq 3
         2: .line 187
            ldc "Bad magic number"
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
         3: .line 189
      StackMap locals: int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            pop
         4: .line 190
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 3 /* major_version */
        start local 3 // int major_version
         5: .line 191
            iload 3 /* major_version */
            bipush 53
            if_icmpge 7
         6: .line 192
            ldc "Must be >= 53.0"
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
         7: .line 195
      StackMap locals: int
      StackMap stack:
            new jdk.internal.module.ModuleInfo$ConstantPool
            dup
            aload 1 /* in */
            invokespecial jdk.internal.module.ModuleInfo$ConstantPool.<init>:(Ljava/io/DataInput;)V
            astore 4 /* cpool */
        start local 4 // jdk.internal.module.ModuleInfo$ConstantPool cpool
         8: .line 197
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 5 /* access_flags */
        start local 5 // int access_flags
         9: .line 198
            iload 5 /* access_flags */
            ldc 32768
            if_icmpeq 11
        10: .line 199
            ldc "access_flags should be ACC_MODULE"
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        11: .line 201
      StackMap locals: jdk.internal.module.ModuleInfo$ConstantPool int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 6 /* this_class */
        start local 6 // int this_class
        12: .line 202
            aload 4 /* cpool */
            iload 6 /* this_class */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getClassName:(I)Ljava/lang/String;
            astore 7 /* mn */
        start local 7 // java.lang.String mn
        13: .line 203
            ldc "module-info"
            aload 7 /* mn */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
        14: .line 204
            ldc "this_class should be module-info"
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        15: .line 206
      StackMap locals: int java.lang.String
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 8 /* super_class */
        start local 8 // int super_class
        16: .line 207
            iload 8 /* super_class */
            ifle 18
        17: .line 208
            ldc "bad #super_class"
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        18: .line 210
      StackMap locals: int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 9 /* interfaces_count */
        start local 9 // int interfaces_count
        19: .line 211
            iload 9 /* interfaces_count */
            ifle 21
        20: .line 212
            ldc "Bad #interfaces"
            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 /* fields_count */
        start local 10 // int fields_count
        22: .line 215
            iload 10 /* fields_count */
            ifle 24
        23: .line 216
            ldc "Bad #fields"
            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 /* methods_count */
        start local 11 // int methods_count
        25: .line 219
            iload 11 /* methods_count */
            ifle 27
        26: .line 220
            ldc "Bad #methods"
            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 /* attributes_count */
        start local 12 // int attributes_count
        28: .line 225
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 13 /* attributes */
        start local 13 // java.util.Set attributes
        29: .line 227
            aconst_null
            astore 14 /* builder */
        start local 14 // java.lang.module.ModuleDescriptor$Builder builder
        30: .line 228
            aconst_null
            astore 15 /* allPackages */
        start local 15 // java.util.Set allPackages
        31: .line 229
            aconst_null
            astore 16 /* mainClass */
        start local 16 // java.lang.String mainClass
        32: .line 230
            aconst_null
            astore 17 /* moduleTarget */
        start local 17 // jdk.internal.module.ModuleTarget moduleTarget
        33: .line 231
            aconst_null
            astore 18 /* moduelHashes */
        start local 18 // jdk.internal.module.ModuleHashes moduelHashes
        34: .line 232
            aconst_null
            astore 19 /* moduleResolution */
        start local 19 // jdk.internal.module.ModuleResolution moduleResolution
        35: .line 234
            iconst_0
            istore 20 /* i */
        start local 20 // int i
        36: goto 73
        37: .line 235
      StackMap locals: jdk.internal.module.ModuleInfo java.io.DataInput 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 21 /* name_index */
        start local 21 // int name_index
        38: .line 236
            aload 4 /* cpool */
            iload 21 /* name_index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getUtf8:(I)Ljava/lang/String;
            astore 22 /* attribute_name */
        start local 22 // java.lang.String attribute_name
        39: .line 237
            aload 1 /* in */
            invokeinterface java.io.DataInput.readInt:()I
            istore 23 /* length */
        start local 23 // int length
        40: .line 239
            aload 13 /* attributes */
            aload 22 /* attribute_name */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            istore 24 /* added */
        start local 24 // boolean added
        41: .line 240
            iload 24 /* added */
            ifne 45
            aload 22 /* attribute_name */
            invokestatic jdk.internal.module.ModuleInfo.isAttributeAtMostOnce:(Ljava/lang/String;)Z
            ifeq 45
        42: .line 241
            new java.lang.StringBuilder
            dup
            ldc "More than one "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        43: .line 242
            aload 22 /* 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;
        44: .line 241
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        45: .line 245
      StackMap locals: jdk.internal.module.ModuleInfo java.io.DataInput 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 22 /* attribute_name */
            dup
            astore 25
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 6
          -1984916852: 46
            539437144: 47
            654770073: 48
           1038813715: 49
           1103964136: 50
           1447483197: 51
              default: 67
          }
      StackMap locals: java.lang.String
      StackMap stack:
        46: aload 25
            ldc "Module"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 52
            goto 67
      StackMap locals:
      StackMap stack:
        47: aload 25
            ldc "ModuleResolution"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 65
            goto 67
      StackMap locals:
      StackMap stack:
        48: aload 25
            ldc "ModulePackages"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 54
            goto 67
      StackMap locals:
      StackMap stack:
        49: aload 25
            ldc "ModuleMainClass"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 56
            goto 67
      StackMap locals:
      StackMap stack:
        50: aload 25
            ldc "ModuleHashes"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 60
            goto 67
      StackMap locals:
      StackMap stack:
        51: aload 25
            ldc "ModuleTarget"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 58
            goto 67
        52: .line 248
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* in */
            aload 4 /* cpool */
            invokevirtual jdk.internal.module.ModuleInfo.readModuleAttribute:(Ljava/io/DataInput;Ljdk/internal/module/ModuleInfo$ConstantPool;)Ljava/lang/module/ModuleDescriptor$Builder;
            astore 14 /* builder */
        53: .line 249
            goto 72
        54: .line 252
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* in */
            aload 4 /* cpool */
            invokevirtual jdk.internal.module.ModuleInfo.readModulePackagesAttribute:(Ljava/io/DataInput;Ljdk/internal/module/ModuleInfo$ConstantPool;)Ljava/util/Set;
            astore 15 /* allPackages */
        55: .line 253
            goto 72
        56: .line 256
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* in */
            aload 4 /* cpool */
            invokevirtual jdk.internal.module.ModuleInfo.readModuleMainClassAttribute:(Ljava/io/DataInput;Ljdk/internal/module/ModuleInfo$ConstantPool;)Ljava/lang/String;
            astore 16 /* mainClass */
        57: .line 257
            goto 72
        58: .line 260
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* in */
            aload 4 /* cpool */
            invokevirtual jdk.internal.module.ModuleInfo.readModuleTargetAttribute:(Ljava/io/DataInput;Ljdk/internal/module/ModuleInfo$ConstantPool;)Ljdk/internal/module/ModuleTarget;
            astore 17 /* moduleTarget */
        59: .line 261
            goto 72
        60: .line 264
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.module.ModuleInfo.parseHashes:Z
            ifeq 63
        61: .line 265
            aload 0 /* this */
            aload 1 /* in */
            aload 4 /* cpool */
            invokevirtual jdk.internal.module.ModuleInfo.readModuleHashesAttribute:(Ljava/io/DataInput;Ljdk/internal/module/ModuleInfo$ConstantPool;)Ljdk/internal/module/ModuleHashes;
            astore 18 /* moduelHashes */
        62: .line 266
            goto 72
        63: .line 267
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            iload 23 /* length */
            invokeinterface java.io.DataInput.skipBytes:(I)I
            pop
        64: .line 269
            goto 72
        65: .line 272
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* in */
            aload 4 /* cpool */
            invokevirtual jdk.internal.module.ModuleInfo.readModuleResolution:(Ljava/io/DataInput;Ljdk/internal/module/ModuleInfo$ConstantPool;)Ljdk/internal/module/ModuleResolution;
            astore 19 /* moduleResolution */
        66: .line 273
            goto 72
        67: .line 276
      StackMap locals:
      StackMap stack:
            aload 22 /* attribute_name */
            invokestatic jdk.internal.module.ModuleInfo.isAttributeDisallowed:(Ljava/lang/String;)Z
            ifeq 71
        68: .line 277
            new java.lang.StringBuilder
            dup
            aload 22 /* attribute_name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        69: .line 278
            ldc " attribute not allowed"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        70: .line 277
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        71: .line 280
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            iload 23 /* length */
            invokeinterface java.io.DataInput.skipBytes:(I)I
            pop
        end local 24 // boolean added
        end local 23 // int length
        end local 22 // java.lang.String attribute_name
        end local 21 // int name_index
        72: .line 234
      StackMap locals: jdk.internal.module.ModuleInfo java.io.DataInput 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 20 /* i */ 1
      StackMap locals:
      StackMap stack:
        73: iload 20 /* i */
            iload 12 /* attributes_count */
            if_icmplt 37
        end local 20 // int i
        74: .line 287
            aload 14 /* builder */
            ifnonnull 76
        75: .line 288
            ldc "Module attribute not found"
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        76: .line 292
      StackMap locals:
      StackMap stack:
            aload 16 /* mainClass */
            ifnull 78
        77: .line 293
            aload 14 /* builder */
            aload 16 /* mainClass */
            invokevirtual java.lang.module.ModuleDescriptor$Builder.mainClass:(Ljava/lang/String;)Ljava/lang/module/ModuleDescriptor$Builder;
            pop
        78: .line 298
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 20 /* usedPackageFinder */
        start local 20 // boolean usedPackageFinder
        79: .line 299
            aload 15 /* allPackages */
            ifnonnull 85
            aload 0 /* this */
            getfield jdk.internal.module.ModuleInfo.packageFinder:Ljava/util/function/Supplier;
            ifnull 85
        80: .line 301
            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 15 /* allPackages */
        81: .line 302
            goto 84
      StackMap locals: jdk.internal.module.ModuleInfo java.io.DataInput 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
        82: astore 21 /* x */
        start local 21 // java.io.UncheckedIOException x
        83: .line 303
            aload 21 /* x */
            invokevirtual java.io.UncheckedIOException.getCause:()Ljava/io/IOException;
            athrow
        end local 21 // java.io.UncheckedIOException x
        84: .line 305
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 20 /* usedPackageFinder */
        85: .line 307
      StackMap locals:
      StackMap stack:
            aload 15 /* allPackages */
            ifnull 98
        86: .line 308
            getstatic jdk.internal.module.ModuleInfo.JLMA:Ljdk/internal/misc/JavaLangModuleAccess;
            aload 14 /* builder */
            invokeinterface jdk.internal.misc.JavaLangModuleAccess.packages:(Ljava/lang/module/ModuleDescriptor$Builder;)Ljava/util/Set;
            astore 21 /* knownPackages */
        start local 21 // java.util.Set knownPackages
        87: .line 309
            aload 15 /* allPackages */
            aload 21 /* knownPackages */
            invokeinterface java.util.Set.containsAll:(Ljava/util/Collection;)Z
            ifne 97
        88: .line 310
            new java.util.HashSet
            dup
            aload 21 /* knownPackages */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 22 /* missingPackages */
        start local 22 // java.util.Set missingPackages
        89: .line 311
            aload 22 /* missingPackages */
            aload 15 /* allPackages */
            invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
            pop
        90: .line 312
            getstatic jdk.internal.module.ModuleInfo.$assertionsDisabled:Z
            ifne 91
            aload 22 /* missingPackages */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 91
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        91: .line 313
      StackMap locals: java.util.Set java.util.Set
      StackMap stack:
            aload 22 /* missingPackages */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 23 /* missingPackage */
        start local 23 // java.lang.String missingPackage
        92: .line 315
            iload 20 /* usedPackageFinder */
            ifeq 95
        93: .line 316
            ldc " not found in module"
            astore 24 /* tail */
        start local 24 // java.lang.String tail
        94: .line 317
            goto 96
        end local 24 // java.lang.String tail
        95: .line 318
      StackMap locals: java.lang.String
      StackMap stack:
            ldc " missing from ModulePackages class file attribute"
            astore 24 /* tail */
        start local 24 // java.lang.String tail
        96: .line 320
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Package "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 23 /* missingPackage */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 24 /* 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 24 // java.lang.String tail
        end local 23 // java.lang.String missingPackage
        end local 22 // java.util.Set missingPackages
        97: .line 323
      StackMap locals:
      StackMap stack:
            aload 14 /* builder */
            aload 15 /* allPackages */
            invokevirtual java.lang.module.ModuleDescriptor$Builder.packages:(Ljava/util/Set;)Ljava/lang/module/ModuleDescriptor$Builder;
            pop
        end local 21 // java.util.Set knownPackages
        98: .line 326
      StackMap locals:
      StackMap stack:
            aload 14 /* builder */
            invokevirtual java.lang.module.ModuleDescriptor$Builder.build:()Ljava/lang/module/ModuleDescriptor;
            astore 21 /* descriptor */
        start local 21 // java.lang.module.ModuleDescriptor descriptor
        99: .line 327
            new jdk.internal.module.ModuleInfo$Attributes
            dup
            aload 21 /* descriptor */
       100: .line 328
            aload 17 /* moduleTarget */
       101: .line 329
            aload 18 /* moduelHashes */
       102: .line 330
            aload 19 /* moduleResolution */
       103: .line 327
            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 21 // java.lang.module.ModuleDescriptor descriptor
        end local 20 // boolean usedPackageFinder
        end local 19 // jdk.internal.module.ModuleResolution moduleResolution
        end local 18 // jdk.internal.module.ModuleHashes moduelHashes
        end local 17 // jdk.internal.module.ModuleTarget moduleTarget
        end local 16 // java.lang.String mainClass
        end local 15 // java.util.Set allPackages
        end local 14 // java.lang.module.ModuleDescriptor$Builder builder
        end local 13 // java.util.Set attributes
        end local 12 // int attributes_count
        end local 11 // int methods_count
        end local 10 // int fields_count
        end local 9 // int interfaces_count
        end local 8 // int super_class
        end local 7 // java.lang.String mn
        end local 6 // int this_class
        end local 5 // int access_flags
        end local 4 // jdk.internal.module.ModuleInfo$ConstantPool cpool
        end local 3 // int major_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  104     0               this  Ljdk/internal/module/ModuleInfo;
            0  104     1                 in  Ljava/io/DataInput;
            1  104     2              magic  I
            5  104     3      major_version  I
            8  104     4              cpool  Ljdk/internal/module/ModuleInfo$ConstantPool;
            9  104     5       access_flags  I
           12  104     6         this_class  I
           13  104     7                 mn  Ljava/lang/String;
           16  104     8        super_class  I
           19  104     9   interfaces_count  I
           22  104    10       fields_count  I
           25  104    11      methods_count  I
           28  104    12   attributes_count  I
           29  104    13         attributes  Ljava/util/Set<Ljava/lang/String;>;
           30  104    14            builder  Ljava/lang/module/ModuleDescriptor$Builder;
           31  104    15        allPackages  Ljava/util/Set<Ljava/lang/String;>;
           32  104    16          mainClass  Ljava/lang/String;
           33  104    17       moduleTarget  Ljdk/internal/module/ModuleTarget;
           34  104    18       moduelHashes  Ljdk/internal/module/ModuleHashes;
           35  104    19   moduleResolution  Ljdk/internal/module/ModuleResolution;
           36   74    20                  i  I
           38   72    21         name_index  I
           39   72    22     attribute_name  Ljava/lang/String;
           40   72    23             length  I
           41   72    24              added  Z
           79  104    20  usedPackageFinder  Z
           83   84    21                  x  Ljava/io/UncheckedIOException;
           87   98    21      knownPackages  Ljava/util/Set<Ljava/lang/String;>;
           89   97    22    missingPackages  Ljava/util/Set<Ljava/lang/String;>;
           92   97    23     missingPackage  Ljava/lang/String;
           94   95    24               tail  Ljava/lang/String;
           96   97    24               tail  Ljava/lang/String;
           99  104    21         descriptor  Ljava/lang/module/ModuleDescriptor;
      Exception table:
        from    to  target  type
          80    81      82  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);
    descriptor: (Ljava/io/DataInput;Ljdk/internal/module/ModuleInfo$ConstantPool;)Ljava/lang/module/ModuleDescriptor$Builder;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=24, 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 341
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 3 /* module_name_index */
        start local 3 // int module_name_index
         1: .line 342
            aload 2 /* cpool */
            iload 3 /* module_name_index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getModuleName:(I)Ljava/lang/String;
            astore 4 /* mn */
        start local 4 // java.lang.String mn
         2: .line 344
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 5 /* module_flags */
        start local 5 // int module_flags
         3: .line 346
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 6 /* modifiers */
        start local 6 // java.util.Set modifiers
         4: .line 347
            iload 5 /* 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 java.lang.String int java.util.Set
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 7 /* open */
        start local 7 // boolean open
         7: .line 348
            iload 7 /* open */
            ifeq 9
         8: .line 349
            aload 6 /* 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 350
      StackMap locals: int
      StackMap stack:
            iload 5 /* module_flags */
            sipush 4096
            iand
            ifeq 11
        10: .line 351
            aload 6 /* 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 352
      StackMap locals:
      StackMap stack:
            iload 5 /* module_flags */
            ldc 32768
            iand
            ifeq 13
        12: .line 353
            aload 6 /* 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 355
      StackMap locals:
      StackMap stack:
            getstatic jdk.internal.module.ModuleInfo.JLMA:Ljdk/internal/misc/JavaLangModuleAccess;
            aload 4 /* mn */
            iconst_0
            aload 6 /* modifiers */
            invokeinterface jdk.internal.misc.JavaLangModuleAccess.newModuleBuilder:(Ljava/lang/String;ZLjava/util/Set;)Ljava/lang/module/ModuleDescriptor$Builder;
            astore 8 /* builder */
        start local 8 // java.lang.module.ModuleDescriptor$Builder builder
        14: .line 357
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 9 /* module_version_index */
        start local 9 // int module_version_index
        15: .line 358
            iload 9 /* module_version_index */
            ifeq 18
        16: .line 359
            aload 2 /* cpool */
            iload 9 /* module_version_index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getUtf8:(I)Ljava/lang/String;
            astore 10 /* vs */
        start local 10 // java.lang.String vs
        17: .line 360
            aload 8 /* builder */
            aload 10 /* vs */
            invokevirtual java.lang.module.ModuleDescriptor$Builder.version:(Ljava/lang/String;)Ljava/lang/module/ModuleDescriptor$Builder;
            pop
        end local 10 // java.lang.String vs
        18: .line 363
      StackMap locals: java.lang.module.ModuleDescriptor$Builder int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 10 /* requires_count */
        start local 10 // int requires_count
        19: .line 364
            iconst_0
            istore 11 /* requiresJavaBase */
        start local 11 // boolean requiresJavaBase
        20: .line 365
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        21: goto 46
        22: .line 366
      StackMap locals: int int int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 13 /* requires_index */
        start local 13 // int requires_index
        23: .line 367
            aload 2 /* cpool */
            iload 13 /* requires_index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getModuleName:(I)Ljava/lang/String;
            astore 14 /* dn */
        start local 14 // java.lang.String dn
        24: .line 369
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 15 /* requires_flags */
        start local 15 // int requires_flags
        25: .line 371
            iload 15 /* requires_flags */
            ifne 28
        26: .line 372
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            astore 16 /* mods */
        start local 16 // java.util.Set mods
        27: .line 373
            goto 37
        end local 16 // java.util.Set mods
        28: .line 374
      StackMap locals: int java.lang.String int
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 16 /* mods */
        start local 16 // java.util.Set mods
        29: .line 375
            iload 15 /* requires_flags */
            bipush 32
            iand
            ifeq 31
        30: .line 376
            aload 16 /* 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 377
      StackMap locals: java.util.Set
      StackMap stack:
            iload 15 /* requires_flags */
            bipush 64
            iand
            ifeq 33
        32: .line 378
            aload 16 /* 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 379
      StackMap locals:
      StackMap stack:
            iload 15 /* requires_flags */
            sipush 4096
            iand
            ifeq 35
        34: .line 380
            aload 16 /* 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 381
      StackMap locals:
      StackMap stack:
            iload 15 /* requires_flags */
            ldc 32768
            iand
            ifeq 37
        36: .line 382
            aload 16 /* 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 385
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 17 /* requires_version_index */
        start local 17 // int requires_version_index
        38: .line 386
            iload 17 /* requires_version_index */
            ifne 41
        39: .line 387
            aload 8 /* builder */
            aload 16 /* mods */
            aload 14 /* dn */
            invokevirtual java.lang.module.ModuleDescriptor$Builder.requires:(Ljava/util/Set;Ljava/lang/String;)Ljava/lang/module/ModuleDescriptor$Builder;
            pop
        40: .line 388
            goto 43
        41: .line 389
      StackMap locals: int
      StackMap stack:
            aload 2 /* cpool */
            iload 17 /* requires_version_index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getUtf8:(I)Ljava/lang/String;
            astore 18 /* vs */
        start local 18 // java.lang.String vs
        42: .line 390
            getstatic jdk.internal.module.ModuleInfo.JLMA:Ljdk/internal/misc/JavaLangModuleAccess;
            aload 8 /* builder */
            aload 16 /* mods */
            aload 14 /* dn */
            aload 18 /* vs */
            invokeinterface jdk.internal.misc.JavaLangModuleAccess.requires:(Ljava/lang/module/ModuleDescriptor$Builder;Ljava/util/Set;Ljava/lang/String;Ljava/lang/String;)V
        end local 18 // java.lang.String vs
        43: .line 393
      StackMap locals:
      StackMap stack:
            aload 14 /* dn */
            ldc "java.base"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 45
        44: .line 394
            iconst_1
            istore 11 /* requiresJavaBase */
        end local 17 // int requires_version_index
        end local 16 // java.util.Set mods
        end local 15 // int requires_flags
        end local 14 // java.lang.String dn
        end local 13 // int requires_index
        45: .line 365
      StackMap locals: jdk.internal.module.ModuleInfo java.io.DataInput jdk.internal.module.ModuleInfo$ConstantPool int java.lang.String int java.util.Set int java.lang.module.ModuleDescriptor$Builder int int int int
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        46: iload 12 /* i */
            iload 10 /* requires_count */
            if_icmplt 22
        end local 12 // int i
        47: .line 396
            aload 4 /* mn */
            ldc "java.base"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 50
        48: .line 397
            iload 10 /* requires_count */
            ifle 52
        49: .line 398
            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
        50: .line 401
      StackMap locals:
      StackMap stack:
            iload 11 /* requiresJavaBase */
            ifne 52
        51: .line 402
            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
        52: .line 406
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 12 /* exports_count */
        start local 12 // int exports_count
        53: .line 407
            iload 12 /* exports_count */
            ifle 85
        54: .line 408
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        55: goto 84
        56: .line 409
      StackMap locals: int int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 14 /* exports_index */
        start local 14 // int exports_index
        57: .line 410
            aload 2 /* cpool */
            iload 14 /* exports_index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getPackageName:(I)Ljava/lang/String;
            astore 15 /* pkg */
        start local 15 // java.lang.String pkg
        58: .line 413
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 17 /* exports_flags */
        start local 17 // int exports_flags
        59: .line 414
            iload 17 /* exports_flags */
            ifne 62
        60: .line 415
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            astore 16 /* mods */
        start local 16 // java.util.Set mods
        61: .line 416
            goto 67
        end local 16 // java.util.Set mods
        62: .line 417
      StackMap locals: jdk.internal.module.ModuleInfo java.io.DataInput jdk.internal.module.ModuleInfo$ConstantPool 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 16 /* mods */
        start local 16 // java.util.Set mods
        63: .line 418
            iload 17 /* exports_flags */
            sipush 4096
            iand
            ifeq 65
        64: .line 419
            aload 16 /* 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
        65: .line 420
      StackMap locals: jdk.internal.module.ModuleInfo java.io.DataInput jdk.internal.module.ModuleInfo$ConstantPool 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 17 /* exports_flags */
            ldc 32768
            iand
            ifeq 67
        66: .line 421
            aload 16 /* 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
        67: .line 424
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 18 /* exports_to_count */
        start local 18 // int exports_to_count
        68: .line 425
            iload 18 /* exports_to_count */
            ifle 82
        69: .line 426
            new java.util.HashSet
            dup
            iload 18 /* exports_to_count */
            invokespecial java.util.HashSet.<init>:(I)V
            astore 19 /* targets */
        start local 19 // java.util.Set targets
        70: .line 427
            iconst_0
            istore 20 /* j */
        start local 20 // int j
        71: goto 79
        72: .line 428
      StackMap locals: int java.util.Set int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 21 /* exports_to_index */
        start local 21 // int exports_to_index
        73: .line 429
            aload 2 /* cpool */
            iload 21 /* exports_to_index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getModuleName:(I)Ljava/lang/String;
            astore 22 /* target */
        start local 22 // java.lang.String target
        74: .line 430
            aload 19 /* targets */
            aload 22 /* target */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifne 78
        75: .line 431
            new java.lang.StringBuilder
            dup
            aload 15 /* 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;
        76: .line 432
            aload 22 /* 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;
        77: .line 431
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        end local 22 // java.lang.String target
        end local 21 // int exports_to_index
        78: .line 427
      StackMap locals:
      StackMap stack:
            iinc 20 /* j */ 1
      StackMap locals:
      StackMap stack:
        79: iload 20 /* j */
            iload 18 /* exports_to_count */
            if_icmplt 72
        end local 20 // int j
        80: .line 435
            aload 8 /* builder */
            aload 16 /* mods */
            aload 15 /* pkg */
            aload 19 /* 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 19 // java.util.Set targets
        81: .line 436
            goto 83
        82: .line 437
      StackMap locals:
      StackMap stack:
            aload 8 /* builder */
            aload 16 /* mods */
            aload 15 /* pkg */
            invokevirtual java.lang.module.ModuleDescriptor$Builder.exports:(Ljava/util/Set;Ljava/lang/String;)Ljava/lang/module/ModuleDescriptor$Builder;
            pop
        end local 18 // int exports_to_count
        end local 17 // int exports_flags
        end local 16 // java.util.Set mods
        end local 15 // java.lang.String pkg
        end local 14 // int exports_index
        83: .line 408
      StackMap locals: jdk.internal.module.ModuleInfo java.io.DataInput jdk.internal.module.ModuleInfo$ConstantPool int java.lang.String int java.util.Set int java.lang.module.ModuleDescriptor$Builder int int int int int
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        84: iload 13 /* i */
            iload 12 /* exports_count */
            if_icmplt 56
        end local 13 // int i
        85: .line 442
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 13 /* opens_count */
        start local 13 // int opens_count
        86: .line 443
            iload 13 /* opens_count */
            ifle 120
        87: .line 444
            iload 7 /* open */
            ifeq 89
        88: .line 445
            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
        89: .line 448
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        90: goto 119
        91: .line 449
      StackMap locals: int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 15 /* opens_index */
        start local 15 // int opens_index
        92: .line 450
            aload 2 /* cpool */
            iload 15 /* opens_index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getPackageName:(I)Ljava/lang/String;
            astore 16 /* pkg */
        start local 16 // java.lang.String pkg
        93: .line 453
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 18 /* opens_flags */
        start local 18 // int opens_flags
        94: .line 454
            iload 18 /* opens_flags */
            ifne 97
        95: .line 455
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            astore 17 /* mods */
        start local 17 // java.util.Set mods
        96: .line 456
            goto 102
        end local 17 // java.util.Set mods
        97: .line 457
      StackMap locals: jdk.internal.module.ModuleInfo java.io.DataInput jdk.internal.module.ModuleInfo$ConstantPool 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 17 /* mods */
        start local 17 // java.util.Set mods
        98: .line 458
            iload 18 /* opens_flags */
            sipush 4096
            iand
            ifeq 100
        99: .line 459
            aload 17 /* 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
       100: .line 460
      StackMap locals: jdk.internal.module.ModuleInfo java.io.DataInput jdk.internal.module.ModuleInfo$ConstantPool 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 18 /* opens_flags */
            ldc 32768
            iand
            ifeq 102
       101: .line 461
            aload 17 /* 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
       102: .line 464
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 19 /* open_to_count */
        start local 19 // int open_to_count
       103: .line 465
            iload 19 /* open_to_count */
            ifle 117
       104: .line 466
            new java.util.HashSet
            dup
            iload 19 /* open_to_count */
            invokespecial java.util.HashSet.<init>:(I)V
            astore 20 /* targets */
        start local 20 // java.util.Set targets
       105: .line 467
            iconst_0
            istore 21 /* j */
        start local 21 // int j
       106: goto 114
       107: .line 468
      StackMap locals: int java.util.Set int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 22 /* opens_to_index */
        start local 22 // int opens_to_index
       108: .line 469
            aload 2 /* cpool */
            iload 22 /* opens_to_index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getModuleName:(I)Ljava/lang/String;
            astore 23 /* target */
        start local 23 // java.lang.String target
       109: .line 470
            aload 20 /* targets */
            aload 23 /* target */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifne 113
       110: .line 471
            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 " opened to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       111: .line 472
            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;
       112: .line 471
            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 opens_to_index
       113: .line 467
      StackMap locals:
      StackMap stack:
            iinc 21 /* j */ 1
      StackMap locals:
      StackMap stack:
       114: iload 21 /* j */
            iload 19 /* open_to_count */
            if_icmplt 107
        end local 21 // int j
       115: .line 475
            aload 8 /* builder */
            aload 17 /* mods */
            aload 16 /* pkg */
            aload 20 /* 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 20 // java.util.Set targets
       116: .line 476
            goto 118
       117: .line 477
      StackMap locals:
      StackMap stack:
            aload 8 /* builder */
            aload 17 /* mods */
            aload 16 /* pkg */
            invokevirtual java.lang.module.ModuleDescriptor$Builder.opens:(Ljava/util/Set;Ljava/lang/String;)Ljava/lang/module/ModuleDescriptor$Builder;
            pop
        end local 19 // int open_to_count
        end local 18 // int opens_flags
        end local 17 // java.util.Set mods
        end local 16 // java.lang.String pkg
        end local 15 // int opens_index
       118: .line 448
      StackMap locals: jdk.internal.module.ModuleInfo java.io.DataInput jdk.internal.module.ModuleInfo$ConstantPool int java.lang.String int java.util.Set int java.lang.module.ModuleDescriptor$Builder int int int int int int
      StackMap stack:
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
       119: iload 14 /* i */
            iload 13 /* opens_count */
            if_icmplt 91
        end local 14 // int i
       120: .line 482
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 14 /* uses_count */
        start local 14 // int uses_count
       121: .line 483
            iload 14 /* uses_count */
            ifle 129
       122: .line 484
            iconst_0
            istore 15 /* i */
        start local 15 // int i
       123: goto 128
       124: .line 485
      StackMap locals: int int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 16 /* index */
        start local 16 // int index
       125: .line 486
            aload 2 /* cpool */
            iload 16 /* index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getClassName:(I)Ljava/lang/String;
            astore 17 /* sn */
        start local 17 // java.lang.String sn
       126: .line 487
            aload 8 /* builder */
            aload 17 /* sn */
            invokevirtual java.lang.module.ModuleDescriptor$Builder.uses:(Ljava/lang/String;)Ljava/lang/module/ModuleDescriptor$Builder;
            pop
        end local 17 // java.lang.String sn
        end local 16 // int index
       127: .line 484
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
       128: iload 15 /* i */
            iload 14 /* uses_count */
            if_icmplt 124
        end local 15 // int i
       129: .line 491
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 15 /* provides_count */
        start local 15 // int provides_count
       130: .line 492
            iload 15 /* provides_count */
            ifle 150
       131: .line 493
            iconst_0
            istore 16 /* i */
        start local 16 // int i
       132: goto 149
       133: .line 494
      StackMap locals: int int
      StackMap stack:
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 17 /* index */
        start local 17 // int index
       134: .line 495
            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
       135: .line 496
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 19 /* with_count */
        start local 19 // int with_count
       136: .line 497
            new java.util.ArrayList
            dup
            iload 19 /* with_count */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 20 /* providers */
        start local 20 // java.util.List providers
       137: .line 498
            iconst_0
            istore 21 /* j */
        start local 21 // int j
       138: goto 146
       139: .line 499
      StackMap locals: jdk.internal.module.ModuleInfo java.io.DataInput jdk.internal.module.ModuleInfo$ConstantPool 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 17 /* index */
       140: .line 500
            aload 2 /* cpool */
            iload 17 /* index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getClassName:(I)Ljava/lang/String;
            astore 22 /* pn */
        start local 22 // java.lang.String pn
       141: .line 501
            aload 20 /* providers */
            aload 22 /* pn */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            ifne 145
       142: .line 502
            new java.lang.StringBuilder
            dup
            aload 18 /* 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 22 /* pn */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       143: .line 503
            ldc " more than once"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       144: .line 502
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        end local 22 // java.lang.String pn
       145: .line 498
      StackMap locals:
      StackMap stack:
            iinc 21 /* j */ 1
      StackMap locals:
      StackMap stack:
       146: iload 21 /* j */
            iload 19 /* with_count */
            if_icmplt 139
        end local 21 // int j
       147: .line 506
            aload 8 /* builder */
            aload 18 /* sn */
            aload 20 /* providers */
            invokevirtual java.lang.module.ModuleDescriptor$Builder.provides:(Ljava/lang/String;Ljava/util/List;)Ljava/lang/module/ModuleDescriptor$Builder;
            pop
        end local 20 // java.util.List providers
        end local 19 // int with_count
        end local 18 // java.lang.String sn
        end local 17 // int index
       148: .line 493
            iinc 16 /* i */ 1
      StackMap locals: jdk.internal.module.ModuleInfo java.io.DataInput jdk.internal.module.ModuleInfo$ConstantPool int java.lang.String int java.util.Set int java.lang.module.ModuleDescriptor$Builder int int int int int int int int
      StackMap stack:
       149: iload 16 /* i */
            iload 15 /* provides_count */
            if_icmplt 133
        end local 16 // int i
       150: .line 510
      StackMap locals:
      StackMap stack:
            aload 8 /* builder */
            areturn
        end local 15 // int provides_count
        end local 14 // int uses_count
        end local 13 // int opens_count
        end local 12 // int exports_count
        end local 11 // boolean requiresJavaBase
        end local 10 // int requires_count
        end local 9 // int module_version_index
        end local 8 // java.lang.module.ModuleDescriptor$Builder builder
        end local 7 // boolean open
        end local 6 // java.util.Set modifiers
        end local 5 // int module_flags
        end local 4 // java.lang.String mn
        end local 3 // int module_name_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  151     0                    this  Ljdk/internal/module/ModuleInfo;
            0  151     1                      in  Ljava/io/DataInput;
            0  151     2                   cpool  Ljdk/internal/module/ModuleInfo$ConstantPool;
            1  151     3       module_name_index  I
            2  151     4                      mn  Ljava/lang/String;
            3  151     5            module_flags  I
            4  151     6               modifiers  Ljava/util/Set<Ljava/lang/module/ModuleDescriptor$Modifier;>;
            7  151     7                    open  Z
           14  151     8                 builder  Ljava/lang/module/ModuleDescriptor$Builder;
           15  151     9    module_version_index  I
           17   18    10                      vs  Ljava/lang/String;
           19  151    10          requires_count  I
           20  151    11        requiresJavaBase  Z
           21   47    12                       i  I
           23   45    13          requires_index  I
           24   45    14                      dn  Ljava/lang/String;
           25   45    15          requires_flags  I
           27   28    16                    mods  Ljava/util/Set<Ljava/lang/module/ModuleDescriptor$Requires$Modifier;>;
           29   45    16                    mods  Ljava/util/Set<Ljava/lang/module/ModuleDescriptor$Requires$Modifier;>;
           38   45    17  requires_version_index  I
           42   43    18                      vs  Ljava/lang/String;
           53  151    12           exports_count  I
           55   85    13                       i  I
           57   83    14           exports_index  I
           58   83    15                     pkg  Ljava/lang/String;
           61   62    16                    mods  Ljava/util/Set<Ljava/lang/module/ModuleDescriptor$Exports$Modifier;>;
           63   83    16                    mods  Ljava/util/Set<Ljava/lang/module/ModuleDescriptor$Exports$Modifier;>;
           59   83    17           exports_flags  I
           68   83    18        exports_to_count  I
           70   81    19                 targets  Ljava/util/Set<Ljava/lang/String;>;
           71   80    20                       j  I
           73   78    21        exports_to_index  I
           74   78    22                  target  Ljava/lang/String;
           86  151    13             opens_count  I
           90  120    14                       i  I
           92  118    15             opens_index  I
           93  118    16                     pkg  Ljava/lang/String;
           96   97    17                    mods  Ljava/util/Set<Ljava/lang/module/ModuleDescriptor$Opens$Modifier;>;
           98  118    17                    mods  Ljava/util/Set<Ljava/lang/module/ModuleDescriptor$Opens$Modifier;>;
           94  118    18             opens_flags  I
          103  118    19           open_to_count  I
          105  116    20                 targets  Ljava/util/Set<Ljava/lang/String;>;
          106  115    21                       j  I
          108  113    22          opens_to_index  I
          109  113    23                  target  Ljava/lang/String;
          121  151    14              uses_count  I
          123  129    15                       i  I
          125  127    16                   index  I
          126  127    17                      sn  Ljava/lang/String;
          130  151    15          provides_count  I
          132  150    16                       i  I
          134  148    17                   index  I
          135  148    18                      sn  Ljava/lang/String;
          136  148    19              with_count  I
          137  148    20               providers  Ljava/util/List<Ljava/lang/String;>;
          138  147    21                       j  I
          141  145    22                      pn  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      in     
      cpool  

  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 519
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 3 /* package_count */
        start local 3 // int package_count
         1: .line 520
            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 521
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 12
         4: .line 522
      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 523
            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 524
            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 525
            iload 8 /* added */
            ifne 11
         8: .line 526
            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 527
            ldc "attribute more than once"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 526
            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 521
      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 530
            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 539
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 3 /* index */
        start local 3 // int index
         1: .line 540
            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 549
            aconst_null
            astore 3 /* targetPlatform */
        start local 3 // java.lang.String targetPlatform
         1: .line 551
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 4 /* index */
        start local 4 // int index
         2: .line 552
            iload 4 /* index */
            ifeq 4
         3: .line 553
            aload 2 /* cpool */
            iload 4 /* index */
            invokevirtual jdk.internal.module.ModuleInfo$ConstantPool.getUtf8:(I)Ljava/lang/String;
            astore 3 /* targetPlatform */
         4: .line 555
      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 564
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 3 /* algorithm_index */
        start local 3 // int algorithm_index
         1: .line 565
            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 567
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 5 /* hash_count */
        start local 5 // int hash_count
         3: .line 568
            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 569
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         5: goto 15
         6: .line 570
      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 571
            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 572
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 10 /* hash_length */
        start local 10 // int hash_length
         9: .line 573
            iload 10 /* hash_length */
            ifne 11
        10: .line 574
            ldc "hash_length == 0"
            invokestatic jdk.internal.module.ModuleInfo.invalidModuleDescriptor:(Ljava/lang/String;)Ljava/lang/module/InvalidModuleDescriptorException;
            athrow
        11: .line 576
      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 577
            aload 1 /* in */
            aload 11 /* hash */
            invokeinterface java.io.DataInput.readFully:([B)V
        13: .line 578
            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 569
            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 581
            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 591
            aload 1 /* in */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 3 /* flags */
        start local 3 // int flags
         1: .line 593
            iconst_0
            istore 4 /* reason */
        start local 4 // int reason
         2: .line 594
            iload 3 /* flags */
            iconst_2
            iand
            ifeq 4
         3: .line 595
            iconst_2
            istore 4 /* reason */
         4: .line 596
      StackMap locals: int int
      StackMap stack:
            iload 3 /* flags */
            iconst_4
            iand
            ifeq 8
         5: .line 597
            iload 4 /* reason */
            ifeq 7
         6: .line 598
            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 599
      StackMap locals:
      StackMap stack:
            iconst_4
            istore 4 /* reason */
         8: .line 601
      StackMap locals:
      StackMap stack:
            iload 3 /* flags */
            bipush 8
            iand
            ifeq 11
         9: .line 602
            iload 4 /* reason */
            ifeq 11
        10: .line 603
            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 606
      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 615
            aload 0 /* name */
            ldc "Module"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
         1: .line 616
            aload 0 /* name */
            ldc "SourceFile"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
         2: .line 617
            aload 0 /* name */
            ldc "SourceDebugExtension"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
         3: .line 618
            aload 0 /* name */
            ldc "ModulePackages"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
         4: .line 619
            aload 0 /* name */
            ldc "ModuleMainClass"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
         5: .line 620
            aload 0 /* name */
            ldc "ModuleTarget"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
         6: .line 621
            aload 0 /* name */
            ldc "ModuleHashes"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
         7: .line 622
            aload 0 /* name */
            ldc "ModuleResolution"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 623
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         9: .line 625
      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 633
            getstatic jdk.internal.module.ModuleInfo.predefinedNotAllowed:Ljava/util/Set;
            astore 1 /* notAllowed */
        start local 1 // java.util.Set notAllowed
         1: .line 634
            aload 1 /* notAllowed */
            ifnonnull 23
         2: .line 635
            bipush 18
            anewarray java.lang.String
            dup
            iconst_0
         3: .line 636
            ldc "ConstantValue"
            aastore
            dup
            iconst_1
         4: .line 637
            ldc "Code"
            aastore
            dup
            iconst_2
         5: .line 638
            ldc "Deprecated"
            aastore
            dup
            iconst_3
         6: .line 639
            ldc "StackMapTable"
            aastore
            dup
            iconst_4
         7: .line 640
            ldc "Exceptions"
            aastore
            dup
            iconst_5
         8: .line 641
            ldc "EnclosingMethod"
            aastore
            dup
            bipush 6
         9: .line 642
            ldc "Signature"
            aastore
            dup
            bipush 7
        10: .line 643
            ldc "LineNumberTable"
            aastore
            dup
            bipush 8
        11: .line 644
            ldc "LocalVariableTable"
            aastore
            dup
            bipush 9
        12: .line 645
            ldc "LocalVariableTypeTable"
            aastore
            dup
            bipush 10
        13: .line 646
            ldc "RuntimeVisibleParameterAnnotations"
            aastore
            dup
            bipush 11
        14: .line 647
            ldc "RuntimeInvisibleParameterAnnotations"
            aastore
            dup
            bipush 12
        15: .line 648
            ldc "RuntimeVisibleTypeAnnotations"
            aastore
            dup
            bipush 13
        16: .line 649
            ldc "RuntimeInvisibleTypeAnnotations"
            aastore
            dup
            bipush 14
        17: .line 650
            ldc "Synthetic"
            aastore
            dup
            bipush 15
        18: .line 651
            ldc "AnnotationDefault"
            aastore
            dup
            bipush 16
        19: .line 652
            ldc "BootstrapMethods"
            aastore
            dup
            bipush 17
        20: .line 653
            ldc "MethodParameters"
            aastore
        21: .line 635
            invokestatic java.util.Set.of:([Ljava/lang/Object;)Ljava/util/Set;
            astore 1 /* notAllowed */
        22: .line 654
            aload 1 /* notAllowed */
            putstatic jdk.internal.module.ModuleInfo.predefinedNotAllowed:Ljava/util/Set;
        23: .line 656
      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 1074
            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 1082
            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