Module java.base
Package java.lang.classfilePREVIEW

# Interface ClassFile

public sealed interface ClassFile
`ClassFile` is a preview API of the Java platform.
Programs can only use `ClassFile` when preview features are enabled.
Preview features may be removed in a future release, or upgraded to permanent features of the Java platform.
Represents a context for parsing, transforming, and generating classfiles. A `ClassFile` has a set of options that condition how parsing and generation is done.

Since:
  22

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Interface
  Description
  `static interface`
  `ClassFile.AttributeMapperOptionPREVIEW`
  Preview.
  Option describing attribute mappers for custom attributes.
  `static enum`
  `ClassFile.AttributesProcessingOptionPREVIEW`
  Preview.
  Option describing whether to process or discard unrecognized or problematic original attributes when a class, record component, field, method or code is transformed in its exploded form.
  `static interface`
  `ClassFile.ClassHierarchyResolverOptionPREVIEW`
  Preview.
  Option describing the class hierarchy resolver to use when generating stack maps.
  `static enum`
  `ClassFile.ConstantPoolSharingOptionPREVIEW`
  Preview.
  Option describing whether to preserve the original constant pool when transforming a classfile.
  `static enum`
  `ClassFile.DeadCodeOptionPREVIEW`
  Preview.
  Option describing whether or not to patch out unreachable code.
  `static enum`
  `ClassFile.DeadLabelsOptionPREVIEW`
  Preview.
  Option describing whether or not to filter unresolved labels.
  `static enum`
  `ClassFile.DebugElementsOptionPREVIEW`
  Preview.
  Option describing whether to process or discard debug elements.
  `static enum`
  `ClassFile.LineNumbersOptionPREVIEW`
  Preview.
  Option describing whether to process or discard line numbers.
  `static interface`
  `ClassFile.OptionPREVIEW`
  Preview.
  An option that affects the parsing and writing of classfiles.
  `static enum`
  `ClassFile.ShortJumpsOptionPREVIEW`
  Preview.
  Option describing whether or not to automatically rewrite short jumps to long when necessary.
  `static enum`
  `ClassFile.StackMapsOptionPREVIEW`
  Preview.
  Option describing whether or not to generate stackmaps.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `AALOAD`
  50
  `static final int`
  `AASTORE`
  83
  `static final int`
  `ACC_ABSTRACT`
  0x0400
  `static final int`
  `ACC_ANNOTATION`
  0x2000
  `static final int`
  `ACC_BRIDGE`
  0x0040
  `static final int`
  `ACC_ENUM`
  0x4000
  `static final int`
  `ACC_FINAL`
  0x0010
  `static final int`
  `ACC_INTERFACE`
  0x0200
  `static final int`
  `ACC_MANDATED`
  0x8000
  `static final int`
  `ACC_MODULE`
  0x8000
  `static final int`
  `ACC_NATIVE`
  0x0100
  `static final int`
  `ACC_OPEN`
  0x20
  `static final int`
  `ACC_PRIVATE`
  0x0002
  `static final int`
  `ACC_PROTECTED`
  0x0004
  `static final int`
  `ACC_PUBLIC`
  0x0001
  `static final int`
  `ACC_STATIC`
  0x0008
  `static final int`
  `ACC_STATIC_PHASE`
  0x40
  `static final int`
  `ACC_STRICT`
  0x0800
  `static final int`
  `ACC_SUPER`
  0x0020
  `static final int`
  `ACC_SYNCHRONIZED`
  0x0020
  `static final int`
  `ACC_SYNTHETIC`
  0x1000
  `static final int`
  `ACC_TRANSIENT`
  0x0080
  `static final int`
  `ACC_TRANSITIVE`
  0x20
  `static final int`
  `ACC_VARARGS`
  0x0080
  `static final int`
  `ACC_VOLATILE`
  0x0040
  `static final int`
  `ACONST_NULL`
  1
  `static final char`
  `AEV_ANNOTATION`
  '@'
  `static final char`
  `AEV_ARRAY`
  '['
  `static final char`
  `AEV_BOOLEAN`
  'Z'
  `static final char`
  `AEV_BYTE`
  'B'
  `static final char`
  `AEV_CHAR`
  'C'
  `static final char`
  `AEV_CLASS`
  'c'
  `static final char`
  `AEV_DOUBLE`
  'D'
  `static final char`
  `AEV_ENUM`
  'e'
  `static final char`
  `AEV_FLOAT`
  'F'
  `static final char`
  `AEV_INT`
  'I'
  `static final char`
  `AEV_LONG`
  'J'
  `static final char`
  `AEV_SHORT`
  'S'
  `static final char`
  `AEV_STRING`
  's'
  `static final int`
  `ALOAD`
  25
  `static final int`
  `ALOAD_0`
  42
  `static final int`
  `ALOAD_1`
  43
  `static final int`
  `ALOAD_2`
  44
  `static final int`
  `ALOAD_3`
  45
  `static final int`
  `ANEWARRAY`
  189
  `static final int`
  `ARETURN`
  176
  `static final int`
  `ARRAYLENGTH`
  190
  `static final int`
  `ASTORE`
  58
  `static final int`
  `ASTORE_0`
  75
  `static final int`
  `ASTORE_1`
  76
  `static final int`
  `ASTORE_2`
  77
  `static final int`
  `ASTORE_3`
  78
  `static final int`
  `ATHROW`
  191
  `static final int`
  `BALOAD`
  51
  `static final int`
  `BASTORE`
  84
  `static final int`
  `BIPUSH`
  16
  `static final int`
  `CALOAD`
  52
  `static final int`
  `CASTORE`
  85
  `static final int`
  `CHECKCAST`
  192
  `static final int`
  `CRT_ASSIGNMENT`
  0x0004
  `static final int`
  `CRT_BLOCK`
  0x0002
  `static final int`
  `CRT_BRANCH_FALSE`
  0x0100
  `static final int`
  `CRT_BRANCH_TRUE`
  0x0080
  `static final int`
  `CRT_CREATE`
  0x0040
  `static final int`
  `CRT_FLOW_CONTROLLER`
  0x0008
  `static final int`
  `CRT_FLOW_TARGET`
  0x0010
  `static final int`
  `CRT_INVOKE`
  0x0020
  `static final int`
  `CRT_STATEMENT`
  0x0001
  `static final int`
  `D2F`
  144
  `static final int`
  `D2I`
  142
  `static final int`
  `D2L`
  143
  `static final int`
  `DADD`
  99
  `static final int`
  `DALOAD`
  49
  `static final int`
  `DASTORE`
  82
  `static final int`
  `DCMPG`
  152
  `static final int`
  `DCMPL`
  151
  `static final int`
  `DCONST_0`
  14
  `static final int`
  `DCONST_1`
  15
  `static final int`
  `DDIV`
  111
  `static final int`
  `DEFAULT_CLASS_FLAGS`
  ACC_PUBLIC
  `static final int`
  `DLOAD`
  24
  `static final int`
  `DLOAD_0`
  38
  `static final int`
  `DLOAD_1`
  39
  `static final int`
  `DLOAD_2`
  40
  `static final int`
  `DLOAD_3`
  41
  `static final int`
  `DMUL`
  107
  `static final int`
  `DNEG`
  119
  `static final int`
  `DREM`
  115
  `static final int`
  `DRETURN`
  175
  `static final int`
  `DSTORE`
  57
  `static final int`
  `DSTORE_0`
  71
  `static final int`
  `DSTORE_1`
  72
  `static final int`
  `DSTORE_2`
  73
  `static final int`
  `DSTORE_3`
  74
  `static final int`
  `DSUB`
  103
  `static final int`
  `DUP`
  89
  `static final int`
  `DUP_X1`
  90
  `static final int`
  `DUP_X2`
  91
  `static final int`
  `DUP2`
  92
  `static final int`
  `DUP2_X1`
  93
  `static final int`
  `DUP2_X2`
  94
  `static final int`
  `F2D`
  141
  `static final int`
  `F2I`
  139
  `static final int`
  `F2L`
  140
  `static final int`
  `FADD`
  98
  `static final int`
  `FALOAD`
  48
  `static final int`
  `FASTORE`
  81
  `static final int`
  `FCMPG`
  150
  `static final int`
  `FCMPL`
  149
  `static final int`
  `FCONST_0`
  11
  `static final int`
  `FCONST_1`
  12
  `static final int`
  `FCONST_2`
  13
  `static final int`
  `FDIV`
  110
  `static final int`
  `FLOAD`
  23
  `static final int`
  `FLOAD_0`
  34
  `static final int`
  `FLOAD_1`
  35
  `static final int`
  `FLOAD_2`
  36
  `static final int`
  `FLOAD_3`
  37
  `static final int`
  `FMUL`
  106
  `static final int`
  `FNEG`
  118
  `static final int`
  `FREM`
  114
  `static final int`
  `FRETURN`
  174
  `static final int`
  `FSTORE`
  56
  `static final int`
  `FSTORE_0`
  67
  `static final int`
  `FSTORE_1`
  68
  `static final int`
  `FSTORE_2`
  69
  `static final int`
  `FSTORE_3`
  70
  `static final int`
  `FSUB`
  102
  `static final int`
  `GETFIELD`
  180
  `static final int`
  `GETSTATIC`
  178
  `static final int`
  `GOTO`
  167
  `static final int`
  `GOTO_W`
  200
  `static final int`
  `I2B`
  145
  `static final int`
  `I2C`
  146
  `static final int`
  `I2D`
  135
  `static final int`
  `I2F`
  134
  `static final int`
  `I2L`
  133
  `static final int`
  `I2S`
  147
  `static final int`
  `IADD`
  96
  `static final int`
  `IALOAD`
  46
  `static final int`
  `IAND`
  126
  `static final int`
  `IASTORE`
  79
  `static final int`
  `ICONST_0`
  3
  `static final int`
  `ICONST_1`
  4
  `static final int`
  `ICONST_2`
  5
  `static final int`
  `ICONST_3`
  6
  `static final int`
  `ICONST_4`
  7
  `static final int`
  `ICONST_5`
  8
  `static final int`
  `ICONST_M1`
  2
  `static final int`
  `IDIV`
  108
  `static final int`
  `IF_ACMPEQ`
  165
  `static final int`
  `IF_ACMPNE`
  166
  `static final int`
  `IF_ICMPEQ`
  159
  `static final int`
  `IF_ICMPGE`
  162
  `static final int`
  `IF_ICMPGT`
  163
  `static final int`
  `IF_ICMPLE`
  164
  `static final int`
  `IF_ICMPLT`
  161
  `static final int`
  `IF_ICMPNE`
  160
  `static final int`
  `IFEQ`
  153
  `static final int`
  `IFGE`
  156
  `static final int`
  `IFGT`
  157
  `static final int`
  `IFLE`
  158
  `static final int`
  `IFLT`
  155
  `static final int`
  `IFNE`
  154
  `static final int`
  `IFNONNULL`
  199
  `static final int`
  `IFNULL`
  198
  `static final int`
  `IINC`
  132
  `static final int`
  `ILOAD`
  21
  `static final int`
  `ILOAD_0`
  26
  `static final int`
  `ILOAD_1`
  27
  `static final int`
  `ILOAD_2`
  28
  `static final int`
  `ILOAD_3`
  29
  `static final int`
  `IMUL`
  104
  `static final int`
  `INEG`
  116
  `static final int`
  `INSTANCEOF`
  193
  `static final int`
  `INVOKEDYNAMIC`
  186
  `static final int`
  `INVOKEINTERFACE`
  185
  `static final int`
  `INVOKESPECIAL`
  183
  `static final int`
  `INVOKESTATIC`
  184
  `static final int`
  `INVOKEVIRTUAL`
  182
  `static final int`
  `IOR`
  128
  `static final int`
  `IREM`
  112
  `static final int`
  `IRETURN`
  172
  `static final int`
  `ISHL`
  120
  `static final int`
  `ISHR`
  122
  `static final int`
  `ISTORE`
  54
  `static final int`
  `ISTORE_0`
  59
  `static final int`
  `ISTORE_1`
  60
  `static final int`
  `ISTORE_2`
  61
  `static final int`
  `ISTORE_3`
  62
  `static final int`
  `ISUB`
  100
  `static final int`
  `IUSHR`
  124
  `static final int`
  `IXOR`
  130
  `static final int`
  `JAVA_1_VERSION`
  45
  `static final int`
  `JAVA_10_VERSION`
  54
  `static final int`
  `JAVA_11_VERSION`
  55
  `static final int`
  `JAVA_12_VERSION`
  56
  `static final int`
  `JAVA_13_VERSION`
  57
  `static final int`
  `JAVA_14_VERSION`
  58
  `static final int`
  `JAVA_15_VERSION`
  59
  `static final int`
  `JAVA_16_VERSION`
  60
  `static final int`
  `JAVA_17_VERSION`
  61
  `static final int`
  `JAVA_18_VERSION`
  62
  `static final int`
  `JAVA_19_VERSION`
  63
  `static final int`
  `JAVA_2_VERSION`
  46
  `static final int`
  `JAVA_20_VERSION`
  64
  `static final int`
  `JAVA_21_VERSION`
  65
  `static final int`
  `JAVA_22_VERSION`
  66
  `static final int`
  `JAVA_3_VERSION`
  47
  `static final int`
  `JAVA_4_VERSION`
  48
  `static final int`
  `JAVA_5_VERSION`
  49
  `static final int`
  `JAVA_6_VERSION`
  50
  `static final int`
  `JAVA_7_VERSION`
  51
  `static final int`
  `JAVA_8_VERSION`
  52
  `static final int`
  `JAVA_9_VERSION`
  53
  `static final int`
  `JSR`
  168
  `static final int`
  `JSR_W`
  201
  `static final int`
  `L2D`
  138
  `static final int`
  `L2F`
  137
  `static final int`
  `L2I`
  136
  `static final int`
  `LADD`
  97
  `static final int`
  `LALOAD`
  47
  `static final int`
  `LAND`
  127
  `static final int`
  `LASTORE`
  80
  `static final int`
  `LCMP`
  148
  `static final int`
  `LCONST_0`
  9
  `static final int`
  `LCONST_1`
  10
  `static final int`
  `LDC`
  18
  `static final int`
  `LDC_W`
  19
  `static final int`
  `LDC2_W`
  20
  `static final int`
  `LDIV`
  109
  `static final int`
  `LLOAD`
  22
  `static final int`
  `LLOAD_0`
  30
  `static final int`
  `LLOAD_1`
  31
  `static final int`
  `LLOAD_2`
  32
  `static final int`
  `LLOAD_3`
  33
  `static final int`
  `LMUL`
  105
  `static final int`
  `LNEG`
  117
  `static final int`
  `LOOKUPSWITCH`
  171
  `static final int`
  `LOR`
  129
  `static final int`
  `LREM`
  113
  `static final int`
  `LRETURN`
  173
  `static final int`
  `LSHL`
  121
  `static final int`
  `LSHR`
  123
  `static final int`
  `LSTORE`
  55
  `static final int`
  `LSTORE_0`
  63
  `static final int`
  `LSTORE_1`
  64
  `static final int`
  `LSTORE_2`
  65
  `static final int`
  `LSTORE_3`
  66
  `static final int`
  `LSUB`
  101
  `static final int`
  `LUSHR`
  125
  `static final int`
  `LXOR`
  131
  `static final int`
  `MAGIC_NUMBER`
  0xCAFEBABE
  `static final int`
  `MONITORENTER`
  194
  `static final int`
  `MONITOREXIT`
  195
  `static final int`
  `MULTIANEWARRAY`
  197
  `static final int`
  `NEW`
  187
  `static final int`
  `NEWARRAY`
  188
  `static final int`
  `NOP`
  0
  `static final int`
  `POP`
  87
  `static final int`
  `POP2`
  88
  `static final int`
  `PREVIEW_MINOR_VERSION`
  A minor version number indicating a class uses preview features of a Java SE version since 12, for major versions 56 and above.
  `static final int`
  `PUTFIELD`
  181
  `static final int`
  `PUTSTATIC`
  179
  `static final int`
  `RET`
  169
  `static final int`
  `RETURN`
  177
  `static final int`
  `SALOAD`
  53
  `static final int`
  `SASTORE`
  86
  `static final int`
  `SIPUSH`
  17
  `static final int`
  `SWAP`
  95
  `static final int`
  `TABLESWITCH`
  170
  `static final int`
  `TAG_CLASS`
  7
  `static final int`
  `TAG_CONSTANTDYNAMIC`
  17
  `static final int`
  `TAG_DOUBLE`
  6
  `static final int`
  `TAG_FIELDREF`
  9
  `static final int`
  `TAG_FLOAT`
  4
  `static final int`
  `TAG_INTEGER`
  3
  `static final int`
  `TAG_INTERFACEMETHODREF`
  11
  `static final int`
  `TAG_INVOKEDYNAMIC`
  18
  `static final int`
  `TAG_LONG`
  5
  `static final int`
  `TAG_METHODHANDLE`
  15
  `static final int`
  `TAG_METHODREF`
  10
  `static final int`
  `TAG_METHODTYPE`
  16
  `static final int`
  `TAG_MODULE`
  19
  `static final int`
  `TAG_NAMEANDTYPE`
  12
  `static final int`
  `TAG_PACKAGE`
  20
  `static final int`
  `TAG_STRING`
  8
  `static final int`
  `TAG_UNICODE`
  2
  `static final int`
  `TAG_UTF8`
  1
  `static final int`
  `TAT_CAST`
  0x47
  `static final int`
  `TAT_CLASS_EXTENDS`
  0x10
  `static final int`
  `TAT_CLASS_TYPE_PARAMETER`
  0x00
  `static final int`
  `TAT_CLASS_TYPE_PARAMETER_BOUND`
  0x11
  `static final int`
  `TAT_CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT`
  0x48
  `static final int`
  `TAT_CONSTRUCTOR_REFERENCE`
  0x45
  `static final int`
  `TAT_CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT`
  0x4A
  `static final int`
  `TAT_EXCEPTION_PARAMETER`
  0x42
  `static final int`
  `TAT_FIELD`
  0x13
  `static final int`
  `TAT_INSTANCEOF`
  0x43
  `static final int`
  `TAT_LOCAL_VARIABLE`
  0x40
  `static final int`
  `TAT_METHOD_FORMAL_PARAMETER`
  0x16
  `static final int`
  `TAT_METHOD_INVOCATION_TYPE_ARGUMENT`
  0x49
  `static final int`
  `TAT_METHOD_RECEIVER`
  0x15
  `static final int`
  `TAT_METHOD_REFERENCE`
  0x46
  `static final int`
  `TAT_METHOD_REFERENCE_TYPE_ARGUMENT`
  0x4B
  `static final int`
  `TAT_METHOD_RETURN`
  0x14
  `static final int`
  `TAT_METHOD_TYPE_PARAMETER`
  0x01
  `static final int`
  `TAT_METHOD_TYPE_PARAMETER_BOUND`
  0x12
  `static final int`
  `TAT_NEW`
  0x44
  `static final int`
  `TAT_RESOURCE_VARIABLE`
  0x41
  `static final int`
  `TAT_THROWS`
  0x17
  `static final int`
  `VT_DOUBLE`
  3
  `static final int`
  `VT_FLOAT`
  2
  `static final int`
  `VT_INTEGER`
  1
  `static final int`
  `VT_LONG`
  4
  `static final int`
  `VT_NULL`
  5
  `static final int`
  `VT_OBJECT`
  7
  `static final int`
  `VT_TOP`
  0
  `static final int`
  `VT_UNINITIALIZED`
  8
  `static final int`
  `VT_UNINITIALIZED_THIS`
  6
  `static final int`
  `WIDE`
  196

