Module java.base
Package java.lang.classfile

# Interface ClassFile

≠
public abstract sealed interface ClassFile
permits jdk.internal.classfile.impl.ClassFileImpl

## Nested Types

- = AttributeMapperOption
- = AttributesProcessingOption
- = ClassHierarchyResolverOption
- = ConstantPoolSharingOption
- = DeadCodeOption
- = DeadLabelsOption
- = DebugElementsOption
- = LineNumbersOption
- = Option
- = ShortJumpsOption
- = StackMapsOption

## Fields

- =
  public static final int ACC_ABSTRACT = 1024
- =
  public static final int ACC_ANNOTATION = 8192
- =
  public static final int ACC_BRIDGE = 64
- =
  public static final int ACC_ENUM = 16384
- =
  public static final int ACC_FINAL = 16
- +Only in: valhalla-csr-open; not in: jdk-master.
  public static final int ACC_IDENTITY = 32
  Not in jdk-master; only in valhalla-csr-open

  ### ACC_IDENTITY

  static final int ACC_IDENTITY
  `ACC_IDENTITY` is a reflective preview API of the Java platform.
  Preview features may be removed in a future release, or upgraded to permanent features of the Java platform.
  The bit mask of `AccessFlag.IDENTITY`PREVIEW access and property modifier.
  Since:
    Valhalla
  See Also:
    - Constant Field Values
- =
  public static final int ACC_INTERFACE = 512
- =
  public static final int ACC_MANDATED = 32768
- =
  public static final int ACC_MODULE = 32768
- =
  public static final int ACC_NATIVE = 256
- =
  public static final int ACC_OPEN = 32
- =
  public static final int ACC_PRIVATE = 2
- =
  public static final int ACC_PROTECTED = 4
- =
  public static final int ACC_PUBLIC = 1
- =
  public static final int ACC_STATIC = 8
- =
  public static final int ACC_STATIC_PHASE = 64
- =
  public static final int ACC_STRICT = 2048
- +Only in: valhalla-csr-open; not in: jdk-master.
  public static final int ACC_STRICT_INIT = 2048
  Not in jdk-master; only in valhalla-csr-open

  ### ACC_STRICT_INIT

  static final int ACC_STRICT_INIT
  `ACC_STRICT_INIT` is a reflective preview API of the Java platform.
  Preview features may be removed in a future release, or upgraded to permanent features of the Java platform.
  The bit mask of `AccessFlag.STRICT_INIT`PREVIEW access and property modifier.
  Since:
    Valhalla
  See Also:
    - Constant Field Values
- =
  public static final int ACC_SUPER = 32
- =
  public static final int ACC_SYNCHRONIZED = 32
- =
  public static final int ACC_SYNTHETIC = 4096
- =
  public static final int ACC_TRANSIENT = 128
- =
  public static final int ACC_TRANSITIVE = 32
- =
  public static final int ACC_VARARGS = 128
- =
  public static final int ACC_VOLATILE = 64
- =
  public static final int JAVA_10_VERSION = 54
- =
  public static final int JAVA_11_VERSION = 55
- =
  public static final int JAVA_12_VERSION = 56
- =
  public static final int JAVA_13_VERSION = 57
- =
  public static final int JAVA_14_VERSION = 58
- =
  public static final int JAVA_15_VERSION = 59
- =
  public static final int JAVA_16_VERSION = 60
- =
  public static final int JAVA_17_VERSION = 61
- =
  public static final int JAVA_18_VERSION = 62
- =
  public static final int JAVA_19_VERSION = 63
- =
  public static final int JAVA_1_VERSION = 45
- =
  public static final int JAVA_20_VERSION = 64
- =
  public static final int JAVA_21_VERSION = 65
- =
  public static final int JAVA_22_VERSION = 66
- =
  public static final int JAVA_23_VERSION = 67
- =
  public static final int JAVA_24_VERSION = 68
- =
  public static final int JAVA_25_VERSION = 69
- =
  public static final int JAVA_26_VERSION = 70
- =
  public static final int JAVA_27_VERSION = 71
- =
  public static final int JAVA_2_VERSION = 46
