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 
    Preview.
    Option describing attribute mappers for custom attributes.
    static enum 
    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 
    Preview.
    Option describing the class hierarchy resolver to use when generating stack maps.
    static enum 
    Preview.
    Option describing whether to preserve the original constant pool when transforming a classfile.
    static enum 
    Preview.
    Option describing whether to patch out unreachable code.
    static enum 
    Preview.
    Option describing whether to filter unresolved labels.
    static enum 
    Preview.
    Option describing whether to process or discard debug elements.
    static enum 
    Preview.
    Option describing whether to process or discard line numbers.
    static interface 
    Preview.
    An option that affects the parsing and writing of classfiles.
    static enum 
    Preview.
    Option describing whether to automatically rewrite short jumps to long when necessary.
    static enum 
    Preview.
    Option describing whether to generate stackmaps.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    The integer value used to encode the AALOAD instruction.
    static final int
    The integer value used to encode the AASTORE instruction.
    static final int
    The value of ABSTRACT access and property modifier.
    static final int
    The value of ANNOTATION access and property modifier.
    static final int
    The value of BRIDGE access and property modifier.
    static final int
    The value of ENUM access and property modifier.
    static final int
    The value of FINAL access and property modifier.
    static final int
    The value of IDENTITY access and property modifier.
    static final int
    The value of INTERFACE access and property modifier.
    static final int
    The value of MANDATED access and property modifier.
    static final int
    The value of MODULE access and property modifier.
    static final int
    The value of NATIVE access and property modifier.
    static final int
    The value of OPEN access and property modifier.
    static final int
    The value of PRIVATE access and property modifier.
    static final int
    The value of PROTECTED access and property modifier.
    static final int
    The value of PUBLIC access and property modifier.
    static final int
    The value of STATIC access and property modifier.
    static final int
    The value of STATIC_PHASE access and property modifier.
    static final int
    The value of STRICT access and property modifier.
    static final int
    The value of SUPER access and property modifier.
    static final int
    The value of SYNCHRONIZED access and property modifier.
    static final int
    The value of SYNTHETIC access and property modifier.
    static final int
    The value of TRANSIENT access and property modifier.
    static final int
    The value of TRANSITIVE access and property modifier.
    static final int
    The value of VARARGS access and property modifier.
    static final int
    The value of VOLATILE access and property modifier.
    static final int
    The integer value used to encode the ACONST_NULL instruction.
    static final int
    The value of annotation element value type AEV_ANNOTATION.
    static final int
    The value of annotation element value type AEV_ARRAY.
    static final int
    The value of annotation element value type AEV_BOOLEAN.
    static final int
    The value of annotation element value type AEV_BYTE.
    static final int
    The value of annotation element value type AEV_CHAR.
    static final int
    The value of annotation element value type AEV_CLASS.
    static final int
    The value of annotation element value type AEV_DOUBLE.
    static final int
    The value of annotation element value type AEV_ENUM.
    static final int
    The value of annotation element value type AEV_FLOAT.
    static final int
    The value of annotation element value type AEV_INT.
    static final int
    The value of annotation element value type AEV_LONG.
    static final int
    The value of annotation element value type AEV_SHORT.
    static final int
    The value of annotation element value type AEV_STRING.
    static final int
    The integer value used to encode the ALOAD instruction.
    static final int
    The integer value used to encode the ALOAD_0 instruction.
    static final int
    The integer value used to encode the ALOAD_1 instruction.
    static final int
    The integer value used to encode the ALOAD_2 instruction.
    static final int
    The integer value used to encode the ALOAD_3 instruction.
    static final int
    The integer value used to encode the ANEWARRAY instruction.
    static final int
    The integer value used to encode the ARETURN instruction.
    static final int
    The integer value used to encode the ARRAYLENGTH instruction.
    static final int
    The integer value used to encode the ASTORE instruction.
    static final int
    The integer value used to encode the ASTORE_0 instruction.
    static final int
    The integer value used to encode the ASTORE_1 instruction.
    static final int
    The integer value used to encode the ASTORE_2 instruction.
    static final int
    The integer value used to encode the ASTORE_3 instruction.
    static final int
    The integer value used to encode the ATHROW instruction.
    static final int
    The integer value used to encode the BALOAD instruction.
    static final int
    The integer value used to encode the BASTORE instruction.
    static final int
    The integer value used to encode the BIPUSH instruction.
    static final int
    The integer value used to encode the CALOAD instruction.
    static final int
    The integer value used to encode the CASTORE instruction.
    static final int
    The integer value used to encode the CHECKCAST instruction.
    static final int
    The value of ASSIGNMENT CharacterRangeInfoPREVIEW kind.
    static final int
    The value of BLOCK CharacterRangeInfoPREVIEW kind.
    static final int
    The value of BRANCH_FALSE CharacterRangeInfoPREVIEW kind.
    static final int
    The value of BRANCH_TRUE CharacterRangeInfoPREVIEW kind.
    static final int
    The value of CREATE CharacterRangeInfoPREVIEW kind.
    static final int
    The value of FLOW_CONTROLLER CharacterRangeInfoPREVIEW kind.
    static final int
    The value of FLOW_TARGET CharacterRangeInfoPREVIEW kind.
    static final int
    The value of INVOKE CharacterRangeInfoPREVIEW kind.
    static final int
    The value of STATEMENT CharacterRangeInfoPREVIEW kind.
    static final int
    The integer value used to encode the D2F instruction.
    static final int
    The integer value used to encode the D2I instruction.
    static final int
    The integer value used to encode the D2L instruction.
    static final int
    The integer value used to encode the DADD instruction.
    static final int
    The integer value used to encode the DALOAD instruction.
    static final int
    The integer value used to encode the DASTORE instruction.
    static final int
    The integer value used to encode the DCMPG instruction.
    static final int
    The integer value used to encode the DCMPL instruction.
    static final int
    The integer value used to encode the DCONST_0 instruction.
    static final int
    The integer value used to encode the DCONST_1 instruction.
    static final int
    The integer value used to encode the DDIV instruction.
    static final int
    The value of default class access flags
    static final int
    The integer value used to encode the DLOAD instruction.
    static final int
    The integer value used to encode the DLOAD_0 instruction.
    static final int
    The integer value used to encode the DLOAD_1 instruction.
    static final int
    The integer value used to encode the DLOAD_2 instruction.
    static final int
    The integer value used to encode the DLOAD_3 instruction.
    static final int
    The integer value used to encode the DMUL instruction.
    static final int
    The integer value used to encode the DNEG instruction.
    static final int
    The integer value used to encode the DREM instruction.
    static final int
    The integer value used to encode the DRETURN instruction.
    static final int
    The integer value used to encode the DSTORE instruction.
    static final int
    The integer value used to encode the DSTORE_0 instruction.
    static final int
    The integer value used to encode the DSTORE_1 instruction.
    static final int
    The integer value used to encode the DSTORE_2 instruction.
    static final int
    The integer value used to encode the DSTORE_3 instruction.
    static final int
    The integer value used to encode the DSUB instruction.
    static final int
    The integer value used to encode the DUP instruction.
    static final int
    The integer value used to encode the DUP_X1 instruction.
    static final int
    The integer value used to encode the DUP_X2 instruction.
    static final int
    The integer value used to encode the DUP2 instruction.
    static final int
    The integer value used to encode the DUP2_X1 instruction.
    static final int
    The integer value used to encode the DUP2_X2 instruction.
    static final int
    The integer value used to encode the F2D instruction.
    static final int
    The integer value used to encode the F2I instruction.
    static final int
    The integer value used to encode the F2L instruction.
    static final int
    The integer value used to encode the FADD instruction.
    static final int
    The integer value used to encode the FALOAD instruction.
    static final int
    The integer value used to encode the FASTORE instruction.
    static final int
    The integer value used to encode the FCMPG instruction.
    static final int
    The integer value used to encode the FCMPL instruction.
    static final int
    The integer value used to encode the FCONST_0 instruction.
    static final int
    The integer value used to encode the FCONST_1 instruction.
    static final int
    The integer value used to encode the FCONST_2 instruction.
    static final int
    The integer value used to encode the FDIV instruction.
    static final int
    The integer value used to encode the FLOAD instruction.
    static final int
    The integer value used to encode the FLOAD_0 instruction.
    static final int
    The integer value used to encode the FLOAD_1 instruction.
    static final int
    The integer value used to encode the FLOAD_2 instruction.
    static final int
    The integer value used to encode the FLOAD_3 instruction.
    static final int
    The integer value used to encode the FMUL instruction.
    static final int
    The integer value used to encode the FNEG instruction.
    static final int
    The integer value used to encode the FREM instruction.
    static final int
    The integer value used to encode the FRETURN instruction.
    static final int
    The integer value used to encode the FSTORE instruction.
    static final int
    The integer value used to encode the FSTORE_0 instruction.
    static final int
    The integer value used to encode the FSTORE_1 instruction.
    static final int
    The integer value used to encode the FSTORE_2 instruction.
    static final int
    The integer value used to encode the FSTORE_3 instruction.
    static final int
    The integer value used to encode the FSUB instruction.
    static final int
    The integer value used to encode the GETFIELD instruction.
    static final int
    The integer value used to encode the GETSTATIC instruction.
    static final int
    The integer value used to encode the GOTO instruction.
    static final int
    The integer value used to encode the GOTO_W instruction.
    static final int
    The integer value used to encode the I2B instruction.
    static final int
    The integer value used to encode the I2C instruction.
    static final int
    The integer value used to encode the I2D instruction.
    static final int
    The integer value used to encode the I2F instruction.
    static final int
    The integer value used to encode the I2L instruction.
    static final int
    The integer value used to encode the I2S instruction.
    static final int
    The integer value used to encode the IADD instruction.
    static final int
    The integer value used to encode the IALOAD instruction.
    static final int
    The integer value used to encode the IAND instruction.
    static final int
    The integer value used to encode the IASTORE instruction.
    static final int
    The integer value used to encode the ICONST_0 instruction.
    static final int
    The integer value used to encode the ICONST_1 instruction.
    static final int
    The integer value used to encode the ICONST_2 instruction.
    static final int
    The integer value used to encode the ICONST_3 instruction.
    static final int
    The integer value used to encode the ICONST_4 instruction.
    static final int
    The integer value used to encode the ICONST_5 instruction.
    static final int
    The integer value used to encode the ICONST_M1 instruction.
    static final int
    The integer value used to encode the IDIV instruction.
    static final int
    The integer value used to encode the IF_ACMPEQ instruction.
    static final int
    The integer value used to encode the IF_ACMPNE instruction.
    static final int
    The integer value used to encode the IF_ICMPEQ instruction.
    static final int
    The integer value used to encode the IF_ICMPGE instruction.
    static final int
    The integer value used to encode the IF_ICMPGT instruction.
    static final int
    The integer value used to encode the IF_ICMPLE instruction.
    static final int
    The integer value used to encode the IF_ICMPLT instruction.
    static final int
    The integer value used to encode the IF_ICMPNE instruction.
    static final int
    The integer value used to encode the IFEQ instruction.
    static final int
    The integer value used to encode the IFGE instruction.
    static final int
    The integer value used to encode the IFGT instruction.
    static final int
    The integer value used to encode the IFLE instruction.
    static final int
    The integer value used to encode the IFLT instruction.
    static final int
    The integer value used to encode the IFNE instruction.
    static final int
    The integer value used to encode the IFNONNULL instruction.
    static final int
    The integer value used to encode the IFNULL instruction.
    static final int
    The integer value used to encode the IINC instruction.
    static final int
    The integer value used to encode the ILOAD instruction.
    static final int
    The integer value used to encode the ILOAD_0 instruction.
    static final int
    The integer value used to encode the ILOAD_1 instruction.
    static final int
    The integer value used to encode the ILOAD_2 instruction.
    static final int
    The integer value used to encode the ILOAD_3 instruction.
    static final int
    The integer value used to encode the IMUL instruction.
    static final int
    The integer value used to encode the INEG instruction.
    static final int
    The integer value used to encode the INSTANCEOF instruction.
    static final int
    The integer value used to encode the INVOKEDYNAMIC instruction.
    static final int
    The integer value used to encode the INVOKEINTERFACE instruction.
    static final int
    The integer value used to encode the INVOKESPECIAL instruction.
    static final int
    The integer value used to encode the INVOKESTATIC instruction.
    static final int
    The integer value used to encode the INVOKEVIRTUAL instruction.
    static final int
    The integer value used to encode the IOR instruction.
    static final int
    The integer value used to encode the IREM instruction.
    static final int
    The integer value used to encode the IRETURN instruction.
    static final int
    The integer value used to encode the ISHL instruction.
    static final int
    The integer value used to encode the ISHR instruction.
    static final int
    The integer value used to encode the ISTORE instruction.
    static final int
    The integer value used to encode the ISTORE_0 instruction.
    static final int
    The integer value used to encode the ISTORE_1 instruction.
    static final int
    The integer value used to encode the ISTORE_2 instruction.
    static final int
    The integer value used to encode the ISTORE_3 instruction.
    static final int
    The integer value used to encode the ISUB instruction.
    static final int
    The integer value used to encode the IUSHR instruction.
    static final int
    The integer value used to encode the IXOR instruction.
    static final int
    The class major version of JAVA_1.
    static final int
    The class major version of JAVA_10.
    static final int
    The class major version of JAVA_11.
    static final int
    The class major version of JAVA_12.
    static final int
    The class major version of JAVA_13.
    static final int
    The class major version of JAVA_14.
    static final int
    The class major version of JAVA_15.
    static final int
    The class major version of JAVA_16.
    static final int
    The class major version of JAVA_17.
    static final int
    The class major version of JAVA_18.
    static final int
    The class major version of JAVA_19.
    static final int
    The class major version of JAVA_2.
    static final int
    The class major version of JAVA_20.
    static final int
    The class major version of JAVA_21.
    static final int
    The class major version of JAVA_22.
    static final int
    67
    static final int
    The class major version of JAVA_3.
    static final int
    The class major version of JAVA_4.
    static final int
    The class major version of JAVA_5.
    static final int
    The class major version of JAVA_6.
    static final int
    The class major version of JAVA_7.
    static final int
    The class major version of JAVA_8.
    static final int
    The class major version of JAVA_9.
    static final int
    The integer value used to encode the JSR instruction.
    static final int
    The integer value used to encode the JSR_W instruction.
    static final int
    The integer value used to encode the L2D instruction.
    static final int
    The integer value used to encode the L2F instruction.
    static final int
    The integer value used to encode the L2I instruction.
    static final int
    The integer value used to encode the LADD instruction.
    static final int
    The integer value used to encode the LALOAD instruction.
    static final int
    The integer value used to encode the LAND instruction.
    static final int
    The integer value used to encode the LASTORE instruction.
    static final int
    The integer value used to encode the LCMP instruction.
    static final int
    The integer value used to encode the LCONST_0 instruction.
    static final int
    The integer value used to encode the LCONST_1 instruction.
    static final int
    The integer value used to encode the LDC instruction.
    static final int
    The integer value used to encode the LDC_W instruction.
    static final int
    The integer value used to encode the LDC2_W instruction.
    static final int
    The integer value used to encode the LDIV instruction.
    static final int
    The integer value used to encode the LLOAD instruction.
    static final int
    The integer value used to encode the LLOAD_0 instruction.
    static final int
    The integer value used to encode the LLOAD_1 instruction.
    static final int
    The integer value used to encode the LLOAD_2 instruction.
    static final int
    The integer value used to encode the LLOAD_3 instruction.
    static final int
    The integer value used to encode the LMUL instruction.
    static final int
    The integer value used to encode the LNEG instruction.
    static final int
    The integer value used to encode the LOOKUPSWITCH instruction.
    static final int
    The integer value used to encode the LOR instruction.
    static final int
    The integer value used to encode the LREM instruction.
    static final int
    The integer value used to encode the LRETURN instruction.
    static final int
    The integer value used to encode the LSHL instruction.
    static final int
    The integer value used to encode the LSHR instruction.
    static final int
    The integer value used to encode the LSTORE instruction.
    static final int
    The integer value used to encode the LSTORE_0 instruction.
    static final int
    The integer value used to encode the LSTORE_1 instruction.
    static final int
    The integer value used to encode the LSTORE_2 instruction.
    static final int
    The integer value used to encode the LSTORE_3 instruction.
    static final int
    The integer value used to encode the LSUB instruction.
    static final int
    The integer value used to encode the LUSHR instruction.
    static final int
    The integer value used to encode the LXOR instruction.
    static final int
    0xCAFEBABE
    static final int
    The integer value used to encode the MONITORENTER instruction.
    static final int
    The integer value used to encode the MONITOREXIT instruction.
    static final int
    The integer value used to encode the MULTIANEWARRAY instruction.
    static final int
    The integer value used to encode the NEW instruction.
    static final int
    The integer value used to encode the NEWARRAY instruction.
    static final int
    The integer value used to encode the NOP instruction.
    static final int
    The integer value used to encode the POP instruction.
    static final int
    The integer value used to encode the POP2 instruction.
    static final int
    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
    The integer value used to encode the PUTFIELD instruction.
    static final int
    The integer value used to encode the PUTSTATIC instruction.
    static final int
    The integer value used to encode the RET instruction.
    static final int
    The integer value used to encode the RETURN instruction.
    static final int
    The integer value used to encode the SALOAD instruction.
    static final int
    The integer value used to encode the SASTORE instruction.
    static final int
    The integer value used to encode the SIPUSH instruction.
    static final int
    The integer value used to encode the SWAP instruction.
    static final int
    The integer value used to encode the TABLESWITCH instruction.
    static final int
    The value of constant pool tag CLASS.
    static final int
    The value of constant pool tag CONSTANTDYNAMIC.
    static final int
    The value of constant pool tag DOUBLE.
    static final int
    The value of constant pool tag FIELDREF.
    static final int
    The value of constant pool tag FLOAT.
    static final int
    The value of constant pool tag INTEGER.
    static final int
    The value of constant pool tag INTERFACEMETHODREF.
    static final int
    The value of constant pool tag INVOKEDYNAMIC.
    static final int
    The value of constant pool tag LONG.
    static final int
    The value of constant pool tag METHODHANDLE.
    static final int
    The value of constant pool tag METHODREF.
    static final int
    The value of constant pool tag METHODTYPE.
    static final int
    The value of constant pool tag MODULE.
    static final int
    The value of constant pool tag NAMEANDTYPE.
    static final int
    The value of constant pool tag PACKAGE.
    static final int
    The value of constant pool tag STRING.
    static final int
    The value of constant pool tag UNICODE.
    static final int
    The value of constant pool tag UTF8.
    static final int
    The value of type annotation target type CAST.
    static final int
    The value of type annotation target type CLASS_EXTENDS.
    static final int
    The value of type annotation target type CLASS_TYPE_PARAMETER.
    static final int
    The value of type annotation target type CLASS_TYPE_PARAMETER_BOUND.
    static final int
    The value of type annotation target type CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT.
    static final int
    The value of type annotation target type CONSTRUCTOR_REFERENCE.
    static final int
    The value of type annotation target type CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT.
    static final int
    The value of type annotation target type EXCEPTION_PARAMETER.
    static final int
    The value of type annotation target type FIELD.
    static final int
    The value of type annotation target type INSTANCEOF.
    static final int
    The value of type annotation target type LOCAL_VARIABLE.
    static final int
    The value of type annotation target type METHOD_FORMAL_PARAMETER.
    static final int
    The value of type annotation target type METHOD_INVOCATION_TYPE_ARGUMENT.
    static final int
    The value of type annotation target type METHOD_RECEIVER.
    static final int
    The value of type annotation target type METHOD_REFERENCE.
    static final int
    The value of type annotation target type METHOD_REFERENCE_TYPE_ARGUMENT.
    static final int
    The value of type annotation target type METHOD_RETURN.
    static final int
    The value of type annotation target type METHOD_TYPE_PARAMETER.
    static final int
    The value of type annotation target type METHOD_TYPE_PARAMETER_BOUND.
    static final int
    The value of type annotation target type NEW.
    static final int
    The value of type annotation target type RESOURCE_VARIABLE.
    static final int
    The value of type annotation target type THROWS.
    static final int
    The value of verification type DOUBLE.
    static final int
    The value of verification type FLOAT.
    static final int
    The value of verification type INTEGER.
    static final int
    The value of verification type LONG.
    static final int
    The value of verification type NULL.
    static final int
    The value of verification type OBJECT.
    static final int
    The value of verification type TOP.
    static final int
    The value of verification type UNINITIALIZED.
    static final int
    The value of verification type UNINITIALIZED_THIS.
    static final int
    The integer value used to encode the WIDE instruction.
  • 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[]
    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
    Returns the latest major Java version.
    static int
    Returns the latest minor Java version.
    of()
    Returns a context with default options.
    Returns a new context with options altered from the default.
    parse(byte[] bytes)
    Parse a classfile into a ClassModelPREVIEW.
    parse(Path path)
    Parse a classfile into a ClassModelPREVIEW.
    default byte[]
    Transform one classfile into a new classfile with the aid of a ClassTransformPREVIEW.
    byte[]
    Transform one classfile into a new classfile with the aid of a ClassTransformPREVIEW.
    default byte[]
    transform(ClassModelPREVIEW model, ClassDesc newClassName, ClassTransformPREVIEW transform)
    Transform one classfile into a new classfile with the aid of a ClassTransformPREVIEW.
    verify(byte[] bytes)
    Verify a classfile.
    Verify a classfile.
    default List<VerifyError>
    verify(Path path)
    Verify a classfile.
    Returns a copy of the context with altered options.
  • Field Details

    • MAGIC_NUMBER

      static final int MAGIC_NUMBER
      0xCAFEBABE
      See Also:
    • NOP

      static final int NOP
      The integer value used to encode the NOP instruction.
      See Also:
    • ACONST_NULL

      static final int ACONST_NULL
      The integer value used to encode the ACONST_NULL instruction.
      See Also:
    • ICONST_M1

      static final int ICONST_M1
      The integer value used to encode the ICONST_M1 instruction.
      See Also:
    • ICONST_0

      static final int ICONST_0
      The integer value used to encode the ICONST_0 instruction.
      See Also:
    • ICONST_1

      static final int ICONST_1
      The integer value used to encode the ICONST_1 instruction.
      See Also:
    • ICONST_2

      static final int ICONST_2
      The integer value used to encode the ICONST_2 instruction.
      See Also:
    • ICONST_3

      static final int ICONST_3
      The integer value used to encode the ICONST_3 instruction.
      See Also:
    • ICONST_4

      static final int ICONST_4
      The integer value used to encode the ICONST_4 instruction.
      See Also:
    • ICONST_5

      static final int ICONST_5
      The integer value used to encode the ICONST_5 instruction.
      See Also:
    • LCONST_0

      static final int LCONST_0
      The integer value used to encode the LCONST_0 instruction.
      See Also:
    • LCONST_1

      static final int LCONST_1
      The integer value used to encode the LCONST_1 instruction.
      See Also:
    • FCONST_0

      static final int FCONST_0
      The integer value used to encode the FCONST_0 instruction.
      See Also:
    • FCONST_1

      static final int FCONST_1
      The integer value used to encode the FCONST_1 instruction.
      See Also:
    • FCONST_2

      static final int FCONST_2
      The integer value used to encode the FCONST_2 instruction.
      See Also:
    • DCONST_0

      static final int DCONST_0
      The integer value used to encode the DCONST_0 instruction.
      See Also:
    • DCONST_1

      static final int DCONST_1
      The integer value used to encode the DCONST_1 instruction.
      See Also:
    • BIPUSH

      static final int BIPUSH
      The integer value used to encode the BIPUSH instruction.
      See Also:
    • SIPUSH

      static final int SIPUSH
      The integer value used to encode the SIPUSH instruction.
      See Also:
    • LDC

      static final int LDC
      The integer value used to encode the LDC instruction.
      See Also:
    • LDC_W

      static final int LDC_W
      The integer value used to encode the LDC_W instruction.
      See Also:
    • LDC2_W

      static final int LDC2_W
      The integer value used to encode the LDC2_W instruction.
      See Also:
    • ILOAD

      static final int ILOAD
      The integer value used to encode the ILOAD instruction.
      See Also:
    • LLOAD

      static final int LLOAD
      The integer value used to encode the LLOAD instruction.
      See Also:
    • FLOAD

      static final int FLOAD
      The integer value used to encode the FLOAD instruction.
      See Also:
    • DLOAD

      static final int DLOAD
      The integer value used to encode the DLOAD instruction.
      See Also:
    • ALOAD

      static final int ALOAD
      The integer value used to encode the ALOAD instruction.
      See Also:
    • ILOAD_0

      static final int ILOAD_0
      The integer value used to encode the ILOAD_0 instruction.
      See Also:
    • ILOAD_1

      static final int ILOAD_1
      The integer value used to encode the ILOAD_1 instruction.
      See Also:
    • ILOAD_2

      static final int ILOAD_2
      The integer value used to encode the ILOAD_2 instruction.
      See Also:
    • ILOAD_3

      static final int ILOAD_3
      The integer value used to encode the ILOAD_3 instruction.
      See Also:
    • LLOAD_0

      static final int LLOAD_0
      The integer value used to encode the LLOAD_0 instruction.
      See Also:
    • LLOAD_1

      static final int LLOAD_1
      The integer value used to encode the LLOAD_1 instruction.
      See Also:
    • LLOAD_2

      static final int LLOAD_2
      The integer value used to encode the LLOAD_2 instruction.
      See Also:
    • LLOAD_3

      static final int LLOAD_3
      The integer value used to encode the LLOAD_3 instruction.
      See Also:
    • FLOAD_0

      static final int FLOAD_0
      The integer value used to encode the FLOAD_0 instruction.
      See Also:
    • FLOAD_1

      static final int FLOAD_1
      The integer value used to encode the FLOAD_1 instruction.
      See Also:
    • FLOAD_2

      static final int FLOAD_2
      The integer value used to encode the FLOAD_2 instruction.
      See Also:
    • FLOAD_3

      static final int FLOAD_3
      The integer value used to encode the FLOAD_3 instruction.
      See Also:
    • DLOAD_0

      static final int DLOAD_0
      The integer value used to encode the DLOAD_0 instruction.
      See Also:
    • DLOAD_1

      static final int DLOAD_1
      The integer value used to encode the DLOAD_1 instruction.
      See Also:
    • DLOAD_2

      static final int DLOAD_2
      The integer value used to encode the DLOAD_2 instruction.
      See Also:
    • DLOAD_3

      static final int DLOAD_3
      The integer value used to encode the DLOAD_3 instruction.
      See Also:
    • ALOAD_0

      static final int ALOAD_0
      The integer value used to encode the ALOAD_0 instruction.
      See Also:
    • ALOAD_1

      static final int ALOAD_1
      The integer value used to encode the ALOAD_1 instruction.
      See Also:
    • ALOAD_2

      static final int ALOAD_2
      The integer value used to encode the ALOAD_2 instruction.
      See Also:
    • ALOAD_3

      static final int ALOAD_3
      The integer value used to encode the ALOAD_3 instruction.
      See Also:
    • IALOAD

      static final int IALOAD
      The integer value used to encode the IALOAD instruction.
      See Also:
    • LALOAD

      static final int LALOAD
      The integer value used to encode the LALOAD instruction.
      See Also:
    • FALOAD

      static final int FALOAD
      The integer value used to encode the FALOAD instruction.
      See Also:
    • DALOAD

      static final int DALOAD
      The integer value used to encode the DALOAD instruction.
      See Also:
    • AALOAD

      static final int AALOAD
      The integer value used to encode the AALOAD instruction.
      See Also:
    • BALOAD

      static final int BALOAD
      The integer value used to encode the BALOAD instruction.
      See Also:
    • CALOAD

      static final int CALOAD
      The integer value used to encode the CALOAD instruction.
      See Also:
    • SALOAD

      static final int SALOAD
      The integer value used to encode the SALOAD instruction.
      See Also:
    • ISTORE

      static final int ISTORE
      The integer value used to encode the ISTORE instruction.
      See Also:
    • LSTORE

      static final int LSTORE
      The integer value used to encode the LSTORE instruction.
      See Also:
    • FSTORE

      static final int FSTORE
      The integer value used to encode the FSTORE instruction.
      See Also:
    • DSTORE

      static final int DSTORE
      The integer value used to encode the DSTORE instruction.
      See Also:
    • ASTORE

      static final int ASTORE
      The integer value used to encode the ASTORE instruction.
      See Also:
    • ISTORE_0

      static final int ISTORE_0
      The integer value used to encode the ISTORE_0 instruction.
      See Also:
    • ISTORE_1

      static final int ISTORE_1
      The integer value used to encode the ISTORE_1 instruction.
      See Also:
    • ISTORE_2

      static final int ISTORE_2
      The integer value used to encode the ISTORE_2 instruction.
      See Also:
    • ISTORE_3

      static final int ISTORE_3
      The integer value used to encode the ISTORE_3 instruction.
      See Also:
    • LSTORE_0

      static final int LSTORE_0
      The integer value used to encode the LSTORE_0 instruction.
      See Also:
    • LSTORE_1

      static final int LSTORE_1
      The integer value used to encode the LSTORE_1 instruction.
      See Also:
    • LSTORE_2

      static final int LSTORE_2
      The integer value used to encode the LSTORE_2 instruction.
      See Also:
    • LSTORE_3

      static final int LSTORE_3
      The integer value used to encode the LSTORE_3 instruction.
      See Also:
    • FSTORE_0

      static final int FSTORE_0
      The integer value used to encode the FSTORE_0 instruction.
      See Also:
    • FSTORE_1

      static final int FSTORE_1
      The integer value used to encode the FSTORE_1 instruction.
      See Also:
    • FSTORE_2

      static final int FSTORE_2
      The integer value used to encode the FSTORE_2 instruction.
      See Also:
    • FSTORE_3

      static final int FSTORE_3
      The integer value used to encode the FSTORE_3 instruction.
      See Also:
    • DSTORE_0

      static final int DSTORE_0
      The integer value used to encode the DSTORE_0 instruction.
      See Also:
    • DSTORE_1

      static final int DSTORE_1
      The integer value used to encode the DSTORE_1 instruction.
      See Also:
    • DSTORE_2

      static final int DSTORE_2
      The integer value used to encode the DSTORE_2 instruction.
      See Also:
    • DSTORE_3

      static final int DSTORE_3
      The integer value used to encode the DSTORE_3 instruction.
      See Also:
    • ASTORE_0

      static final int ASTORE_0
      The integer value used to encode the ASTORE_0 instruction.
      See Also:
    • ASTORE_1

      static final int ASTORE_1
      The integer value used to encode the ASTORE_1 instruction.
      See Also:
    • ASTORE_2

      static final int ASTORE_2
      The integer value used to encode the ASTORE_2 instruction.
      See Also:
    • ASTORE_3

      static final int ASTORE_3
      The integer value used to encode the ASTORE_3 instruction.
      See Also:
    • IASTORE

      static final int IASTORE
      The integer value used to encode the IASTORE instruction.
      See Also:
    • LASTORE

      static final int LASTORE
      The integer value used to encode the LASTORE instruction.
      See Also:
    • FASTORE

      static final int FASTORE
      The integer value used to encode the FASTORE instruction.
      See Also:
    • DASTORE

      static final int DASTORE
      The integer value used to encode the DASTORE instruction.
      See Also:
    • AASTORE

      static final int AASTORE
      The integer value used to encode the AASTORE instruction.
      See Also:
    • BASTORE

      static final int BASTORE
      The integer value used to encode the BASTORE instruction.
      See Also:
    • CASTORE

      static final int CASTORE
      The integer value used to encode the CASTORE instruction.
      See Also:
    • SASTORE

      static final int SASTORE
      The integer value used to encode the SASTORE instruction.
      See Also:
    • POP

      static final int POP
      The integer value used to encode the POP instruction.
      See Also:
    • POP2

      static final int POP2
      The integer value used to encode the POP2 instruction.
      See Also:
    • DUP

      static final int DUP
      The integer value used to encode the DUP instruction.
      See Also:
    • DUP_X1

      static final int DUP_X1
      The integer value used to encode the DUP_X1 instruction.
      See Also:
    • DUP_X2

      static final int DUP_X2
      The integer value used to encode the DUP_X2 instruction.
      See Also:
    • DUP2

      static final int DUP2
      The integer value used to encode the DUP2 instruction.
      See Also:
    • DUP2_X1

      static final int DUP2_X1
      The integer value used to encode the DUP2_X1 instruction.
      See Also:
    • DUP2_X2

      static final int DUP2_X2
      The integer value used to encode the DUP2_X2 instruction.
      See Also:
    • SWAP

      static final int SWAP
      The integer value used to encode the SWAP instruction.
      See Also:
    • IADD

      static final int IADD
      The integer value used to encode the IADD instruction.
      See Also:
    • LADD

      static final int LADD
      The integer value used to encode the LADD instruction.
      See Also:
    • FADD

      static final int FADD
      The integer value used to encode the FADD instruction.
      See Also:
    • DADD

      static final int DADD
      The integer value used to encode the DADD instruction.
      See Also:
    • ISUB

      static final int ISUB
      The integer value used to encode the ISUB instruction.
      See Also:
    • LSUB

      static final int LSUB
      The integer value used to encode the LSUB instruction.
      See Also:
    • FSUB

      static final int FSUB
      The integer value used to encode the FSUB instruction.
      See Also:
    • DSUB

      static final int DSUB
      The integer value used to encode the DSUB instruction.
      See Also:
    • IMUL

      static final int IMUL
      The integer value used to encode the IMUL instruction.
      See Also:
    • LMUL

      static final int LMUL
      The integer value used to encode the LMUL instruction.
      See Also:
    • FMUL

      static final int FMUL
      The integer value used to encode the FMUL instruction.
      See Also:
    • DMUL

      static final int DMUL
      The integer value used to encode the DMUL instruction.
      See Also:
    • IDIV

      static final int IDIV
      The integer value used to encode the IDIV instruction.
      See Also:
    • LDIV

      static final int LDIV
      The integer value used to encode the LDIV instruction.
      See Also:
    • FDIV

      static final int FDIV
      The integer value used to encode the FDIV instruction.
      See Also:
    • DDIV

      static final int DDIV
      The integer value used to encode the DDIV instruction.
      See Also:
    • IREM

      static final int IREM
      The integer value used to encode the IREM instruction.
      See Also:
    • LREM

      static final int LREM
      The integer value used to encode the LREM instruction.
      See Also:
    • FREM

      static final int FREM
      The integer value used to encode the FREM instruction.
      See Also:
    • DREM

      static final int DREM
      The integer value used to encode the DREM instruction.
      See Also:
    • INEG

      static final int INEG
      The integer value used to encode the INEG instruction.
      See Also:
    • LNEG

      static final int LNEG
      The integer value used to encode the LNEG instruction.
      See Also:
    • FNEG

      static final int FNEG
      The integer value used to encode the FNEG instruction.
      See Also:
    • DNEG

      static final int DNEG
      The integer value used to encode the DNEG instruction.
      See Also:
    • ISHL

      static final int ISHL
      The integer value used to encode the ISHL instruction.
      See Also:
    • LSHL

      static final int LSHL
      The integer value used to encode the LSHL instruction.
      See Also:
    • ISHR

      static final int ISHR
      The integer value used to encode the ISHR instruction.
      See Also:
    • LSHR

      static final int LSHR
      The integer value used to encode the LSHR instruction.
      See Also:
    • IUSHR

      static final int IUSHR
      The integer value used to encode the IUSHR instruction.
      See Also:
    • LUSHR

      static final int LUSHR
      The integer value used to encode the LUSHR instruction.
      See Also:
    • IAND

      static final int IAND
      The integer value used to encode the IAND instruction.
      See Also:
    • LAND

      static final int LAND
      The integer value used to encode the LAND instruction.
      See Also:
    • IOR

      static final int IOR
      The integer value used to encode the IOR instruction.
      See Also:
    • LOR

      static final int LOR
      The integer value used to encode the LOR instruction.
      See Also:
    • IXOR

      static final int IXOR
      The integer value used to encode the IXOR instruction.
      See Also:
    • LXOR

      static final int LXOR
      The integer value used to encode the LXOR instruction.
      See Also:
    • IINC

      static final int IINC
      The integer value used to encode the IINC instruction.
      See Also:
    • I2L

      static final int I2L
      The integer value used to encode the I2L instruction.
      See Also:
    • I2F

      static final int I2F
      The integer value used to encode the I2F instruction.
      See Also:
    • I2D

      static final int I2D
      The integer value used to encode the I2D instruction.
      See Also:
    • L2I

      static final int L2I
      The integer value used to encode the L2I instruction.
      See Also:
    • L2F

      static final int L2F
      The integer value used to encode the L2F instruction.
      See Also:
    • L2D

      static final int L2D
      The integer value used to encode the L2D instruction.
      See Also:
    • F2I

      static final int F2I
      The integer value used to encode the F2I instruction.
      See Also:
    • F2L

      static final int F2L
      The integer value used to encode the F2L instruction.
      See Also:
    • F2D

      static final int F2D
      The integer value used to encode the F2D instruction.
      See Also:
    • D2I

      static final int D2I
      The integer value used to encode the D2I instruction.
      See Also:
    • D2L

      static final int D2L
      The integer value used to encode the D2L instruction.
      See Also:
    • D2F

      static final int D2F
      The integer value used to encode the D2F instruction.
      See Also:
    • I2B

      static final int I2B
      The integer value used to encode the I2B instruction.
      See Also:
    • I2C

      static final int I2C
      The integer value used to encode the I2C instruction.
      See Also:
    • I2S

      static final int I2S
      The integer value used to encode the I2S instruction.
      See Also:
    • LCMP

      static final int LCMP
      The integer value used to encode the LCMP instruction.
      See Also:
    • FCMPL

      static final int FCMPL
      The integer value used to encode the FCMPL instruction.
      See Also:
    • FCMPG

      static final int FCMPG
      The integer value used to encode the FCMPG instruction.
      See Also:
    • DCMPL

      static final int DCMPL
      The integer value used to encode the DCMPL instruction.
      See Also:
    • DCMPG

      static final int DCMPG
      The integer value used to encode the DCMPG instruction.
      See Also:
    • IFEQ

      static final int IFEQ
      The integer value used to encode the IFEQ instruction.
      See Also:
    • IFNE

      static final int IFNE
      The integer value used to encode the IFNE instruction.
      See Also:
    • IFLT

      static final int IFLT
      The integer value used to encode the IFLT instruction.
      See Also:
    • IFGE

      static final int IFGE
      The integer value used to encode the IFGE instruction.
      See Also:
    • IFGT

      static final int IFGT
      The integer value used to encode the IFGT instruction.
      See Also:
    • IFLE

      static final int IFLE
      The integer value used to encode the IFLE instruction.
      See Also:
    • IF_ICMPEQ

      static final int IF_ICMPEQ
      The integer value used to encode the IF_ICMPEQ instruction.
      See Also:
    • IF_ICMPNE

      static final int IF_ICMPNE
      The integer value used to encode the IF_ICMPNE instruction.
      See Also:
    • IF_ICMPLT

      static final int IF_ICMPLT
      The integer value used to encode the IF_ICMPLT instruction.
      See Also:
    • IF_ICMPGE

      static final int IF_ICMPGE
      The integer value used to encode the IF_ICMPGE instruction.
      See Also:
    • IF_ICMPGT

      static final int IF_ICMPGT
      The integer value used to encode the IF_ICMPGT instruction.
      See Also:
    • IF_ICMPLE

      static final int IF_ICMPLE
      The integer value used to encode the IF_ICMPLE instruction.
      See Also:
    • IF_ACMPEQ

      static final int IF_ACMPEQ
      The integer value used to encode the IF_ACMPEQ instruction.
      See Also:
    • IF_ACMPNE

      static final int IF_ACMPNE
      The integer value used to encode the IF_ACMPNE instruction.
      See Also:
    • GOTO

      static final int GOTO
      The integer value used to encode the GOTO instruction.
      See Also:
    • JSR

      static final int JSR
      The integer value used to encode the JSR instruction.
      See Also:
    • RET

      static final int RET
      The integer value used to encode the RET instruction.
      See Also:
    • TABLESWITCH

      static final int TABLESWITCH
      The integer value used to encode the TABLESWITCH instruction.
      See Also:
    • LOOKUPSWITCH

      static final int LOOKUPSWITCH
      The integer value used to encode the LOOKUPSWITCH instruction.
      See Also:
    • IRETURN

      static final int IRETURN
      The integer value used to encode the IRETURN instruction.
      See Also:
    • LRETURN

      static final int LRETURN
      The integer value used to encode the LRETURN instruction.
      See Also:
    • FRETURN

      static final int FRETURN
      The integer value used to encode the FRETURN instruction.
      See Also:
    • DRETURN

      static final int DRETURN
      The integer value used to encode the DRETURN instruction.
      See Also:
    • ARETURN

      static final int ARETURN
      The integer value used to encode the ARETURN instruction.
      See Also:
    • RETURN

      static final int RETURN
      The integer value used to encode the RETURN instruction.
      See Also:
    • GETSTATIC

      static final int GETSTATIC
      The integer value used to encode the GETSTATIC instruction.
      See Also:
    • PUTSTATIC

      static final int PUTSTATIC
      The integer value used to encode the PUTSTATIC instruction.
      See Also:
    • GETFIELD

      static final int GETFIELD
      The integer value used to encode the GETFIELD instruction.
      See Also:
    • PUTFIELD

      static final int PUTFIELD
      The integer value used to encode the PUTFIELD instruction.
      See Also:
    • INVOKEVIRTUAL

      static final int INVOKEVIRTUAL
      The integer value used to encode the INVOKEVIRTUAL instruction.
      See Also:
    • INVOKESPECIAL

      static final int INVOKESPECIAL
      The integer value used to encode the INVOKESPECIAL instruction.
      See Also:
    • INVOKESTATIC

      static final int INVOKESTATIC
      The integer value used to encode the INVOKESTATIC instruction.
      See Also:
    • INVOKEINTERFACE

      static final int INVOKEINTERFACE
      The integer value used to encode the INVOKEINTERFACE instruction.
      See Also:
    • INVOKEDYNAMIC

      static final int INVOKEDYNAMIC
      The integer value used to encode the INVOKEDYNAMIC instruction.
      See Also:
    • NEW

      static final int NEW
      The integer value used to encode the NEW instruction.
      See Also:
    • NEWARRAY

      static final int NEWARRAY
      The integer value used to encode the NEWARRAY instruction.
      See Also:
    • ANEWARRAY

      static final int ANEWARRAY
      The integer value used to encode the ANEWARRAY instruction.
      See Also:
    • ARRAYLENGTH

      static final int ARRAYLENGTH
      The integer value used to encode the ARRAYLENGTH instruction.
      See Also:
    • ATHROW

      static final int ATHROW
      The integer value used to encode the ATHROW instruction.
      See Also:
    • CHECKCAST

      static final int CHECKCAST
      The integer value used to encode the CHECKCAST instruction.
      See Also:
    • INSTANCEOF

      static final int INSTANCEOF
      The integer value used to encode the INSTANCEOF instruction.
      See Also:
    • MONITORENTER

      static final int MONITORENTER
      The integer value used to encode the MONITORENTER instruction.
      See Also:
    • MONITOREXIT

      static final int MONITOREXIT
      The integer value used to encode the MONITOREXIT instruction.
      See Also:
    • WIDE

      static final int WIDE
      The integer value used to encode the WIDE instruction.
      See Also:
    • MULTIANEWARRAY

      static final int MULTIANEWARRAY
      The integer value used to encode the MULTIANEWARRAY instruction.
      See Also:
    • IFNULL

      static final int IFNULL
      The integer value used to encode the IFNULL instruction.
      See Also:
    • IFNONNULL

      static final int IFNONNULL
      The integer value used to encode the IFNONNULL instruction.
      See Also:
    • GOTO_W

      static final int GOTO_W
      The integer value used to encode the GOTO_W instruction.
      See Also:
    • JSR_W

      static final int JSR_W
      The integer value used to encode the JSR_W instruction.
      See Also:
    • ACC_PUBLIC

      static final int ACC_PUBLIC
      The value of PUBLIC access and property modifier.
      See Also:
    • ACC_PROTECTED

      static final int ACC_PROTECTED
      The value of PROTECTED access and property modifier.
      See Also:
    • ACC_PRIVATE

      static final int ACC_PRIVATE
      The value of PRIVATE access and property modifier.
      See Also:
    • ACC_INTERFACE

      static final int ACC_INTERFACE
      The value of INTERFACE access and property modifier.
      See Also:
    • ACC_ENUM

      static final int ACC_ENUM
      The value of ENUM access and property modifier.
      See Also:
    • ACC_ANNOTATION

      static final int ACC_ANNOTATION
      The value of ANNOTATION access and property modifier.
      See Also:
    • ACC_SUPER

      static final int ACC_SUPER
      The value of SUPER access and property modifier.
      See Also:
    • ACC_IDENTITY

      static final int ACC_IDENTITY
      The value of IDENTITY access and property modifier.
      See Also:
    • ACC_ABSTRACT

      static final int ACC_ABSTRACT
      The value of ABSTRACT access and property modifier.
      See Also:
    • ACC_VOLATILE

      static final int ACC_VOLATILE
      The value of VOLATILE access and property modifier.
      See Also:
    • ACC_TRANSIENT

      static final int ACC_TRANSIENT
      The value of TRANSIENT access and property modifier.
      See Also:
    • ACC_SYNTHETIC

      static final int ACC_SYNTHETIC
      The value of SYNTHETIC access and property modifier.
      See Also:
    • ACC_STATIC

      static final int ACC_STATIC
      The value of STATIC access and property modifier.
      See Also:
    • ACC_FINAL

      static final int ACC_FINAL
      The value of FINAL access and property modifier.
      See Also:
    • ACC_SYNCHRONIZED

      static final int ACC_SYNCHRONIZED
      The value of SYNCHRONIZED access and property modifier.
      See Also:
    • ACC_BRIDGE

      static final int ACC_BRIDGE
      The value of BRIDGE access and property modifier.
      See Also:
    • ACC_VARARGS

      static final int ACC_VARARGS
      The value of VARARGS access and property modifier.
      See Also:
    • ACC_NATIVE

      static final int ACC_NATIVE
      The value of NATIVE access and property modifier.
      See Also:
    • ACC_STRICT

      static final int ACC_STRICT
      The value of STRICT access and property modifier.
      See Also:
    • ACC_MODULE

      static final int ACC_MODULE
      The value of MODULE access and property modifier.
      See Also:
    • ACC_OPEN

      static final int ACC_OPEN
      The value of OPEN access and property modifier.
      See Also:
    • ACC_MANDATED

      static final int ACC_MANDATED
      The value of MANDATED access and property modifier.
      See Also:
    • ACC_TRANSITIVE

      static final int ACC_TRANSITIVE
      The value of TRANSITIVE access and property modifier.
      See Also:
    • ACC_STATIC_PHASE

      static final int ACC_STATIC_PHASE
      The value of STATIC_PHASE access and property modifier.
      See Also:
    • CRT_STATEMENT

      static final int CRT_STATEMENT
      The value of STATEMENT CharacterRangeInfoPREVIEW kind.
      See Also:
    • CRT_BLOCK

      static final int CRT_BLOCK
      The value of BLOCK CharacterRangeInfoPREVIEW kind.
      See Also:
    • CRT_ASSIGNMENT

      static final int CRT_ASSIGNMENT
      The value of ASSIGNMENT CharacterRangeInfoPREVIEW kind.
      See Also:
    • CRT_FLOW_CONTROLLER

      static final int CRT_FLOW_CONTROLLER
      The value of FLOW_CONTROLLER CharacterRangeInfoPREVIEW kind.
      See Also:
    • CRT_FLOW_TARGET

      static final int CRT_FLOW_TARGET
      The value of FLOW_TARGET CharacterRangeInfoPREVIEW kind.
      See Also:
    • CRT_INVOKE

      static final int CRT_INVOKE
      The value of INVOKE CharacterRangeInfoPREVIEW kind.
      See Also:
    • CRT_CREATE

      static final int CRT_CREATE
      The value of CREATE CharacterRangeInfoPREVIEW kind.
      See Also:
    • CRT_BRANCH_TRUE

      static final int CRT_BRANCH_TRUE
      The value of BRANCH_TRUE CharacterRangeInfoPREVIEW kind.
      See Also:
    • CRT_BRANCH_FALSE

      static final int CRT_BRANCH_FALSE
      The value of BRANCH_FALSE CharacterRangeInfoPREVIEW kind.
      See Also:
    • TAG_CLASS

      static final int TAG_CLASS
      The value of constant pool tag CLASS.
      See Also:
    • TAG_CONSTANTDYNAMIC

      static final int TAG_CONSTANTDYNAMIC
      The value of constant pool tag CONSTANTDYNAMIC.
      See Also:
    • TAG_DOUBLE

      static final int TAG_DOUBLE
      The value of constant pool tag DOUBLE.
      See Also:
    • TAG_FIELDREF

      static final int TAG_FIELDREF
      The value of constant pool tag FIELDREF.
      See Also:
    • TAG_FLOAT

      static final int TAG_FLOAT
      The value of constant pool tag FLOAT.
      See Also:
    • TAG_INTEGER

      static final int TAG_INTEGER
      The value of constant pool tag INTEGER.
      See Also:
    • TAG_INTERFACEMETHODREF

      static final int TAG_INTERFACEMETHODREF
      The value of constant pool tag INTERFACEMETHODREF.
      See Also:
    • TAG_INVOKEDYNAMIC

      static final int TAG_INVOKEDYNAMIC
      The value of constant pool tag INVOKEDYNAMIC.
      See Also:
    • TAG_LONG

      static final int TAG_LONG
      The value of constant pool tag LONG.
      See Also:
    • TAG_METHODHANDLE

      static final int TAG_METHODHANDLE
      The value of constant pool tag METHODHANDLE.
      See Also:
    • TAG_METHODREF

      static final int TAG_METHODREF
      The value of constant pool tag METHODREF.
      See Also:
    • TAG_METHODTYPE

      static final int TAG_METHODTYPE
      The value of constant pool tag METHODTYPE.
      See Also:
    • TAG_MODULE

      static final int TAG_MODULE
      The value of constant pool tag MODULE.
      See Also:
    • TAG_NAMEANDTYPE

      static final int TAG_NAMEANDTYPE
      The value of constant pool tag NAMEANDTYPE.
      See Also:
    • TAG_PACKAGE

      static final int TAG_PACKAGE
      The value of constant pool tag PACKAGE.
      See Also:
    • TAG_STRING

      static final int TAG_STRING
      The value of constant pool tag STRING.
      See Also:
    • TAG_UNICODE

      static final int TAG_UNICODE
      The value of constant pool tag UNICODE.
      See Also:
    • TAG_UTF8

      static final int TAG_UTF8
      The value of constant pool tag UTF8.
      See Also:
    • AEV_BYTE

      static final int AEV_BYTE
      The value of annotation element value type AEV_BYTE.
      See Also:
    • AEV_CHAR

      static final int AEV_CHAR
      The value of annotation element value type AEV_CHAR.
      See Also:
    • AEV_DOUBLE

      static final int AEV_DOUBLE
      The value of annotation element value type AEV_DOUBLE.
      See Also:
    • AEV_FLOAT

      static final int AEV_FLOAT
      The value of annotation element value type AEV_FLOAT.
      See Also:
    • AEV_INT

      static final int AEV_INT
      The value of annotation element value type AEV_INT.
      See Also:
    • AEV_LONG

      static final int AEV_LONG
      The value of annotation element value type AEV_LONG.
      See Also:
    • AEV_SHORT

      static final int AEV_SHORT
      The value of annotation element value type AEV_SHORT.
      See Also:
    • AEV_BOOLEAN

      static final int AEV_BOOLEAN
      The value of annotation element value type AEV_BOOLEAN.
      See Also:
    • AEV_STRING

      static final int AEV_STRING
      The value of annotation element value type AEV_STRING.
      See Also:
    • AEV_ENUM

      static final int AEV_ENUM
      The value of annotation element value type AEV_ENUM.
      See Also:
    • AEV_CLASS

      static final int AEV_CLASS
      The value of annotation element value type AEV_CLASS.
      See Also:
    • AEV_ANNOTATION

      static final int AEV_ANNOTATION
      The value of annotation element value type AEV_ANNOTATION.
      See Also:
    • AEV_ARRAY

      static final int AEV_ARRAY
      The value of annotation element value type AEV_ARRAY.
      See Also:
    • TAT_CLASS_TYPE_PARAMETER

      static final int TAT_CLASS_TYPE_PARAMETER
      The value of type annotation target type CLASS_TYPE_PARAMETER.
      See Also:
    • TAT_METHOD_TYPE_PARAMETER

      static final int TAT_METHOD_TYPE_PARAMETER
      The value of type annotation target type METHOD_TYPE_PARAMETER.
      See Also:
    • TAT_CLASS_EXTENDS

      static final int TAT_CLASS_EXTENDS
      The value of type annotation target type CLASS_EXTENDS.
      See Also:
    • TAT_CLASS_TYPE_PARAMETER_BOUND

      static final int TAT_CLASS_TYPE_PARAMETER_BOUND
      The value of type annotation target type CLASS_TYPE_PARAMETER_BOUND.
      See Also:
    • TAT_METHOD_TYPE_PARAMETER_BOUND

      static final int TAT_METHOD_TYPE_PARAMETER_BOUND
      The value of type annotation target type METHOD_TYPE_PARAMETER_BOUND.
      See Also:
    • TAT_FIELD

      static final int TAT_FIELD
      The value of type annotation target type FIELD.
      See Also:
    • TAT_METHOD_RETURN

      static final int TAT_METHOD_RETURN
      The value of type annotation target type METHOD_RETURN.
      See Also:
    • TAT_METHOD_RECEIVER

      static final int TAT_METHOD_RECEIVER
      The value of type annotation target type METHOD_RECEIVER.
      See Also:
    • TAT_METHOD_FORMAL_PARAMETER

      static final int TAT_METHOD_FORMAL_PARAMETER
      The value of type annotation target type METHOD_FORMAL_PARAMETER.
      See Also:
    • TAT_THROWS

      static final int TAT_THROWS
      The value of type annotation target type THROWS.
      See Also:
    • TAT_LOCAL_VARIABLE

      static final int TAT_LOCAL_VARIABLE
      The value of type annotation target type LOCAL_VARIABLE.
      See Also:
    • TAT_RESOURCE_VARIABLE

      static final int TAT_RESOURCE_VARIABLE
      The value of type annotation target type RESOURCE_VARIABLE.
      See Also:
    • TAT_EXCEPTION_PARAMETER

      static final int TAT_EXCEPTION_PARAMETER
      The value of type annotation target type EXCEPTION_PARAMETER.
      See Also:
    • TAT_INSTANCEOF

      static final int TAT_INSTANCEOF
      The value of type annotation target type INSTANCEOF.
      See Also:
    • TAT_NEW

      static final int TAT_NEW
      The value of type annotation target type NEW.
      See Also:
    • TAT_CONSTRUCTOR_REFERENCE

      static final int TAT_CONSTRUCTOR_REFERENCE
      The value of type annotation target type CONSTRUCTOR_REFERENCE.
      See Also:
    • TAT_METHOD_REFERENCE

      static final int TAT_METHOD_REFERENCE
      The value of type annotation target type METHOD_REFERENCE.
      See Also:
    • TAT_CAST

      static final int TAT_CAST
      The value of type annotation target type CAST.
      See Also:
    • TAT_CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT

      static final int TAT_CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT
      The value of type annotation target type CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT.
      See Also:
    • TAT_METHOD_INVOCATION_TYPE_ARGUMENT

      static final int TAT_METHOD_INVOCATION_TYPE_ARGUMENT
      The value of type annotation target type METHOD_INVOCATION_TYPE_ARGUMENT.
      See Also:
    • TAT_CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT

      static final int TAT_CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT
      The value of type annotation target type CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT.
      See Also:
    • TAT_METHOD_REFERENCE_TYPE_ARGUMENT

      static final int TAT_METHOD_REFERENCE_TYPE_ARGUMENT
      The value of type annotation target type METHOD_REFERENCE_TYPE_ARGUMENT.
      See Also:
    • VT_TOP

      static final int VT_TOP
      The value of verification type TOP.
      See Also:
    • VT_INTEGER

      static final int VT_INTEGER
      The value of verification type INTEGER.
      See Also:
    • VT_FLOAT

      static final int VT_FLOAT
      The value of verification type FLOAT.
      See Also:
    • VT_DOUBLE

      static final int VT_DOUBLE
      The value of verification type DOUBLE.
      See Also:
    • VT_LONG

      static final int VT_LONG
      The value of verification type LONG.
      See Also:
    • VT_NULL

      static final int VT_NULL
      The value of verification type NULL.
      See Also:
    • VT_UNINITIALIZED_THIS

      static final int VT_UNINITIALIZED_THIS
      The value of verification type UNINITIALIZED_THIS.
      See Also:
    • VT_OBJECT

      static final int VT_OBJECT
      The value of verification type OBJECT.
      See Also:
    • VT_UNINITIALIZED

      static final int VT_UNINITIALIZED
      The value of verification type UNINITIALIZED.
      See Also:
    • DEFAULT_CLASS_FLAGS

      static final int DEFAULT_CLASS_FLAGS
      The value of default class access flags
      See Also:
    • JAVA_1_VERSION

      static final int JAVA_1_VERSION
      The class major version of JAVA_1.
      See Also:
    • JAVA_2_VERSION

      static final int JAVA_2_VERSION
      The class major version of JAVA_2.
      See Also:
    • JAVA_3_VERSION

      static final int JAVA_3_VERSION
      The class major version of JAVA_3.
      See Also:
    • JAVA_4_VERSION

      static final int JAVA_4_VERSION
      The class major version of JAVA_4.
      See Also:
    • JAVA_5_VERSION

      static final int JAVA_5_VERSION
      The class major version of JAVA_5.
      See Also:
    • JAVA_6_VERSION

      static final int JAVA_6_VERSION
      The class major version of JAVA_6.
      See Also:
    • JAVA_7_VERSION

      static final int JAVA_7_VERSION
      The class major version of JAVA_7.
      See Also:
    • JAVA_8_VERSION

      static final int JAVA_8_VERSION
      The class major version of JAVA_8.
      See Also:
    • JAVA_9_VERSION

      static final int JAVA_9_VERSION
      The class major version of JAVA_9.
      See Also:
    • JAVA_10_VERSION

      static final int JAVA_10_VERSION
      The class major version of JAVA_10.
      See Also:
    • JAVA_11_VERSION

      static final int JAVA_11_VERSION
      The class major version of JAVA_11.
      See Also:
    • JAVA_12_VERSION

      static final int JAVA_12_VERSION
      The class major version of JAVA_12.
      See Also:
    • JAVA_13_VERSION

      static final int JAVA_13_VERSION
      The class major version of JAVA_13.
      See Also:
    • JAVA_14_VERSION

      static final int JAVA_14_VERSION
      The class major version of JAVA_14.
      See Also:
    • JAVA_15_VERSION

      static final int JAVA_15_VERSION
      The class major version of JAVA_15.
      See Also:
    • JAVA_16_VERSION

      static final int JAVA_16_VERSION
      The class major version of JAVA_16.
      See Also:
    • JAVA_17_VERSION

      static final int JAVA_17_VERSION
      The class major version of JAVA_17.
      See Also:
    • JAVA_18_VERSION

      static final int JAVA_18_VERSION
      The class major version of JAVA_18.
      See Also:
    • JAVA_19_VERSION

      static final int JAVA_19_VERSION
      The class major version of JAVA_19.
      See Also:
    • JAVA_20_VERSION

      static final int JAVA_20_VERSION
      The class major version of JAVA_20.
      See Also:
    • JAVA_21_VERSION

      static final int JAVA_21_VERSION
      The class major version of JAVA_21.
      See Also:
    • JAVA_22_VERSION

      static final int JAVA_22_VERSION
      The class major version of JAVA_22.
      See Also:
    • JAVA_23_VERSION

      static final int JAVA_23_VERSION
      67
      See Also:
    • 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:
  • 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 ClassModelPREVIEW.
      Parameters:
      bytes - the bytes of the classfile
      Returns:
      the class model
      Throws:
      IllegalArgumentException - or its subclass if the classfile format is not supported or an incompatibility prevents parsing of the classfile
    • parse

      default ClassModelPREVIEW parse(Path path) throws IOException
      Parse a classfile into a ClassModelPREVIEW.
      Parameters:
      path - the path to the classfile
      Returns:
      the class model
      Throws:
      IOException - if an I/O error occurs
      IllegalArgumentException - or its subclass if the classfile format is not supported or an incompatibility prevents parsing of the classfile
    • 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 ClassBuilderPREVIEW
      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 ClassBuilderPREVIEW
      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 ClassBuilderPREVIEW
      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 ClassBuilderPREVIEW
      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 ClassBuilderPREVIEW
      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 ClassBuilderPREVIEW
      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 ClassTransformPREVIEW. The transform will receive each element of this class, as well as a ClassBuilderPREVIEW 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 ClassTransformPREVIEW. The transform will receive each element of this class, as well as a ClassBuilderPREVIEW 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 ClassTransformPREVIEW. The transform will receive each element of this class, as well as a ClassBuilderPREVIEW 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
    • verify

      Verify a classfile. Any verification errors found will be returned.
      Parameters:
      model - the class model to verify
      Returns:
      a list of verification errors, or an empty list if no errors are found
    • verify

      List<VerifyError> verify(byte[] bytes)
      Verify a classfile. Any verification errors found will be returned.
      Parameters:
      bytes - the classfile bytes to verify
      Returns:
      a list of verification errors, or an empty list if no errors are found
    • verify

      default List<VerifyError> verify(Path path) throws IOException
      Verify a classfile. Any verification errors found will be returned.
      Parameters:
      path - the classfile path to verify
      Returns:
      a list of verification errors, or an empty list if no errors are found
      Throws:
      IOException - if an I/O error occurs
    • 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