- ## Method Summary

  Modifier and Type
  Method
  Description
  `byte[]`
  `build(ClassEntryPREVIEW thisClassEntry, ConstantPoolBuilderPREVIEW constantPool, Consumer<? super ClassBuilderPREVIEW> handler)`
  Build a classfile into a byte array using the provided constant pool builder.
  `default byte[]`
  `build(ClassDesc thisClass, Consumer<? super ClassBuilderPREVIEW> handler)`
  Build a classfile into a byte array.
  `default byte[]`
  `buildModule(ModuleAttributePREVIEW moduleAttribute)`
  Build a module descriptor into a byte array.
  `default byte[]`
  `buildModule(ModuleAttributePREVIEW moduleAttribute, Consumer<? super ClassBuilderPREVIEW> handler)`
  Build a module descriptor into a byte array.
  `default void`
  `buildModuleTo(Path path, ModuleAttributePREVIEW moduleAttribute)`
  Build a module descriptor into a file.
  `default void`
  `buildModuleTo(Path path, ModuleAttributePREVIEW moduleAttribute, Consumer<? super ClassBuilderPREVIEW> handler)`
  Build a module descriptor into a file.
  `default void`
  `buildTo(Path path, ClassEntryPREVIEW thisClassEntry, ConstantPoolBuilderPREVIEW constantPool, Consumer<? super ClassBuilderPREVIEW> handler)`
  Build a classfile into a file using the provided constant pool builder.
  `default void`
  `buildTo(Path path, ClassDesc thisClass, Consumer<ClassBuilderPREVIEW> handler)`
  Build a classfile into a file.
  `static int`
  `latestMajorVersion()`
  Returns the latest major Java version.
  `static int`
  `latestMinorVersion()`
  Returns the latest minor Java version.
  `static ClassFilePREVIEW`
  `of()`
  Returns a context with default options.
  `static ClassFilePREVIEW`
  `of(ClassFile.OptionPREVIEW... options)`
  Returns a new context with options altered from the default.
  `ClassModelPREVIEW`
  `parse(byte[] bytes)`
  Parse a classfile into a `ClassModel`PREVIEW.
  `default ClassModelPREVIEW`
  `parse(Path path)`
  Parse a classfile into a `ClassModel`PREVIEW.
  `default byte[]`
  `transform(ClassModelPREVIEW model, ClassTransformPREVIEW transform)`
  Transform one classfile into a new classfile with the aid of a `ClassTransform`PREVIEW.
  `byte[]`
  `transform(ClassModelPREVIEW model, ClassEntryPREVIEW newClassName, ClassTransformPREVIEW transform)`
  Transform one classfile into a new classfile with the aid of a `ClassTransform`PREVIEW.
  `default byte[]`
  `transform(ClassModelPREVIEW model, ClassDesc newClassName, ClassTransformPREVIEW transform)`
  Transform one classfile into a new classfile with the aid of a `ClassTransform`PREVIEW.
  `ClassFilePREVIEW`
  `withOptions(ClassFile.OptionPREVIEW... options)`
  Returns a copy of the context with altered options.