- =
  public static final int JAVA_3_VERSION = 47
- =
  public static final int JAVA_4_VERSION = 48
- =
  public static final int JAVA_5_VERSION = 49
- =
  public static final int JAVA_6_VERSION = 50
- =
  public static final int JAVA_7_VERSION = 51
- =
  public static final int JAVA_8_VERSION = 52
- =
  public static final int JAVA_9_VERSION = 53
- =
  public static final int MAGIC_NUMBER = -889275714
- =
  public static final int PREVIEW_MINOR_VERSION = 65535

## Methods

- =
  public abstract byte[] build(java.lang.classfile.constantpool.ClassEntry arg0, java.lang.classfile.constantpool.ConstantPoolBuilder arg1, java.util.function.Consumer<? super java.lang.classfile.ClassBuilder> arg2)
- =
  public default byte[] build(java.lang.constant.ClassDesc arg0, java.util.function.Consumer<? super java.lang.classfile.ClassBuilder> arg1)
- =
  public default byte[] buildModule(java.lang.classfile.attribute.ModuleAttribute arg0)
- =
  public default byte[] buildModule(java.lang.classfile.attribute.ModuleAttribute arg0, java.util.function.Consumer<? super java.lang.classfile.ClassBuilder> arg1)
- =
  public default void buildModuleTo(java.nio.file.Path arg0, java.lang.classfile.attribute.ModuleAttribute arg1) throws java.io.IOException
- =
  public default void buildModuleTo(java.nio.file.Path arg0, java.lang.classfile.attribute.ModuleAttribute arg1, java.util.function.Consumer<? super java.lang.classfile.ClassBuilder> arg2) throws java.io.IOException
- =
  public default void buildTo(java.nio.file.Path arg0, java.lang.classfile.constantpool.ClassEntry arg1, java.lang.classfile.constantpool.ConstantPoolBuilder arg2, java.util.function.Consumer<? super java.lang.classfile.ClassBuilder> arg3) throws java.io.IOException
- =
  public default void buildTo(java.nio.file.Path arg0, java.lang.constant.ClassDesc arg1, java.util.function.Consumer<java.lang.classfile.ClassBuilder> arg2) throws java.io.IOException
- =
  public static int latestMajorVersion()
- =
  public static int latestMinorVersion()
- =
  public static java.lang.classfile.ClassFile of()
- =
  public static java.lang.classfile.ClassFile of(java.lang.classfile.ClassFile.Option[] arg0)
- =
  public abstract java.lang.classfile.ClassModel parse(byte[] arg0)
- =
  public default java.lang.classfile.ClassModel parse(java.nio.file.Path arg0) throws java.io.IOException
- =
  public default byte[] transformClass(java.lang.classfile.ClassModel arg0, java.lang.classfile.ClassTransform arg1)
- =
  public abstract byte[] transformClass(java.lang.classfile.ClassModel arg0, java.lang.classfile.constantpool.ClassEntry arg1, java.lang.classfile.ClassTransform arg2)
- =
  public default byte[] transformClass(java.lang.classfile.ClassModel arg0, java.lang.constant.ClassDesc arg1, java.lang.classfile.ClassTransform arg2)
- =
  public abstract java.util.List<java.lang.VerifyError> verify(byte[] arg0)
- =
  public abstract java.util.List<java.lang.VerifyError> verify(java.lang.classfile.ClassModel arg0)
- =
  public default java.util.List<java.lang.VerifyError> verify(java.nio.file.Path arg0) throws java.io.IOException
- =
  public abstract java.lang.classfile.ClassFile withOptions(java.lang.classfile.ClassFile.Option[] arg0)

## Summary

Differences
| Elements | Comments | Descriptions | Total
Added | Changed | Removed | Added | Changed | Removed | Added | Changed | Removed
--- | --- | --- | --- | --- | --- | --- | --- | ---
ACC_IDENTITY | 1 |  |  |  |  |  | 1 |  |  | 2
ACC_STRICT_INIT | 1 |  |  |  |  |  | 1 |  |  | 2
Total | 2 |  |  |  |  |  | 2 |  |  | 4