public class com.sun.tools.javac.jvm.ClassFile
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.javac.jvm.ClassFile
  super_class: java.lang.Object
{
  public static final int JAVA_MAGIC;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -889275714

  public static final int CONSTANT_Utf8;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int CONSTANT_Unicode;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int CONSTANT_Integer;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final int CONSTANT_Float;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final int CONSTANT_Long;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  public static final int CONSTANT_Double;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  public static final int CONSTANT_Class;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  public static final int CONSTANT_String;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  public static final int CONSTANT_Fieldref;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 9

  public static final int CONSTANT_Methodref;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  public static final int CONSTANT_InterfaceMethodref;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 11

  public static final int CONSTANT_NameandType;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 12

  public static final int CONSTANT_MethodHandle;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 15

  public static final int CONSTANT_MethodType;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  public static final int CONSTANT_Dynamic;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 17

  public static final int CONSTANT_InvokeDynamic;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 18

  public static final int CONSTANT_Module;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 19

  public static final int CONSTANT_Package;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 20

  public static final int REF_getField;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int REF_getStatic;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int REF_putField;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final int REF_putStatic;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final int REF_invokeVirtual;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  public static final int REF_invokeStatic;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  public static final int REF_invokeSpecial;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  public static final int REF_newInvokeSpecial;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  public static final int REF_invokeInterface;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 9

  public static final int MAX_PARAMETERS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 255

  public static final int MAX_DIMENSIONS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 255

  public static final int MAX_CODE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 65535

  public static final int MAX_LOCALS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 65535

  public static final int MAX_STACK;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 65535

  public static final int PREVIEW_MINOR_VERSION;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 65535

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.jvm.ClassFile this
         0: .line 68
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.sun.tools.javac.jvm.ClassFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/jvm/ClassFile;

  public static byte[] internalize(byte[], int, int);
    descriptor: ([BII)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // byte[] buf
        start local 1 // int offset
        start local 2 // int len
         0: .line 147
            iload 2 /* len */
            newarray 8
            astore 3 /* translated */
        start local 3 // byte[] translated
         1: .line 148
            iconst_0
            istore 4 /* j */
        start local 4 // int j
         2: goto 7
         3: .line 149
      StackMap locals: byte[] int
      StackMap stack:
            aload 0 /* buf */
            iload 1 /* offset */
            iload 4 /* j */
            iadd
            baload
            istore 5 /* b */
        start local 5 // byte b
         4: .line 150
            iload 5 /* b */
            bipush 47
            if_icmpne 5
            aload 3 /* translated */
            iload 4 /* j */
            bipush 46
            bastore
            goto 6
         5: .line 151
      StackMap locals: int
      StackMap stack:
            aload 3 /* translated */
            iload 4 /* j */
            iload 5 /* b */
            bastore
        end local 5 // byte b
         6: .line 148
      StackMap locals:
      StackMap stack:
            iinc 4 /* j */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* j */
            iload 2 /* len */
            if_icmplt 3
        end local 4 // int j
         8: .line 153
            aload 3 /* translated */
            areturn
        end local 3 // byte[] translated
        end local 2 // int len
        end local 1 // int offset
        end local 0 // byte[] buf
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0         buf  [B
            0    9     1      offset  I
            0    9     2         len  I
            1    9     3  translated  [B
            2    8     4           j  I
            4    6     5           b  B
    MethodParameters:
        Name  Flags
      buf     
      offset  
      len     

  public static byte[] internalize(com.sun.tools.javac.util.Name);
    descriptor: (Lcom/sun/tools/javac/util/Name;)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.util.Name name
         0: .line 163
            aload 0 /* name */
            invokevirtual com.sun.tools.javac.util.Name.getByteArray:()[B
            aload 0 /* name */
            invokevirtual com.sun.tools.javac.util.Name.getByteOffset:()I
            aload 0 /* name */
            invokevirtual com.sun.tools.javac.util.Name.getByteLength:()I
            invokestatic com.sun.tools.javac.jvm.ClassFile.internalize:([BII)[B
            areturn
        end local 0 // com.sun.tools.javac.util.Name name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  name  Lcom/sun/tools/javac/util/Name;
    MethodParameters:
      Name  Flags
      name  

  public static byte[] externalize(byte[], int, int);
    descriptor: ([BII)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // byte[] buf
        start local 1 // int offset
        start local 2 // int len
         0: .line 173
            iload 2 /* len */
            newarray 8
            astore 3 /* translated */
        start local 3 // byte[] translated
         1: .line 174
            iconst_0
            istore 4 /* j */
        start local 4 // int j
         2: goto 7
         3: .line 175
      StackMap locals: byte[] int
      StackMap stack:
            aload 0 /* buf */
            iload 1 /* offset */
            iload 4 /* j */
            iadd
            baload
            istore 5 /* b */
        start local 5 // byte b
         4: .line 176
            iload 5 /* b */
            bipush 46
            if_icmpne 5
            aload 3 /* translated */
            iload 4 /* j */
            bipush 47
            bastore
            goto 6
         5: .line 177
      StackMap locals: int
      StackMap stack:
            aload 3 /* translated */
            iload 4 /* j */
            iload 5 /* b */
            bastore
        end local 5 // byte b
         6: .line 174
      StackMap locals:
      StackMap stack:
            iinc 4 /* j */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* j */
            iload 2 /* len */
            if_icmplt 3
        end local 4 // int j
         8: .line 179
            aload 3 /* translated */
            areturn
        end local 3 // byte[] translated
        end local 2 // int len
        end local 1 // int offset
        end local 0 // byte[] buf
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0         buf  [B
            0    9     1      offset  I
            0    9     2         len  I
            1    9     3  translated  [B
            2    8     4           j  I
            4    6     5           b  B
    MethodParameters:
        Name  Flags
      buf     
      offset  
      len     

  public static byte[] externalize(com.sun.tools.javac.util.Name);
    descriptor: (Lcom/sun/tools/javac/util/Name;)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.util.Name name
         0: .line 189
            aload 0 /* name */
            invokevirtual com.sun.tools.javac.util.Name.getByteArray:()[B
            aload 0 /* name */
            invokevirtual com.sun.tools.javac.util.Name.getByteOffset:()I
            aload 0 /* name */
            invokevirtual com.sun.tools.javac.util.Name.getByteLength:()I
            invokestatic com.sun.tools.javac.jvm.ClassFile.externalize:([BII)[B
            areturn
        end local 0 // com.sun.tools.javac.util.Name name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  name  Lcom/sun/tools/javac/util/Name;
    MethodParameters:
      Name  Flags
      name  
}
SourceFile: "ClassFile.java"
NestMembers:
  com.sun.tools.javac.jvm.ClassFile$NameAndType  com.sun.tools.javac.jvm.ClassFile$Version
InnerClasses:
  public NameAndType = com.sun.tools.javac.jvm.ClassFile$NameAndType of com.sun.tools.javac.jvm.ClassFile
  public final Version = com.sun.tools.javac.jvm.ClassFile$Version of com.sun.tools.javac.jvm.ClassFile