- ## Field Details

  - ### MAGIC_NUMBER

    static final int MAGIC_NUMBER
    0xCAFEBABE
    See Also:
      - Constant Field Values

  - ### NOP

    static final int NOP
    0
    See Also:
      - Constant Field Values

  - ### ACONST_NULL

    static final int ACONST_NULL
    1
    See Also:
      - Constant Field Values

  - ### ICONST_M1

    static final int ICONST_M1
    2
    See Also:
      - Constant Field Values

  - ### ICONST_0

    static final int ICONST_0
    3
    See Also:
      - Constant Field Values

  - ### ICONST_1

    static final int ICONST_1
    4
    See Also:
      - Constant Field Values

  - ### ICONST_2

    static final int ICONST_2
    5
    See Also:
      - Constant Field Values

  - ### ICONST_3

    static final int ICONST_3
    6
    See Also:
      - Constant Field Values

  - ### ICONST_4

    static final int ICONST_4
    7
    See Also:
      - Constant Field Values

  - ### ICONST_5

    static final int ICONST_5
    8
    See Also:
      - Constant Field Values

  - ### LCONST_0

    static final int LCONST_0
    9
    See Also:
      - Constant Field Values

  - ### LCONST_1

    static final int LCONST_1
    10
    See Also:
      - Constant Field Values

  - ### FCONST_0

    static final int FCONST_0
    11
    See Also:
      - Constant Field Values

  - ### FCONST_1

    static final int FCONST_1
    12
    See Also:
      - Constant Field Values

  - ### FCONST_2

    static final int FCONST_2
    13
    See Also:
      - Constant Field Values

  - ### DCONST_0

    static final int DCONST_0
    14
    See Also:
      - Constant Field Values

  - ### DCONST_1

    static final int DCONST_1
    15
    See Also:
      - Constant Field Values

  - ### BIPUSH

    static final int BIPUSH
    16
    See Also:
      - Constant Field Values

  - ### SIPUSH

    static final int SIPUSH
    17
    See Also:
      - Constant Field Values

  - ### LDC

    static final int LDC
    18
    See Also:
      - Constant Field Values

  - ### LDC_W

    static final int LDC_W
    19
    See Also:
      - Constant Field Values

  - ### LDC2_W

    static final int LDC2_W
    20
    See Also:
      - Constant Field Values

  - ### ILOAD

    static final int ILOAD
    21
    See Also:
      - Constant Field Values

  - ### LLOAD

    static final int LLOAD
    22
    See Also:
      - Constant Field Values

  - ### FLOAD

    static final int FLOAD
    23
    See Also:
      - Constant Field Values

  - ### DLOAD

    static final int DLOAD
    24
    See Also:
      - Constant Field Values

  - ### ALOAD

    static final int ALOAD
    25
    See Also:
      - Constant Field Values

  - ### ILOAD_0

    static final int ILOAD_0
    26
    See Also:
      - Constant Field Values

  - ### ILOAD_1

    static final int ILOAD_1
    27
    See Also:
      - Constant Field Values

  - ### ILOAD_2

    static final int ILOAD_2
    28
    See Also:
      - Constant Field Values

  - ### ILOAD_3

    static final int ILOAD_3
    29
    See Also:
      - Constant Field Values

  - ### LLOAD_0

    static final int LLOAD_0
    30
    See Also:
      - Constant Field Values

  - ### LLOAD_1

    static final int LLOAD_1
    31
    See Also:
      - Constant Field Values

  - ### LLOAD_2

    static final int LLOAD_2
    32
    See Also:
      - Constant Field Values

  - ### LLOAD_3

    static final int LLOAD_3
    33
    See Also:
      - Constant Field Values

  - ### FLOAD_0

    static final int FLOAD_0
    34
    See Also:
      - Constant Field Values

  - ### FLOAD_1

    static final int FLOAD_1
    35
    See Also:
      - Constant Field Values

  - ### FLOAD_2

    static final int FLOAD_2
    36
    See Also:
      - Constant Field Values

  - ### FLOAD_3

    static final int FLOAD_3
    37
    See Also:
      - Constant Field Values

  - ### DLOAD_0

    static final int DLOAD_0
    38
    See Also:
      - Constant Field Values

  - ### DLOAD_1

    static final int DLOAD_1
    39
    See Also:
      - Constant Field Values

  - ### DLOAD_2

    static final int DLOAD_2
    40
    See Also:
      - Constant Field Values

  - ### DLOAD_3

    static final int DLOAD_3
    41
    See Also:
      - Constant Field Values

  - ### ALOAD_0

    static final int ALOAD_0
    42
    See Also:
      - Constant Field Values

  - ### ALOAD_1

    static final int ALOAD_1
    43
    See Also:
      - Constant Field Values

  - ### ALOAD_2

    static final int ALOAD_2
    44
    See Also:
      - Constant Field Values

  - ### ALOAD_3

    static final int ALOAD_3
    45
    See Also:
      - Constant Field Values

  - ### IALOAD

    static final int IALOAD
    46
    See Also:
      - Constant Field Values

  - ### LALOAD

    static final int LALOAD
    47
    See Also:
      - Constant Field Values

  - ### FALOAD

    static final int FALOAD
    48
    See Also:
      - Constant Field Values

  - ### DALOAD

    static final int DALOAD
    49
    See Also:
      - Constant Field Values

  - ### AALOAD

    static final int AALOAD
    50
    See Also:
      - Constant Field Values

  - ### BALOAD

    static final int BALOAD
    51
    See Also:
      - Constant Field Values

  - ### CALOAD

    static final int CALOAD
    52
    See Also:
      - Constant Field Values

  - ### SALOAD

    static final int SALOAD
    53
    See Also:
      - Constant Field Values

  - ### ISTORE

    static final int ISTORE
    54
    See Also:
      - Constant Field Values

  - ### LSTORE

    static final int LSTORE
    55
    See Also:
      - Constant Field Values

  - ### FSTORE

    static final int FSTORE
    56
    See Also:
      - Constant Field Values

  - ### DSTORE

    static final int DSTORE
    57
    See Also:
      - Constant Field Values

  - ### ASTORE

    static final int ASTORE
    58
    See Also:
      - Constant Field Values

  - ### ISTORE_0

    static final int ISTORE_0
    59
    See Also:
      - Constant Field Values

  - ### ISTORE_1

    static final int ISTORE_1
    60
    See Also:
      - Constant Field Values

  - ### ISTORE_2

    static final int ISTORE_2
    61
    See Also:
      - Constant Field Values

  - ### ISTORE_3

    static final int ISTORE_3
    62
    See Also:
      - Constant Field Values

  - ### LSTORE_0

    static final int LSTORE_0
    63
    See Also:
      - Constant Field Values

  - ### LSTORE_1

    static final int LSTORE_1
    64
    See Also:
      - Constant Field Values

  - ### LSTORE_2

    static final int LSTORE_2
    65
    See Also:
      - Constant Field Values

  - ### LSTORE_3

    static final int LSTORE_3
    66
    See Also:
      - Constant Field Values

  - ### FSTORE_0

    static final int FSTORE_0
    67
    See Also:
      - Constant Field Values

  - ### FSTORE_1

    static final int FSTORE_1
    68
    See Also:
      - Constant Field Values

  - ### FSTORE_2

    static final int FSTORE_2
    69
    See Also:
      - Constant Field Values

  - ### FSTORE_3

    static final int FSTORE_3
    70
    See Also:
      - Constant Field Values

  - ### DSTORE_0

    static final int DSTORE_0
    71
    See Also:
      - Constant Field Values

  - ### DSTORE_1

    static final int DSTORE_1
    72
    See Also:
      - Constant Field Values

  - ### DSTORE_2

    static final int DSTORE_2
    73
    See Also:
      - Constant Field Values

  - ### DSTORE_3

    static final int DSTORE_3
    74
    See Also:
      - Constant Field Values

  - ### ASTORE_0

    static final int ASTORE_0
    75
    See Also:
      - Constant Field Values

  - ### ASTORE_1

    static final int ASTORE_1
    76
    See Also:
      - Constant Field Values

  - ### ASTORE_2

    static final int ASTORE_2
    77
    See Also:
      - Constant Field Values

  - ### ASTORE_3

    static final int ASTORE_3
    78
    See Also:
      - Constant Field Values

  - ### IASTORE

    static final int IASTORE
    79
    See Also:
      - Constant Field Values

  - ### LASTORE

    static final int LASTORE
    80
    See Also:
      - Constant Field Values

  - ### FASTORE

    static final int FASTORE
    81
    See Also:
      - Constant Field Values

  - ### DASTORE

    static final int DASTORE
    82
    See Also:
      - Constant Field Values

  - ### AASTORE

    static final int AASTORE
    83
    See Also:
      - Constant Field Values

  - ### BASTORE

    static final int BASTORE
    84
    See Also:
      - Constant Field Values

  - ### CASTORE

    static final int CASTORE
    85
    See Also:
      - Constant Field Values

  - ### SASTORE

    static final int SASTORE
    86
    See Also:
      - Constant Field Values

  - ### POP

    static final int POP
    87
    See Also:
      - Constant Field Values

  - ### POP2

    static final int POP2
    88
    See Also:
      - Constant Field Values

  - ### DUP

    static final int DUP
    89
    See Also:
      - Constant Field Values

  - ### DUP_X1

    static final int DUP_X1
    90
    See Also:
      - Constant Field Values

  - ### DUP_X2

    static final int DUP_X2
    91
    See Also:
      - Constant Field Values

  - ### DUP2

    static final int DUP2
    92
    See Also:
      - Constant Field Values

  - ### DUP2_X1

    static final int DUP2_X1
    93
    See Also:
      - Constant Field Values

  - ### DUP2_X2

    static final int DUP2_X2
    94
    See Also:
      - Constant Field Values

  - ### SWAP

    static final int SWAP
    95
    See Also:
      - Constant Field Values

  - ### IADD

    static final int IADD
    96
    See Also:
      - Constant Field Values

  - ### LADD

    static final int LADD
    97
    See Also:
      - Constant Field Values

  - ### FADD

    static final int FADD
    98
    See Also:
      - Constant Field Values

  - ### DADD

    static final int DADD
    99
    See Also:
      - Constant Field Values

  - ### ISUB

    static final int ISUB
    100
    See Also:
      - Constant Field Values

  - ### LSUB

    static final int LSUB
    101
    See Also:
      - Constant Field Values

  - ### FSUB

    static final int FSUB
    102
    See Also:
      - Constant Field Values

  - ### DSUB

    static final int DSUB
    103
    See Also:
      - Constant Field Values

  - ### IMUL

    static final int IMUL
    104
    See Also:
      - Constant Field Values

  - ### LMUL

    static final int LMUL
    105
    See Also:
      - Constant Field Values

  - ### FMUL

    static final int FMUL
    106
    See Also:
      - Constant Field Values

  - ### DMUL

    static final int DMUL
    107
    See Also:
      - Constant Field Values

  - ### IDIV

    static final int IDIV
    108
    See Also:
      - Constant Field Values

  - ### LDIV

    static final int LDIV
    109
    See Also:
      - Constant Field Values

  - ### FDIV

    static final int FDIV
    110
    See Also:
      - Constant Field Values

  - ### DDIV

    static final int DDIV
    111
    See Also:
      - Constant Field Values

  - ### IREM

    static final int IREM
    112
    See Also:
      - Constant Field Values

  - ### LREM

    static final int LREM
    113
    See Also:
      - Constant Field Values

  - ### FREM

    static final int FREM
    114
    See Also:
      - Constant Field Values

  - ### DREM

    static final int DREM
    115
    See Also:
      - Constant Field Values

  - ### INEG

    static final int INEG
    116
    See Also:
      - Constant Field Values

  - ### LNEG

    static final int LNEG
    117
    See Also:
      - Constant Field Values

  - ### FNEG

    static final int FNEG
    118
    See Also:
      - Constant Field Values

  - ### DNEG

    static final int DNEG
    119
    See Also:
      - Constant Field Values

  - ### ISHL

    static final int ISHL
    120
    See Also:
      - Constant Field Values

  - ### LSHL

    static final int LSHL
    121
    See Also:
      - Constant Field Values

  - ### ISHR

    static final int ISHR
    122
    See Also:
      - Constant Field Values

  - ### LSHR

    static final int LSHR
    123
    See Also:
      - Constant Field Values

  - ### IUSHR

    static final int IUSHR
    124
    See Also:
      - Constant Field Values

  - ### LUSHR

    static final int LUSHR
    125
    See Also:
      - Constant Field Values

  - ### IAND

    static final int IAND
    126
    See Also:
      - Constant Field Values

  - ### LAND

    static final int LAND
    127
    See Also:
      - Constant Field Values

  - ### IOR

    static final int IOR
    128
    See Also:
      - Constant Field Values

  - ### LOR

    static final int LOR
    129
    See Also:
      - Constant Field Values

  - ### IXOR

    static final int IXOR
    130
    See Also:
      - Constant Field Values

  - ### LXOR

    static final int LXOR
    131
    See Also:
      - Constant Field Values

  - ### IINC

    static final int IINC
    132
    See Also:
      - Constant Field Values

  - ### I2L

    static final int I2L
    133
    See Also:
      - Constant Field Values

  - ### I2F

    static final int I2F
    134
    See Also:
      - Constant Field Values

  - ### I2D

    static final int I2D
    135
    See Also:
      - Constant Field Values

  - ### L2I

    static final int L2I
    136
    See Also:
      - Constant Field Values

  - ### L2F

    static final int L2F
    137
    See Also:
      - Constant Field Values

  - ### L2D

    static final int L2D
    138
    See Also:
      - Constant Field Values

  - ### F2I

    static final int F2I
    139
    See Also:
      - Constant Field Values

  - ### F2L

    static final int F2L
    140
    See Also:
      - Constant Field Values

  - ### F2D

    static final int F2D
    141
    See Also:
      - Constant Field Values

  - ### D2I

    static final int D2I
    142
    See Also:
      - Constant Field Values

  - ### D2L

    static final int D2L
    143
    See Also:
      - Constant Field Values

  - ### D2F

    static final int D2F
    144
    See Also:
      - Constant Field Values

  - ### I2B

    static final int I2B
    145
    See Also:
      - Constant Field Values

  - ### I2C

    static final int I2C
    146
    See Also:
      - Constant Field Values

  - ### I2S

    static final int I2S
    147
    See Also:
      - Constant Field Values

  - ### LCMP

    static final int LCMP
    148
    See Also:
      - Constant Field Values

  - ### FCMPL

    static final int FCMPL
    149
    See Also:
      - Constant Field Values

  - ### FCMPG

    static final int FCMPG
    150
    See Also:
      - Constant Field Values

  - ### DCMPL

    static final int DCMPL
    151
    See Also:
      - Constant Field Values

  - ### DCMPG

    static final int DCMPG
    152
    See Also:
      - Constant Field Values

  - ### IFEQ

    static final int IFEQ
    153
    See Also:
      - Constant Field Values

  - ### IFNE

    static final int IFNE
    154
    See Also:
      - Constant Field Values

  - ### IFLT

    static final int IFLT
    155
    See Also:
      - Constant Field Values

  - ### IFGE

    static final int IFGE
    156
    See Also:
      - Constant Field Values

  - ### IFGT

    static final int IFGT
    157
    See Also:
      - Constant Field Values

  - ### IFLE

    static final int IFLE
    158
    See Also:
      - Constant Field Values

  - ### IF_ICMPEQ

    static final int IF_ICMPEQ
    159
    See Also:
      - Constant Field Values

  - ### IF_ICMPNE

    static final int IF_ICMPNE
    160
    See Also:
      - Constant Field Values

  - ### IF_ICMPLT

    static final int IF_ICMPLT
    161
    See Also:
      - Constant Field Values

  - ### IF_ICMPGE

    static final int IF_ICMPGE
    162
    See Also:
      - Constant Field Values

  - ### IF_ICMPGT

    static final int IF_ICMPGT
    163
    See Also:
      - Constant Field Values

  - ### IF_ICMPLE

    static final int IF_ICMPLE
    164
    See Also:
      - Constant Field Values

  - ### IF_ACMPEQ

    static final int IF_ACMPEQ
    165
    See Also:
      - Constant Field Values

  - ### IF_ACMPNE

    static final int IF_ACMPNE
    166
    See Also:
      - Constant Field Values

  - ### GOTO

    static final int GOTO
    167
    See Also:
      - Constant Field Values

  - ### JSR

    static final int JSR
    168
    See Also:
      - Constant Field Values

  - ### RET

    static final int RET
    169
    See Also:
      - Constant Field Values

  - ### TABLESWITCH

    static final int TABLESWITCH
    170
    See Also:
      - Constant Field Values

  - ### LOOKUPSWITCH

    static final int LOOKUPSWITCH
    171
    See Also:
      - Constant Field Values

  - ### IRETURN

    static final int IRETURN
    172
    See Also:
      - Constant Field Values

  - ### LRETURN

    static final int LRETURN
    173
    See Also:
      - Constant Field Values

  - ### FRETURN

    static final int FRETURN
    174
    See Also:
      - Constant Field Values

  - ### DRETURN

    static final int DRETURN
    175
    See Also:
      - Constant Field Values

  - ### ARETURN

    static final int ARETURN
    176
    See Also:
      - Constant Field Values

  - ### RETURN

    static final int RETURN
    177
    See Also:
      - Constant Field Values

  - ### GETSTATIC

    static final int GETSTATIC
    178
    See Also:
      - Constant Field Values

  - ### PUTSTATIC

    static final int PUTSTATIC
    179
    See Also:
      - Constant Field Values

  - ### GETFIELD

    static final int GETFIELD
    180
    See Also:
      - Constant Field Values

  - ### PUTFIELD

    static final int PUTFIELD
    181
    See Also:
      - Constant Field Values

  - ### INVOKEVIRTUAL

    static final int INVOKEVIRTUAL
    182
    See Also:
      - Constant Field Values

  - ### INVOKESPECIAL

    static final int INVOKESPECIAL
    183
    See Also:
      - Constant Field Values

  - ### INVOKESTATIC

    static final int INVOKESTATIC
    184
    See Also:
      - Constant Field Values

  - ### INVOKEINTERFACE

    static final int INVOKEINTERFACE
    185
    See Also:
      - Constant Field Values

  - ### INVOKEDYNAMIC

    static final int INVOKEDYNAMIC
    186
    See Also:
      - Constant Field Values

  - ### NEW

    static final int NEW
    187
    See Also:
      - Constant Field Values

  - ### NEWARRAY

    static final int NEWARRAY
    188
    See Also:
      - Constant Field Values

  - ### ANEWARRAY

    static final int ANEWARRAY
    189
    See Also:
      - Constant Field Values

  - ### ARRAYLENGTH

    static final int ARRAYLENGTH
    190
    See Also:
      - Constant Field Values

  - ### ATHROW

    static final int ATHROW
    191
    See Also:
      - Constant Field Values

  - ### CHECKCAST

    static final int CHECKCAST
    192
    See Also:
      - Constant Field Values

  - ### INSTANCEOF

    static final int INSTANCEOF
    193
    See Also:
      - Constant Field Values

  - ### MONITORENTER

    static final int MONITORENTER
    194
    See Also:
      - Constant Field Values

  - ### MONITOREXIT

    static final int MONITOREXIT
    195
    See Also:
      - Constant Field Values

  - ### WIDE

    static final int WIDE
    196
    See Also:
      - Constant Field Values

  - ### MULTIANEWARRAY

    static final int MULTIANEWARRAY
    197
    See Also:
      - Constant Field Values

  - ### IFNULL

    static final int IFNULL
    198
    See Also:
      - Constant Field Values

  - ### IFNONNULL

    static final int IFNONNULL
    199
    See Also:
      - Constant Field Values

  - ### GOTO_W

    static final int GOTO_W
    200
    See Also:
      - Constant Field Values

  - ### JSR_W

    static final int JSR_W
    201
    See Also:
      - Constant Field Values

  - ### ACC_PUBLIC

    static final int ACC_PUBLIC
    0x0001
    See Also:
      - Constant Field Values

  - ### ACC_PROTECTED

    static final int ACC_PROTECTED
    0x0004
    See Also:
      - Constant Field Values

  - ### ACC_PRIVATE

    static final int ACC_PRIVATE
    0x0002
    See Also:
      - Constant Field Values

  - ### ACC_INTERFACE

    static final int ACC_INTERFACE
    0x0200
    See Also:
      - Constant Field Values

  - ### ACC_ENUM

    static final int ACC_ENUM
    0x4000
    See Also:
      - Constant Field Values

  - ### ACC_ANNOTATION

    static final int ACC_ANNOTATION
    0x2000
    See Also:
      - Constant Field Values

  - ### ACC_SUPER

    static final int ACC_SUPER
    0x0020
    See Also:
      - Constant Field Values

  - ### ACC_ABSTRACT

    static final int ACC_ABSTRACT
    0x0400
    See Also:
      - Constant Field Values

  - ### ACC_VOLATILE

    static final int ACC_VOLATILE
    0x0040
    See Also:
      - Constant Field Values

  - ### ACC_TRANSIENT

    static final int ACC_TRANSIENT
    0x0080
    See Also:
      - Constant Field Values

  - ### ACC_SYNTHETIC

    static final int ACC_SYNTHETIC
    0x1000
    See Also:
      - Constant Field Values

  - ### ACC_STATIC

    static final int ACC_STATIC
    0x0008
    See Also:
      - Constant Field Values

  - ### ACC_FINAL

    static final int ACC_FINAL
    0x0010
    See Also:
      - Constant Field Values

  - ### ACC_SYNCHRONIZED

    static final int ACC_SYNCHRONIZED
    0x0020
    See Also:
      - Constant Field Values

  - ### ACC_BRIDGE

    static final int ACC_BRIDGE
    0x0040
    See Also:
      - Constant Field Values

  - ### ACC_VARARGS

    static final int ACC_VARARGS
    0x0080
    See Also:
      - Constant Field Values

  - ### ACC_NATIVE

    static final int ACC_NATIVE
    0x0100
    See Also:
      - Constant Field Values

  - ### ACC_STRICT

    static final int ACC_STRICT
    0x0800
    See Also:
      - Constant Field Values

  - ### ACC_MODULE

    static final int ACC_MODULE
    0x8000
    See Also:
      - Constant Field Values

  - ### ACC_OPEN

    static final int ACC_OPEN
    0x20
    See Also:
      - Constant Field Values

  - ### ACC_MANDATED

    static final int ACC_MANDATED
    0x8000
    See Also:
      - Constant Field Values

  - ### ACC_TRANSITIVE

    static final int ACC_TRANSITIVE
    0x20
    See Also:
      - Constant Field Values

  - ### ACC_STATIC_PHASE

    static final int ACC_STATIC_PHASE
    0x40
    See Also:
      - Constant Field Values

  - ### CRT_STATEMENT

    static final int CRT_STATEMENT
    0x0001
    See Also:
      - Constant Field Values

  - ### CRT_BLOCK

    static final int CRT_BLOCK
    0x0002
    See Also:
      - Constant Field Values

  - ### CRT_ASSIGNMENT

    static final int CRT_ASSIGNMENT
    0x0004
    See Also:
      - Constant Field Values

  - ### CRT_FLOW_CONTROLLER

    static final int CRT_FLOW_CONTROLLER
    0x0008
    See Also:
      - Constant Field Values

  - ### CRT_FLOW_TARGET

    static final int CRT_FLOW_TARGET
    0x0010
    See Also:
      - Constant Field Values

  - ### CRT_INVOKE

    static final int CRT_INVOKE
    0x0020
    See Also:
      - Constant Field Values

  - ### CRT_CREATE

    static final int CRT_CREATE
    0x0040
    See Also:
      - Constant Field Values

  - ### CRT_BRANCH_TRUE

    static final int CRT_BRANCH_TRUE
    0x0080
    See Also:
      - Constant Field Values

  - ### CRT_BRANCH_FALSE

    static final int CRT_BRANCH_FALSE
    0x0100
    See Also:
      - Constant Field Values

  - ### TAG_CLASS

    static final int TAG_CLASS
    7
    See Also:
      - Constant Field Values

  - ### TAG_CONSTANTDYNAMIC

    static final int TAG_CONSTANTDYNAMIC
    17
    See Also:
      - Constant Field Values

  - ### TAG_DOUBLE

    static final int TAG_DOUBLE
    6
    See Also:
      - Constant Field Values

  - ### TAG_FIELDREF

    static final int TAG_FIELDREF
    9
    See Also:
      - Constant Field Values

  - ### TAG_FLOAT

    static final int TAG_FLOAT
    4
    See Also:
      - Constant Field Values

  - ### TAG_INTEGER

    static final int TAG_INTEGER
    3
    See Also:
      - Constant Field Values

  - ### TAG_INTERFACEMETHODREF

    static final int TAG_INTERFACEMETHODREF
    11
    See Also:
      - Constant Field Values

  - ### TAG_INVOKEDYNAMIC

    static final int TAG_INVOKEDYNAMIC
    18
    See Also:
      - Constant Field Values

  - ### TAG_LONG

    static final int TAG_LONG
    5
    See Also:
      - Constant Field Values

  - ### TAG_METHODHANDLE

    static final int TAG_METHODHANDLE
    15
    See Also:
      - Constant Field Values

  - ### TAG_METHODREF

    static final int TAG_METHODREF
    10
    See Also:
      - Constant Field Values

  - ### TAG_METHODTYPE

    static final int TAG_METHODTYPE
    16
    See Also:
      - Constant Field Values

  - ### TAG_MODULE

    static final int TAG_MODULE
    19
    See Also:
      - Constant Field Values

  - ### TAG_NAMEANDTYPE

    static final int TAG_NAMEANDTYPE
    12
    See Also:
      - Constant Field Values

  - ### TAG_PACKAGE

    static final int TAG_PACKAGE
    20
    See Also:
      - Constant Field Values

  - ### TAG_STRING

    static final int TAG_STRING
    8
    See Also:
      - Constant Field Values

  - ### TAG_UNICODE

    static final int TAG_UNICODE
    2
    See Also:
      - Constant Field Values

  - ### TAG_UTF8

    static final int TAG_UTF8
    1
    See Also:
      - Constant Field Values

  - ### AEV_BYTE

    static final char AEV_BYTE
    'B'
    See Also:
      - Constant Field Values

  - ### AEV_CHAR

    static final char AEV_CHAR
    'C'
    See Also:
      - Constant Field Values

  - ### AEV_DOUBLE

    static final char AEV_DOUBLE
    'D'
    See Also:
      - Constant Field Values

  - ### AEV_FLOAT

    static final char AEV_FLOAT
    'F'
    See Also:
      - Constant Field Values

  - ### AEV_INT

    static final char AEV_INT
    'I'
    See Also:
      - Constant Field Values

  - ### AEV_LONG

    static final char AEV_LONG
    'J'
    See Also:
      - Constant Field Values

  - ### AEV_SHORT

    static final char AEV_SHORT
    'S'
    See Also:
      - Constant Field Values

  - ### AEV_BOOLEAN

    static final char AEV_BOOLEAN
    'Z'
    See Also:
      - Constant Field Values

  - ### AEV_STRING

    static final char AEV_STRING
    's'
    See Also:
      - Constant Field Values

  - ### AEV_ENUM

    static final char AEV_ENUM
    'e'
    See Also:
      - Constant Field Values

  - ### AEV_CLASS

    static final char AEV_CLASS
    'c'
    See Also:
      - Constant Field Values

  - ### AEV_ANNOTATION

    static final char AEV_ANNOTATION
    '@'
    See Also:
      - Constant Field Values

  - ### AEV_ARRAY

    static final char AEV_ARRAY
    '['
    See Also:
      - Constant Field Values

  - ### TAT_CLASS_TYPE_PARAMETER

    static final int TAT_CLASS_TYPE_PARAMETER
    0x00
    See Also:
      - Constant Field Values

  - ### TAT_METHOD_TYPE_PARAMETER

    static final int TAT_METHOD_TYPE_PARAMETER
    0x01
    See Also:
      - Constant Field Values

  - ### TAT_CLASS_EXTENDS

    static final int TAT_CLASS_EXTENDS
    0x10
    See Also:
      - Constant Field Values

  - ### TAT_CLASS_TYPE_PARAMETER_BOUND

    static final int TAT_CLASS_TYPE_PARAMETER_BOUND
    0x11
    See Also:
      - Constant Field Values

  - ### TAT_METHOD_TYPE_PARAMETER_BOUND

    static final int TAT_METHOD_TYPE_PARAMETER_BOUND
    0x12
    See Also:
      - Constant Field Values

  - ### TAT_FIELD

    static final int TAT_FIELD
    0x13
    See Also:
      - Constant Field Values

  - ### TAT_METHOD_RETURN

    static final int TAT_METHOD_RETURN
    0x14
    See Also:
      - Constant Field Values

  - ### TAT_METHOD_RECEIVER

    static final int TAT_METHOD_RECEIVER
    0x15
    See Also:
      - Constant Field Values

  - ### TAT_METHOD_FORMAL_PARAMETER

    static final int TAT_METHOD_FORMAL_PARAMETER
    0x16
    See Also:
      - Constant Field Values

  - ### TAT_THROWS

    static final int TAT_THROWS
    0x17
    See Also:
      - Constant Field Values

  - ### TAT_LOCAL_VARIABLE

    static final int TAT_LOCAL_VARIABLE
    0x40
    See Also:
      - Constant Field Values

  - ### TAT_RESOURCE_VARIABLE

    static final int TAT_RESOURCE_VARIABLE
    0x41
    See Also:
      - Constant Field Values

  - ### TAT_EXCEPTION_PARAMETER

    static final int TAT_EXCEPTION_PARAMETER
    0x42
    See Also:
      - Constant Field Values

  - ### TAT_INSTANCEOF

    static final int TAT_INSTANCEOF
    0x43
    See Also:
      - Constant Field Values

  - ### TAT_NEW

    static final int TAT_NEW
    0x44
    See Also:
      - Constant Field Values

  - ### TAT_CONSTRUCTOR_REFERENCE

    static final int TAT_CONSTRUCTOR_REFERENCE
    0x45
    See Also:
      - Constant Field Values

  - ### TAT_METHOD_REFERENCE

    static final int TAT_METHOD_REFERENCE
    0x46
    See Also:
      - Constant Field Values

  - ### TAT_CAST

    static final int TAT_CAST
    0x47
    See Also:
      - Constant Field Values

  - ### TAT_CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT

    static final int TAT_CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT
    0x48
    See Also:
      - Constant Field Values

  - ### TAT_METHOD_INVOCATION_TYPE_ARGUMENT

    static final int TAT_METHOD_INVOCATION_TYPE_ARGUMENT
    0x49
    See Also:
      - Constant Field Values

  - ### TAT_CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT

    static final int TAT_CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT
    0x4A
    See Also:
      - Constant Field Values

  - ### TAT_METHOD_REFERENCE_TYPE_ARGUMENT

    static final int TAT_METHOD_REFERENCE_TYPE_ARGUMENT
    0x4B
    See Also:
      - Constant Field Values

  - ### VT_TOP

    static final int VT_TOP
    0
    See Also:
      - Constant Field Values

  - ### VT_INTEGER

    static final int VT_INTEGER
    1
    See Also:
      - Constant Field Values

  - ### VT_FLOAT

    static final int VT_FLOAT
    2
    See Also:
      - Constant Field Values

  - ### VT_DOUBLE

    static final int VT_DOUBLE
    3
    See Also:
      - Constant Field Values

  - ### VT_LONG

    static final int VT_LONG
    4
    See Also:
      - Constant Field Values

  - ### VT_NULL

    static final int VT_NULL
    5
    See Also:
      - Constant Field Values

  - ### VT_UNINITIALIZED_THIS

    static final int VT_UNINITIALIZED_THIS
    6
    See Also:
      - Constant Field Values

  - ### VT_OBJECT

    static final int VT_OBJECT
    7
    See Also:
      - Constant Field Values

  - ### VT_UNINITIALIZED

    static final int VT_UNINITIALIZED
    8
    See Also:
      - Constant Field Values

  - ### DEFAULT_CLASS_FLAGS

    static final int DEFAULT_CLASS_FLAGS
    ACC_PUBLIC
    See Also:
      - Constant Field Values

  - ### JAVA_1_VERSION

    static final int JAVA_1_VERSION
    45
    See Also:
      - Constant Field Values

  - ### JAVA_2_VERSION

    static final int JAVA_2_VERSION
    46
    See Also:
      - Constant Field Values

  - ### JAVA_3_VERSION

    static final int JAVA_3_VERSION
    47
    See Also:
      - Constant Field Values

  - ### JAVA_4_VERSION

    static final int JAVA_4_VERSION
    48
    See Also:
      - Constant Field Values

  - ### JAVA_5_VERSION

    static final int JAVA_5_VERSION
    49
    See Also:
      - Constant Field Values

  - ### JAVA_6_VERSION

    static final int JAVA_6_VERSION
    50
    See Also:
      - Constant Field Values

  - ### JAVA_7_VERSION

    static final int JAVA_7_VERSION
    51
    See Also:
      - Constant Field Values

  - ### JAVA_8_VERSION

    static final int JAVA_8_VERSION
    52
    See Also:
      - Constant Field Values

  - ### JAVA_9_VERSION

    static final int JAVA_9_VERSION
    53
    See Also:
      - Constant Field Values

  - ### JAVA_10_VERSION

    static final int JAVA_10_VERSION
    54
    See Also:
      - Constant Field Values

  - ### JAVA_11_VERSION

    static final int JAVA_11_VERSION
    55
    See Also:
      - Constant Field Values

  - ### JAVA_12_VERSION

    static final int JAVA_12_VERSION
    56
    See Also:
      - Constant Field Values

  - ### JAVA_13_VERSION

    static final int JAVA_13_VERSION
    57
    See Also:
      - Constant Field Values

  - ### JAVA_14_VERSION

    static final int JAVA_14_VERSION
    58
    See Also:
      - Constant Field Values

  - ### JAVA_15_VERSION

    static final int JAVA_15_VERSION
    59
    See Also:
      - Constant Field Values

  - ### JAVA_16_VERSION

    static final int JAVA_16_VERSION
    60
    See Also:
      - Constant Field Values

  - ### JAVA_17_VERSION

    static final int JAVA_17_VERSION
    61
    See Also:
      - Constant Field Values

  - ### JAVA_18_VERSION

    static final int JAVA_18_VERSION
    62
    See Also:
      - Constant Field Values

  - ### JAVA_19_VERSION

    static final int JAVA_19_VERSION
    63
    See Also:
      - Constant Field Values

  - ### JAVA_20_VERSION

    static final int JAVA_20_VERSION
    64
    See Also:
      - Constant Field Values

  - ### JAVA_21_VERSION

    static final int JAVA_21_VERSION
    65
    See Also:
      - Constant Field Values

  - ### JAVA_22_VERSION

    static final int JAVA_22_VERSION
    66
    See Also:
      - Constant Field Values

  - ### PREVIEW_MINOR_VERSION

    static final int PREVIEW_MINOR_VERSION
    A minor version number indicating a class uses preview features of a Java SE version since 12, for major versions 56 and above.
    See Also:
      - Constant Field Values

