public class com.sun.tools.classfile.ClassFile
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.classfile.ClassFile
  super_class: java.lang.Object
{
  public final int magic;
    descriptor: I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final int minor_version;
    descriptor: I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final int major_version;
    descriptor: I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final com.sun.tools.classfile.ConstantPool constant_pool;
    descriptor: Lcom/sun/tools/classfile/ConstantPool;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final com.sun.tools.classfile.AccessFlags access_flags;
    descriptor: Lcom/sun/tools/classfile/AccessFlags;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final int this_class;
    descriptor: I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final int super_class;
    descriptor: I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final int[] interfaces;
    descriptor: [I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final com.sun.tools.classfile.Field[] fields;
    descriptor: [Lcom/sun/tools/classfile/Field;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final com.sun.tools.classfile.Method[] methods;
    descriptor: [Lcom/sun/tools/classfile/Method;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final com.sun.tools.classfile.Attributes attributes;
    descriptor: Lcom/sun/tools/classfile/Attributes;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public static com.sun.tools.classfile.ClassFile read(java.io.File);
    descriptor: (Ljava/io/File;)Lcom/sun/tools/classfile/ClassFile;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.io.File file
         0: .line 47
            aload 0 /* file */
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            new com.sun.tools.classfile.Attribute$Factory
            dup
            invokespecial com.sun.tools.classfile.Attribute$Factory.<init>:()V
            invokestatic com.sun.tools.classfile.ClassFile.read:(Ljava/nio/file/Path;Lcom/sun/tools/classfile/Attribute$Factory;)Lcom/sun/tools/classfile/ClassFile;
            areturn
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  file  Ljava/io/File;
    Exceptions:
      throws java.io.IOException, com.sun.tools.classfile.ConstantPoolException
    MethodParameters:
      Name  Flags
      file  

  public static com.sun.tools.classfile.ClassFile read(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Lcom/sun/tools/classfile/ClassFile;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.nio.file.Path input
         0: .line 52
            aload 0 /* input */
            new com.sun.tools.classfile.Attribute$Factory
            dup
            invokespecial com.sun.tools.classfile.Attribute$Factory.<init>:()V
            invokestatic com.sun.tools.classfile.ClassFile.read:(Ljava/nio/file/Path;Lcom/sun/tools/classfile/Attribute$Factory;)Lcom/sun/tools/classfile/ClassFile;
            areturn
        end local 0 // java.nio.file.Path input
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  input  Ljava/nio/file/Path;
    Exceptions:
      throws java.io.IOException, com.sun.tools.classfile.ConstantPoolException
    MethodParameters:
       Name  Flags
      input  

  public static com.sun.tools.classfile.ClassFile read(java.nio.file.Path, com.sun.tools.classfile.Attribute$Factory);
    descriptor: (Ljava/nio/file/Path;Lcom/sun/tools/classfile/Attribute$Factory;)Lcom/sun/tools/classfile/ClassFile;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // java.nio.file.Path input
        start local 1 // com.sun.tools.classfile.Attribute$Factory attributeFactory
         0: .line 57
            aconst_null
            astore 2
            aconst_null
            astore 3
         1: aload 0 /* input */
            iconst_0
            anewarray java.nio.file.OpenOption
            invokestatic java.nio.file.Files.newInputStream:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/InputStream;
            astore 4 /* in */
        start local 4 // java.io.InputStream in
         2: .line 58
            new com.sun.tools.classfile.ClassFile
            dup
            aload 4 /* in */
            aload 1 /* attributeFactory */
            invokespecial com.sun.tools.classfile.ClassFile.<init>:(Ljava/io/InputStream;Lcom/sun/tools/classfile/Attribute$Factory;)V
         3: .line 59
            aload 4 /* in */
            ifnull 4
            aload 4 /* in */
            invokevirtual java.io.InputStream.close:()V
         4: .line 58
      StackMap locals: java.nio.file.Path com.sun.tools.classfile.Attribute$Factory java.lang.Throwable java.lang.Throwable java.io.InputStream
      StackMap stack: com.sun.tools.classfile.ClassFile
            areturn
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: astore 2
         6: .line 59
            aload 4 /* in */
            ifnull 7
            aload 4 /* in */
            invokevirtual java.io.InputStream.close:()V
        end local 4 // java.io.InputStream in
      StackMap locals:
      StackMap stack:
         7: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 3
            aload 2
            ifnonnull 9
            aload 3
            astore 2
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 2
            aload 3
            if_acmpeq 10
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        10: aload 2
            athrow
        end local 1 // com.sun.tools.classfile.Attribute$Factory attributeFactory
        end local 0 // java.nio.file.Path input
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0             input  Ljava/nio/file/Path;
            0   11     1  attributeFactory  Lcom/sun/tools/classfile/Attribute$Factory;
            2    7     4                in  Ljava/io/InputStream;
      Exception table:
        from    to  target  type
           2     3       5  any
           1     4       8  any
           5     8       8  any
    Exceptions:
      throws java.io.IOException, com.sun.tools.classfile.ConstantPoolException
    MethodParameters:
                  Name  Flags
      input             
      attributeFactory  

  public static com.sun.tools.classfile.ClassFile read(java.io.File, com.sun.tools.classfile.Attribute$Factory);
    descriptor: (Ljava/io/File;Lcom/sun/tools/classfile/Attribute$Factory;)Lcom/sun/tools/classfile/ClassFile;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.io.File file
        start local 1 // com.sun.tools.classfile.Attribute$Factory attributeFactory
         0: .line 64
            aload 0 /* file */
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            aload 1 /* attributeFactory */
            invokestatic com.sun.tools.classfile.ClassFile.read:(Ljava/nio/file/Path;Lcom/sun/tools/classfile/Attribute$Factory;)Lcom/sun/tools/classfile/ClassFile;
            areturn
        end local 1 // com.sun.tools.classfile.Attribute$Factory attributeFactory
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              file  Ljava/io/File;
            0    1     1  attributeFactory  Lcom/sun/tools/classfile/Attribute$Factory;
    Exceptions:
      throws java.io.IOException, com.sun.tools.classfile.ConstantPoolException
    MethodParameters:
                  Name  Flags
      file              
      attributeFactory  

  public static com.sun.tools.classfile.ClassFile read(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Lcom/sun/tools/classfile/ClassFile;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.io.InputStream in
         0: .line 69
            new com.sun.tools.classfile.ClassFile
            dup
            aload 0 /* in */
            new com.sun.tools.classfile.Attribute$Factory
            dup
            invokespecial com.sun.tools.classfile.Attribute$Factory.<init>:()V
            invokespecial com.sun.tools.classfile.ClassFile.<init>:(Ljava/io/InputStream;Lcom/sun/tools/classfile/Attribute$Factory;)V
            areturn
        end local 0 // java.io.InputStream in
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    in  Ljava/io/InputStream;
    Exceptions:
      throws java.io.IOException, com.sun.tools.classfile.ConstantPoolException
    MethodParameters:
      Name  Flags
      in    

  public static com.sun.tools.classfile.ClassFile read(java.io.InputStream, com.sun.tools.classfile.Attribute$Factory);
    descriptor: (Ljava/io/InputStream;Lcom/sun/tools/classfile/Attribute$Factory;)Lcom/sun/tools/classfile/ClassFile;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.io.InputStream in
        start local 1 // com.sun.tools.classfile.Attribute$Factory attributeFactory
         0: .line 74
            new com.sun.tools.classfile.ClassFile
            dup
            aload 0 /* in */
            aload 1 /* attributeFactory */
            invokespecial com.sun.tools.classfile.ClassFile.<init>:(Ljava/io/InputStream;Lcom/sun/tools/classfile/Attribute$Factory;)V
            areturn
        end local 1 // com.sun.tools.classfile.Attribute$Factory attributeFactory
        end local 0 // java.io.InputStream in
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0                in  Ljava/io/InputStream;
            0    1     1  attributeFactory  Lcom/sun/tools/classfile/Attribute$Factory;
    Exceptions:
      throws java.io.IOException, com.sun.tools.classfile.ConstantPoolException
    MethodParameters:
                  Name  Flags
      in                
      attributeFactory  

  void <init>(java.io.InputStream, com.sun.tools.classfile.Attribute$Factory);
    descriptor: (Ljava/io/InputStream;Lcom/sun/tools/classfile/Attribute$Factory;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // com.sun.tools.classfile.ClassFile this
        start local 1 // java.io.InputStream in
        start local 2 // com.sun.tools.classfile.Attribute$Factory attributeFactory
         0: .line 77
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 78
            new com.sun.tools.classfile.ClassReader
            dup
            aload 0 /* this */
            aload 1 /* in */
            aload 2 /* attributeFactory */
            invokespecial com.sun.tools.classfile.ClassReader.<init>:(Lcom/sun/tools/classfile/ClassFile;Ljava/io/InputStream;Lcom/sun/tools/classfile/Attribute$Factory;)V
            astore 3 /* cr */
        start local 3 // com.sun.tools.classfile.ClassReader cr
         2: .line 79
            aload 0 /* this */
            aload 3 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.readInt:()I
            putfield com.sun.tools.classfile.ClassFile.magic:I
         3: .line 80
            aload 0 /* this */
            aload 3 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.readUnsignedShort:()I
            putfield com.sun.tools.classfile.ClassFile.minor_version:I
         4: .line 81
            aload 0 /* this */
            aload 3 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.readUnsignedShort:()I
            putfield com.sun.tools.classfile.ClassFile.major_version:I
         5: .line 82
            aload 0 /* this */
            new com.sun.tools.classfile.ConstantPool
            dup
            aload 3 /* cr */
            invokespecial com.sun.tools.classfile.ConstantPool.<init>:(Lcom/sun/tools/classfile/ClassReader;)V
            putfield com.sun.tools.classfile.ClassFile.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
         6: .line 83
            aload 0 /* this */
            new com.sun.tools.classfile.AccessFlags
            dup
            aload 3 /* cr */
            invokespecial com.sun.tools.classfile.AccessFlags.<init>:(Lcom/sun/tools/classfile/ClassReader;)V
            putfield com.sun.tools.classfile.ClassFile.access_flags:Lcom/sun/tools/classfile/AccessFlags;
         7: .line 84
            aload 0 /* this */
            aload 3 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.readUnsignedShort:()I
            putfield com.sun.tools.classfile.ClassFile.this_class:I
         8: .line 85
            aload 0 /* this */
            aload 3 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.readUnsignedShort:()I
            putfield com.sun.tools.classfile.ClassFile.super_class:I
         9: .line 87
            aload 3 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.readUnsignedShort:()I
            istore 4 /* interfaces_count */
        start local 4 // int interfaces_count
        10: .line 88
            aload 0 /* this */
            iload 4 /* interfaces_count */
            newarray 10
            putfield com.sun.tools.classfile.ClassFile.interfaces:[I
        11: .line 89
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        12: goto 15
        13: .line 90
      StackMap locals: com.sun.tools.classfile.ClassFile java.io.InputStream com.sun.tools.classfile.Attribute$Factory com.sun.tools.classfile.ClassReader int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.classfile.ClassFile.interfaces:[I
            iload 5 /* i */
            aload 3 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.readUnsignedShort:()I
            iastore
        14: .line 89
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 5 /* i */
            iload 4 /* interfaces_count */
            if_icmplt 13
        end local 5 // int i
        16: .line 92
            aload 3 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.readUnsignedShort:()I
            istore 5 /* fields_count */
        start local 5 // int fields_count
        17: .line 93
            aload 0 /* this */
            iload 5 /* fields_count */
            anewarray com.sun.tools.classfile.Field
            putfield com.sun.tools.classfile.ClassFile.fields:[Lcom/sun/tools/classfile/Field;
        18: .line 94
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        19: goto 22
        20: .line 95
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.classfile.ClassFile.fields:[Lcom/sun/tools/classfile/Field;
            iload 6 /* i */
            new com.sun.tools.classfile.Field
            dup
            aload 3 /* cr */
            invokespecial com.sun.tools.classfile.Field.<init>:(Lcom/sun/tools/classfile/ClassReader;)V
            aastore
        21: .line 94
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 6 /* i */
            iload 5 /* fields_count */
            if_icmplt 20
        end local 6 // int i
        23: .line 97
            aload 3 /* cr */
            invokevirtual com.sun.tools.classfile.ClassReader.readUnsignedShort:()I
            istore 6 /* methods_count */
        start local 6 // int methods_count
        24: .line 98
            aload 0 /* this */
            iload 6 /* methods_count */
            anewarray com.sun.tools.classfile.Method
            putfield com.sun.tools.classfile.ClassFile.methods:[Lcom/sun/tools/classfile/Method;
        25: .line 99
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        26: goto 29
        27: .line 100
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.classfile.ClassFile.methods:[Lcom/sun/tools/classfile/Method;
            iload 7 /* i */
            new com.sun.tools.classfile.Method
            dup
            aload 3 /* cr */
            invokespecial com.sun.tools.classfile.Method.<init>:(Lcom/sun/tools/classfile/ClassReader;)V
            aastore
        28: .line 99
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 7 /* i */
            iload 6 /* methods_count */
            if_icmplt 27
        end local 7 // int i
        30: .line 102
            aload 0 /* this */
            new com.sun.tools.classfile.Attributes
            dup
            aload 3 /* cr */
            invokespecial com.sun.tools.classfile.Attributes.<init>:(Lcom/sun/tools/classfile/ClassReader;)V
            putfield com.sun.tools.classfile.ClassFile.attributes:Lcom/sun/tools/classfile/Attributes;
        31: .line 103
            return
        end local 6 // int methods_count
        end local 5 // int fields_count
        end local 4 // int interfaces_count
        end local 3 // com.sun.tools.classfile.ClassReader cr
        end local 2 // com.sun.tools.classfile.Attribute$Factory attributeFactory
        end local 1 // java.io.InputStream in
        end local 0 // com.sun.tools.classfile.ClassFile this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   32     0              this  Lcom/sun/tools/classfile/ClassFile;
            0   32     1                in  Ljava/io/InputStream;
            0   32     2  attributeFactory  Lcom/sun/tools/classfile/Attribute$Factory;
            2   32     3                cr  Lcom/sun/tools/classfile/ClassReader;
           10   32     4  interfaces_count  I
           12   16     5                 i  I
           17   32     5      fields_count  I
           19   23     6                 i  I
           24   32     6     methods_count  I
           26   30     7                 i  I
    Exceptions:
      throws java.io.IOException, com.sun.tools.classfile.ConstantPoolException
    MethodParameters:
                  Name  Flags
      in                
      attributeFactory  

  public void <init>(int, int, int, com.sun.tools.classfile.ConstantPool, com.sun.tools.classfile.AccessFlags, int, int, int[], com.sun.tools.classfile.Field[], com.sun.tools.classfile.Method[], com.sun.tools.classfile.Attributes);
    descriptor: (IIILcom/sun/tools/classfile/ConstantPool;Lcom/sun/tools/classfile/AccessFlags;II[I[Lcom/sun/tools/classfile/Field;[Lcom/sun/tools/classfile/Method;Lcom/sun/tools/classfile/Attributes;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=12, args_size=12
        start local 0 // com.sun.tools.classfile.ClassFile this
        start local 1 // int magic
        start local 2 // int minor_version
        start local 3 // int major_version
        start local 4 // com.sun.tools.classfile.ConstantPool constant_pool
        start local 5 // com.sun.tools.classfile.AccessFlags access_flags
        start local 6 // int this_class
        start local 7 // int super_class
        start local 8 // int[] interfaces
        start local 9 // com.sun.tools.classfile.Field[] fields
        start local 10 // com.sun.tools.classfile.Method[] methods
        start local 11 // com.sun.tools.classfile.Attributes attributes
         0: .line 105
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 109
            aload 0 /* this */
            iload 1 /* magic */
            putfield com.sun.tools.classfile.ClassFile.magic:I
         2: .line 110
            aload 0 /* this */
            iload 2 /* minor_version */
            putfield com.sun.tools.classfile.ClassFile.minor_version:I
         3: .line 111
            aload 0 /* this */
            iload 3 /* major_version */
            putfield com.sun.tools.classfile.ClassFile.major_version:I
         4: .line 112
            aload 0 /* this */
            aload 4 /* constant_pool */
            putfield com.sun.tools.classfile.ClassFile.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
         5: .line 113
            aload 0 /* this */
            aload 5 /* access_flags */
            putfield com.sun.tools.classfile.ClassFile.access_flags:Lcom/sun/tools/classfile/AccessFlags;
         6: .line 114
            aload 0 /* this */
            iload 6 /* this_class */
            putfield com.sun.tools.classfile.ClassFile.this_class:I
         7: .line 115
            aload 0 /* this */
            iload 7 /* super_class */
            putfield com.sun.tools.classfile.ClassFile.super_class:I
         8: .line 116
            aload 0 /* this */
            aload 8 /* interfaces */
            putfield com.sun.tools.classfile.ClassFile.interfaces:[I
         9: .line 117
            aload 0 /* this */
            aload 9 /* fields */
            putfield com.sun.tools.classfile.ClassFile.fields:[Lcom/sun/tools/classfile/Field;
        10: .line 118
            aload 0 /* this */
            aload 10 /* methods */
            putfield com.sun.tools.classfile.ClassFile.methods:[Lcom/sun/tools/classfile/Method;
        11: .line 119
            aload 0 /* this */
            aload 11 /* attributes */
            putfield com.sun.tools.classfile.ClassFile.attributes:Lcom/sun/tools/classfile/Attributes;
        12: .line 120
            return
        end local 11 // com.sun.tools.classfile.Attributes attributes
        end local 10 // com.sun.tools.classfile.Method[] methods
        end local 9 // com.sun.tools.classfile.Field[] fields
        end local 8 // int[] interfaces
        end local 7 // int super_class
        end local 6 // int this_class
        end local 5 // com.sun.tools.classfile.AccessFlags access_flags
        end local 4 // com.sun.tools.classfile.ConstantPool constant_pool
        end local 3 // int major_version
        end local 2 // int minor_version
        end local 1 // int magic
        end local 0 // com.sun.tools.classfile.ClassFile this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Lcom/sun/tools/classfile/ClassFile;
            0   13     1          magic  I
            0   13     2  minor_version  I
            0   13     3  major_version  I
            0   13     4  constant_pool  Lcom/sun/tools/classfile/ConstantPool;
            0   13     5   access_flags  Lcom/sun/tools/classfile/AccessFlags;
            0   13     6     this_class  I
            0   13     7    super_class  I
            0   13     8     interfaces  [I
            0   13     9         fields  [Lcom/sun/tools/classfile/Field;
            0   13    10        methods  [Lcom/sun/tools/classfile/Method;
            0   13    11     attributes  Lcom/sun/tools/classfile/Attributes;
    MethodParameters:
               Name  Flags
      magic          
      minor_version  
      major_version  
      constant_pool  
      access_flags   
      this_class     
      super_class    
      interfaces     
      fields         
      methods        
      attributes     

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.classfile.ClassFile this
         0: .line 123
            aload 0 /* this */
            getfield com.sun.tools.classfile.ClassFile.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
            aload 0 /* this */
            getfield com.sun.tools.classfile.ClassFile.this_class:I
            invokevirtual com.sun.tools.classfile.ConstantPool.getClassInfo:(I)Lcom/sun/tools/classfile/ConstantPool$CONSTANT_Class_info;
            invokevirtual com.sun.tools.classfile.ConstantPool$CONSTANT_Class_info.getName:()Ljava/lang/String;
            areturn
        end local 0 // com.sun.tools.classfile.ClassFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/classfile/ClassFile;
    Exceptions:
      throws com.sun.tools.classfile.ConstantPoolException

  public java.lang.String getSuperclassName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.classfile.ClassFile this
         0: .line 127
            aload 0 /* this */
            getfield com.sun.tools.classfile.ClassFile.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
            aload 0 /* this */
            getfield com.sun.tools.classfile.ClassFile.super_class:I
            invokevirtual com.sun.tools.classfile.ConstantPool.getClassInfo:(I)Lcom/sun/tools/classfile/ConstantPool$CONSTANT_Class_info;
            invokevirtual com.sun.tools.classfile.ConstantPool$CONSTANT_Class_info.getName:()Ljava/lang/String;
            areturn
        end local 0 // com.sun.tools.classfile.ClassFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/classfile/ClassFile;
    Exceptions:
      throws com.sun.tools.classfile.ConstantPoolException

  public java.lang.String getInterfaceName(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.classfile.ClassFile this
        start local 1 // int i
         0: .line 131
            aload 0 /* this */
            getfield com.sun.tools.classfile.ClassFile.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
            aload 0 /* this */
            getfield com.sun.tools.classfile.ClassFile.interfaces:[I
            iload 1 /* i */
            iaload
            invokevirtual com.sun.tools.classfile.ConstantPool.getClassInfo:(I)Lcom/sun/tools/classfile/ConstantPool$CONSTANT_Class_info;
            invokevirtual com.sun.tools.classfile.ConstantPool$CONSTANT_Class_info.getName:()Ljava/lang/String;
            areturn
        end local 1 // int i
        end local 0 // com.sun.tools.classfile.ClassFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/classfile/ClassFile;
            0    1     1     i  I
    Exceptions:
      throws com.sun.tools.classfile.ConstantPoolException
    MethodParameters:
      Name  Flags
      i     

  public com.sun.tools.classfile.Attribute getAttribute(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/sun/tools/classfile/Attribute;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.classfile.ClassFile this
        start local 1 // java.lang.String name
         0: .line 135
            aload 0 /* this */
            getfield com.sun.tools.classfile.ClassFile.attributes:Lcom/sun/tools/classfile/Attributes;
            aload 1 /* name */
            invokevirtual com.sun.tools.classfile.Attributes.get:(Ljava/lang/String;)Lcom/sun/tools/classfile/Attribute;
            areturn
        end local 1 // java.lang.String name
        end local 0 // com.sun.tools.classfile.ClassFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/classfile/ClassFile;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public boolean isClass();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.classfile.ClassFile this
         0: .line 139
            aload 0 /* this */
            invokevirtual com.sun.tools.classfile.ClassFile.isInterface:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // com.sun.tools.classfile.ClassFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/classfile/ClassFile;

  public boolean isInterface();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.classfile.ClassFile this
         0: .line 143
            aload 0 /* this */
            getfield com.sun.tools.classfile.ClassFile.access_flags:Lcom/sun/tools/classfile/AccessFlags;
            sipush 512
            invokevirtual com.sun.tools.classfile.AccessFlags.is:(I)Z
            ireturn
        end local 0 // com.sun.tools.classfile.ClassFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/classfile/ClassFile;

  public int byteLength();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.tools.classfile.ClassFile this
         0: .line 147
            bipush 8
         1: .line 150
            aload 0 /* this */
            getfield com.sun.tools.classfile.ClassFile.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
            invokevirtual com.sun.tools.classfile.ConstantPool.byteLength:()I
         2: .line 147
            iadd
         3: .line 151
            iconst_2
         4: .line 147
            iadd
         5: .line 152
            iconst_2
         6: .line 147
            iadd
         7: .line 153
            iconst_2
         8: .line 147
            iadd
         9: .line 154
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.classfile.ClassFile.interfaces:[I
            invokevirtual com.sun.tools.classfile.ClassFile.byteLength:([I)I
        10: .line 147
            iadd
        11: .line 155
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.classfile.ClassFile.fields:[Lcom/sun/tools/classfile/Field;
            invokevirtual com.sun.tools.classfile.ClassFile.byteLength:([Lcom/sun/tools/classfile/Field;)I
        12: .line 147
            iadd
        13: .line 156
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.classfile.ClassFile.methods:[Lcom/sun/tools/classfile/Method;
            invokevirtual com.sun.tools.classfile.ClassFile.byteLength:([Lcom/sun/tools/classfile/Method;)I
        14: .line 147
            iadd
        15: .line 157
            aload 0 /* this */
            getfield com.sun.tools.classfile.ClassFile.attributes:Lcom/sun/tools/classfile/Attributes;
            invokevirtual com.sun.tools.classfile.Attributes.byteLength:()I
        16: .line 147
            iadd
            ireturn
        end local 0 // com.sun.tools.classfile.ClassFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lcom/sun/tools/classfile/ClassFile;

  private int byteLength(int[]);
    descriptor: ([I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.classfile.ClassFile this
        start local 1 // int[] indices
         0: .line 161
            iconst_2
            iconst_2
            aload 1 /* indices */
            arraylength
            imul
            iadd
            ireturn
        end local 1 // int[] indices
        end local 0 // com.sun.tools.classfile.ClassFile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/sun/tools/classfile/ClassFile;
            0    1     1  indices  [I
    MethodParameters:
         Name  Flags
      indices  

  private int byteLength(com.sun.tools.classfile.Field[]);
    descriptor: ([Lcom/sun/tools/classfile/Field;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // com.sun.tools.classfile.ClassFile this
        start local 1 // com.sun.tools.classfile.Field[] fields
         0: .line 165
            iconst_2
            istore 2 /* length */
        start local 2 // int length
         1: .line 166
            aload 1 /* fields */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 5
      StackMap locals: com.sun.tools.classfile.ClassFile com.sun.tools.classfile.Field[] int top int int com.sun.tools.classfile.Field[]
      StackMap stack:
         2: aload 6
            iload 4
            aaload
            astore 3 /* f */
        start local 3 // com.sun.tools.classfile.Field f
         3: .line 167
            iload 2 /* length */
            aload 3 /* f */
            invokevirtual com.sun.tools.classfile.Field.byteLength:()I
            iadd
            istore 2 /* length */
        end local 3 // com.sun.tools.classfile.Field f
         4: .line 166
            iinc 4 1
      StackMap locals:
      StackMap stack:
         5: iload 4
            iload 5
            if_icmplt 2
         6: .line 168
            iload 2 /* length */
            ireturn
        end local 2 // int length
        end local 1 // com.sun.tools.classfile.Field[] fields
        end local 0 // com.sun.tools.classfile.ClassFile this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lcom/sun/tools/classfile/ClassFile;
            0    7     1  fields  [Lcom/sun/tools/classfile/Field;
            1    7     2  length  I
            3    4     3       f  Lcom/sun/tools/classfile/Field;
    MethodParameters:
        Name  Flags
      fields  

  private int byteLength(com.sun.tools.classfile.Method[]);
    descriptor: ([Lcom/sun/tools/classfile/Method;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // com.sun.tools.classfile.ClassFile this
        start local 1 // com.sun.tools.classfile.Method[] methods
         0: .line 172
            iconst_2
            istore 2 /* length */
        start local 2 // int length
         1: .line 173
            aload 1 /* methods */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 5
      StackMap locals: com.sun.tools.classfile.ClassFile com.sun.tools.classfile.Method[] int top int int com.sun.tools.classfile.Method[]
      StackMap stack:
         2: aload 6
            iload 4
            aaload
            astore 3 /* m */
        start local 3 // com.sun.tools.classfile.Method m
         3: .line 174
            iload 2 /* length */
            aload 3 /* m */
            invokevirtual com.sun.tools.classfile.Method.byteLength:()I
            iadd
            istore 2 /* length */
        end local 3 // com.sun.tools.classfile.Method m
         4: .line 173
            iinc 4 1
      StackMap locals:
      StackMap stack:
         5: iload 4
            iload 5
            if_icmplt 2
         6: .line 175
            iload 2 /* length */
            ireturn
        end local 2 // int length
        end local 1 // com.sun.tools.classfile.Method[] methods
        end local 0 // com.sun.tools.classfile.ClassFile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lcom/sun/tools/classfile/ClassFile;
            0    7     1  methods  [Lcom/sun/tools/classfile/Method;
            1    7     2   length  I
            3    4     3        m  Lcom/sun/tools/classfile/Method;
    MethodParameters:
         Name  Flags
      methods  
}
SourceFile: "ClassFile.java"
InnerClasses:
  public Factory = com.sun.tools.classfile.Attribute$Factory of com.sun.tools.classfile.Attribute
  public CONSTANT_Class_info = com.sun.tools.classfile.ConstantPool$CONSTANT_Class_info of com.sun.tools.classfile.ConstantPool