public class jdk.internal.module.ClassFileAttributes$ModuleMainClassAttribute extends jdk.internal.org.objectweb.asm.Attribute
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.internal.module.ClassFileAttributes$ModuleMainClassAttribute
  super_class: jdk.internal.org.objectweb.asm.Attribute
{
  private final java.lang.String mainClass;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.module.ClassFileAttributes$ModuleMainClassAttribute this
        start local 1 // java.lang.String mainClass
         0: .line 507
            aload 0 /* this */
            ldc "ModuleMainClass"
            invokespecial jdk.internal.org.objectweb.asm.Attribute.<init>:(Ljava/lang/String;)V
         1: .line 508
            aload 0 /* this */
            aload 1 /* mainClass */
            putfield jdk.internal.module.ClassFileAttributes$ModuleMainClassAttribute.mainClass:Ljava/lang/String;
         2: .line 509
            return
        end local 1 // java.lang.String mainClass
        end local 0 // jdk.internal.module.ClassFileAttributes$ModuleMainClassAttribute this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Ljdk/internal/module/ClassFileAttributes$ModuleMainClassAttribute;
            0    3     1  mainClass  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      mainClass  

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.internal.module.ClassFileAttributes$ModuleMainClassAttribute this
         0: .line 512
            aload 0 /* this */
            aconst_null
            invokespecial jdk.internal.module.ClassFileAttributes$ModuleMainClassAttribute.<init>:(Ljava/lang/String;)V
         1: .line 513
            return
        end local 0 // jdk.internal.module.ClassFileAttributes$ModuleMainClassAttribute this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/module/ClassFileAttributes$ModuleMainClassAttribute;

  protected jdk.internal.org.objectweb.asm.Attribute read(jdk.internal.org.objectweb.asm.ClassReader, int, int, char[], int, jdk.internal.org.objectweb.asm.Label[]);
    descriptor: (Ljdk/internal/org/objectweb/asm/ClassReader;II[CI[Ljdk/internal/org/objectweb/asm/Label;)Ljdk/internal/org/objectweb/asm/Attribute;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=8, args_size=7
        start local 0 // jdk.internal.module.ClassFileAttributes$ModuleMainClassAttribute this
        start local 1 // jdk.internal.org.objectweb.asm.ClassReader cr
        start local 2 // int off
        start local 3 // int len
        start local 4 // char[] buf
        start local 5 // int codeOff
        start local 6 // jdk.internal.org.objectweb.asm.Label[] labels
         0: .line 523
            aload 1 /* cr */
            iload 2 /* off */
            aload 4 /* buf */
            invokevirtual jdk.internal.org.objectweb.asm.ClassReader.readClass:(I[C)Ljava/lang/String;
            bipush 47
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 7 /* value */
        start local 7 // java.lang.String value
         1: .line 524
            new jdk.internal.module.ClassFileAttributes$ModuleMainClassAttribute
            dup
            aload 7 /* value */
            invokespecial jdk.internal.module.ClassFileAttributes$ModuleMainClassAttribute.<init>:(Ljava/lang/String;)V
            areturn
        end local 7 // java.lang.String value
        end local 6 // jdk.internal.org.objectweb.asm.Label[] labels
        end local 5 // int codeOff
        end local 4 // char[] buf
        end local 3 // int len
        end local 2 // int off
        end local 1 // jdk.internal.org.objectweb.asm.ClassReader cr
        end local 0 // jdk.internal.module.ClassFileAttributes$ModuleMainClassAttribute this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ljdk/internal/module/ClassFileAttributes$ModuleMainClassAttribute;
            0    2     1       cr  Ljdk/internal/org/objectweb/asm/ClassReader;
            0    2     2      off  I
            0    2     3      len  I
            0    2     4      buf  [C
            0    2     5  codeOff  I
            0    2     6   labels  [Ljdk/internal/org/objectweb/asm/Label;
            1    2     7    value  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      cr       
      off      
      len      
      buf      
      codeOff  
      labels   

  protected jdk.internal.org.objectweb.asm.ByteVector write(jdk.internal.org.objectweb.asm.ClassWriter, byte[], int, int, int);
    descriptor: (Ljdk/internal/org/objectweb/asm/ClassWriter;[BIII)Ljdk/internal/org/objectweb/asm/ByteVector;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=8, args_size=6
        start local 0 // jdk.internal.module.ClassFileAttributes$ModuleMainClassAttribute this
        start local 1 // jdk.internal.org.objectweb.asm.ClassWriter cw
        start local 2 // byte[] code
        start local 3 // int len
        start local 4 // int maxStack
        start local 5 // int maxLocals
         0: .line 534
            new jdk.internal.org.objectweb.asm.ByteVector
            dup
            invokespecial jdk.internal.org.objectweb.asm.ByteVector.<init>:()V
            astore 6 /* attr */
        start local 6 // jdk.internal.org.objectweb.asm.ByteVector attr
         1: .line 535
            aload 1 /* cw */
            aload 0 /* this */
            getfield jdk.internal.module.ClassFileAttributes$ModuleMainClassAttribute.mainClass:Ljava/lang/String;
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.newClass:(Ljava/lang/String;)I
            istore 7 /* index */
        start local 7 // int index
         2: .line 536
            aload 6 /* attr */
            iload 7 /* index */
            invokevirtual jdk.internal.org.objectweb.asm.ByteVector.putShort:(I)Ljdk/internal/org/objectweb/asm/ByteVector;
            pop
         3: .line 537
            aload 6 /* attr */
            areturn
        end local 7 // int index
        end local 6 // jdk.internal.org.objectweb.asm.ByteVector attr
        end local 5 // int maxLocals
        end local 4 // int maxStack
        end local 3 // int len
        end local 2 // byte[] code
        end local 1 // jdk.internal.org.objectweb.asm.ClassWriter cw
        end local 0 // jdk.internal.module.ClassFileAttributes$ModuleMainClassAttribute this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Ljdk/internal/module/ClassFileAttributes$ModuleMainClassAttribute;
            0    4     1         cw  Ljdk/internal/org/objectweb/asm/ClassWriter;
            0    4     2       code  [B
            0    4     3        len  I
            0    4     4   maxStack  I
            0    4     5  maxLocals  I
            1    4     6       attr  Ljdk/internal/org/objectweb/asm/ByteVector;
            2    4     7      index  I
    MethodParameters:
           Name  Flags
      cw         
      code       
      len        
      maxStack   
      maxLocals  
}
SourceFile: "ClassFileAttributes.java"
NestHost: jdk.internal.module.ClassFileAttributes
InnerClasses:
  public ModuleMainClassAttribute = jdk.internal.module.ClassFileAttributes$ModuleMainClassAttribute of jdk.internal.module.ClassFileAttributes