- ## Method Details

  - ### of

    static ClassFilePREVIEW of()
    Returns a context with default options.
    Returns:
      a context with default options

  - ### of

    static ClassFilePREVIEW of(ClassFile.OptionPREVIEW... options)
    Returns a new context with options altered from the default.
    Parameters:
      `options` - the desired processing options
    Returns:
      a new context with options altered from the default

  - ### withOptions

    ClassFilePREVIEW withOptions(ClassFile.OptionPREVIEW... options)
    Returns a copy of the context with altered options.
    Parameters:
      `options` - the desired processing options
    Returns:
      a copy of the context with altered options

  - ### parse

    ClassModelPREVIEW parse(byte[] bytes)
    Parse a classfile into a `ClassModel`PREVIEW.
    Parameters:
      `bytes` - the bytes of the classfile
    Returns:
      the class model

  - ### parse

    default ClassModelPREVIEW parse(Path path) throws IOException
    Parse a classfile into a `ClassModel`PREVIEW.
    Parameters:
      `path` - the path to the classfile
    Returns:
      the class model
    Throws:
      `IOException` - if an I/O error occurs

  - ### build

    default byte[] build(ClassDesc thisClass, Consumer<? super ClassBuilderPREVIEW> handler)
    Build a classfile into a byte array.
    Parameters:
      `thisClass` - the name of the class to build
      `handler` - a handler that receives a `ClassBuilder`PREVIEW
    Returns:
      the classfile bytes
    Throws:
      `IllegalArgumentException` - if `thisClass` represents a primitive type

  - ### build

    byte[] build(ClassEntryPREVIEW thisClassEntry, ConstantPoolBuilderPREVIEW constantPool, Consumer<? super ClassBuilderPREVIEW> handler)
    Build a classfile into a byte array using the provided constant pool builder.
    Parameters:
      `thisClassEntry` - the name of the class to build
      `constantPool` - the constant pool builder
      `handler` - a handler that receives a `ClassBuilder`PREVIEW
    Returns:
      the classfile bytes

  - ### buildTo

    default void buildTo(Path path, ClassDesc thisClass, Consumer<ClassBuilderPREVIEW> handler) throws IOException
    Build a classfile into a file.
    Parameters:
      `path` - the path to the file to write
      `thisClass` - the name of the class to build
      `handler` - a handler that receives a `ClassBuilder`PREVIEW
    Throws:
      `IOException` - if an I/O error occurs

  - ### buildTo

    default void buildTo(Path path, ClassEntryPREVIEW thisClassEntry, ConstantPoolBuilderPREVIEW constantPool, Consumer<? super ClassBuilderPREVIEW> handler) throws IOException
    Build a classfile into a file using the provided constant pool builder.
    Parameters:
      `path` - the path to the file to write
      `thisClassEntry` - the name of the class to build
      `constantPool` - the constant pool builder
      `handler` - a handler that receives a `ClassBuilder`PREVIEW
    Throws:
      `IOException` - if an I/O error occurs

  - ### buildModule

    default byte[] buildModule(ModuleAttributePREVIEW moduleAttribute)
    Build a module descriptor into a byte array.
    Parameters:
      `moduleAttribute` - the `Module` attribute
    Returns:
      the classfile bytes

  - ### buildModule

    default byte[] buildModule(ModuleAttributePREVIEW moduleAttribute, Consumer<? super ClassBuilderPREVIEW> handler)
    Build a module descriptor into a byte array.
    Parameters:
      `moduleAttribute` - the `Module` attribute
      `handler` - a handler that receives a `ClassBuilder`PREVIEW
    Returns:
      the classfile bytes

  - ### buildModuleTo

    default void buildModuleTo(Path path, ModuleAttributePREVIEW moduleAttribute) throws IOException
    Build a module descriptor into a file.
    Parameters:
      `path` - the file to write
      `moduleAttribute` - the `Module` attribute
    Throws:
      `IOException` - if an I/O error occurs

  - ### buildModuleTo

    default void buildModuleTo(Path path, ModuleAttributePREVIEW moduleAttribute, Consumer<? super ClassBuilderPREVIEW> handler) throws IOException
    Build a module descriptor into a file.
    Parameters:
      `path` - the file to write
      `moduleAttribute` - the `Module` attribute
      `handler` - a handler that receives a `ClassBuilder`PREVIEW
    Throws:
      `IOException` - if an I/O error occurs

  - ### transform

    default byte[] transform(ClassModelPREVIEW model, ClassTransformPREVIEW transform)
    Transform one classfile into a new classfile with the aid of a `ClassTransform`PREVIEW. The transform will receive each element of this class, as well as a `ClassBuilder`PREVIEW for building the new class. The transform is free to preserve, remove, or replace elements as it sees fit.
    Implementation Note:
      This method behaves as if:

              this.build(model.thisClass(), ConstantPoolBuilder.of(model),
                              b -> b.transform(model, transform));

    Parameters:
      `model` - the class model to transform
      `transform` - the transform
    Returns:
      the bytes of the new class

  - ### transform

    default byte[] transform(ClassModelPREVIEW model, ClassDesc newClassName, ClassTransformPREVIEW transform)
    Transform one classfile into a new classfile with the aid of a `ClassTransform`PREVIEW. The transform will receive each element of this class, as well as a `ClassBuilder`PREVIEW for building the new class. The transform is free to preserve, remove, or replace elements as it sees fit.
    Parameters:
      `model` - the class model to transform
      `newClassName` - new class name
      `transform` - the transform
    Returns:
      the bytes of the new class

  - ### transform

    byte[] transform(ClassModelPREVIEW model, ClassEntryPREVIEW newClassName, ClassTransformPREVIEW transform)
    Transform one classfile into a new classfile with the aid of a `ClassTransform`PREVIEW. The transform will receive each element of this class, as well as a `ClassBuilder`PREVIEW for building the new class. The transform is free to preserve, remove, or replace elements as it sees fit.
    Implementation Note:
      This method behaves as if:

              this.build(newClassName, ConstantPoolBuilder.of(model),
                              b -> b.transform(model, transform));

    Parameters:
      `model` - the class model to transform
      `newClassName` - new class name
      `transform` - the transform
    Returns:
      the bytes of the new class

  - ### latestMajorVersion

    static int latestMajorVersion()
    Returns the latest major Java version.
    Returns:
      the latest major Java version

  - ### latestMinorVersion

    static int latestMinorVersion()
    Returns the latest minor Java version.
    Returns:
      the latest minor Java version