# Uses of Package
java.lang.classfile

Packages that use java.lang.classfile
Package
Description
java.lang.classfile
Provides classfile parsing, generation, and transformation library.
java.lang.classfile.attribute
Provides interfaces describing `class` file attributes for the `java.lang.classfile` library.
java.lang.classfile.constantpool
Provides interfaces describing constant pool entries for the `java.lang.classfile` library.
java.lang.classfile.instruction
Provides interfaces describing code instructions for the `java.lang.classfile` library.

Classes in java.lang.classfile used by java.lang.classfile
Class
Description
AccessFlags
Models the access flags for a class, method, or field.
Annotation
Models an `annotation` structure (JVMS 4.7.16) or part of a `type_annotation` structure (JVMS 4.7.20).
AnnotationElement
Models an element-value pair in the `element_value_pairs` table in the `annotation` structure defined in JVMS 4.7.16 or the `type_annotation` structure defined in JVMS 4.7.20.
AnnotationValue
Models an `element_value` structure, or a value of an element-value pair of an annotation, as defined in JVMS 4.7.16.1.
AnnotationValue.OfAnnotation
Models an annotation value of an element-value pair.
AnnotationValue.OfArray
Models an array value of an element-value pair.
AnnotationValue.OfBoolean
Models a boolean value of an element-value pair.
AnnotationValue.OfByte
Models a byte value of an element-value pair.
AnnotationValue.OfChar
Models a char value of an element-value pair.
AnnotationValue.OfClass
Models a class value of an element-value pair.
AnnotationValue.OfConstant
Models a constant value of an element-value pair.
AnnotationValue.OfDouble
Models a double value of an element-value pair.
AnnotationValue.OfEnum
Models an enum value of an element-value pair.
AnnotationValue.OfFloat
Models a float value of an element-value pair.
AnnotationValue.OfInt
Models an int value of an element-value pair.
AnnotationValue.OfLong
Models a long value of an element-value pair.
AnnotationValue.OfShort
Models a short value of an element-value pair.
AnnotationValue.OfString
Models a string value of an element-value pair.
Attribute
Models an attribute (JVMS 4.7) in the `class` file format.
AttributedElement
A `ClassFileElement` describing a `class` file structure that has attributes, such as a `class` file, a field, a method, a `Code` attribute, or a record component.
AttributeMapper
Bidirectional mapper between the `class` file representation of an attribute and its API model.
AttributeMapper.AttributeStability
Indicates the data dependency of the `class` file representation of an attribute.
BufWriter
Advanced `class` file writing support for `AttributeMapper`s.
ClassBuilder
A builder for a `class` file.
ClassElement
Marker interface for a member element of a `ClassModel`.
ClassFile
Provides ability to parse, transform, and generate `class` files.
ClassFile.AttributeMapperOption
The option describing user-defined attributes for parsing `class` files.
ClassFile.AttributesProcessingOption
The option describing whether to retain or discard attributes that cannot verify their correctness after a transformation.
ClassFile.ClassHierarchyResolverOption
The option describing the class hierarchy resolver to use when generating stack maps or verifying classes.
ClassFile.ConstantPoolSharingOption
Option describing whether to extend from the original constant pool when transforming a `class` file.
ClassFile.DeadCodeOption
The option describing whether to patch out unreachable code for stack map generation.
ClassFile.DeadLabelsOption
The option describing whether to filter unbound labels and drop their enclosing structures if possible.
ClassFile.DebugElementsOption
The option describing whether to process or discard debug `PseudoInstruction`s in the traversal of a `CodeModel` or a `CodeBuilder`.
ClassFile.LineNumbersOption
The option describing whether to process or discard `LineNumber`s in the traversal of a `CodeModel` or a `CodeBuilder`.
ClassFile.Option
An option that affects the parsing or writing of `class` files.
ClassFile.ShortJumpsOption
The option describing whether to automatically rewrite short jumps to equivalent instructions when necessary.
ClassFile.StackMapsOption
The option describing whether to generate stack maps.
ClassFileBuilder
A builder for a `CompoundElement`, which accepts the member elements to be integrated into the built structure.
ClassFileElement
Marker interface for structures with special capabilities in the `class` file format.
ClassFileTransform
A transformation on a `CompoundElement` by processing its individual member elements and sending the results to a `ClassFileBuilder`, through `ClassFileBuilder.transform(CompoundElement, ClassFileTransform)`.
ClassFileVersion
Models the minor and major version numbers of a `class` file (JVMS 4.1).
ClassHierarchyResolver
Provides class hierarchy information for stack maps generation and verification.
ClassHierarchyResolver.ClassHierarchyInfo
Information about a resolved class.
ClassModel
Models a `class` file.
ClassReader
Advanced `class` file reading support for `AttributeMapper`s.
ClassSignature
Models the generic signature of a class or interface, as defined by JVMS 4.7.9.1.
ClassTransform
A transformation on streams of `ClassElement`.
CodeBuilder
A builder for `Code` attributes (method bodies).
CodeBuilder.BlockCodeBuilder
A builder for blocks of code.
CodeBuilder.CatchBuilder
A builder to add catch blocks.
CodeElement
Marker interface for a member element of a `CodeModel`.
CodeModel
Models the body of a method (the `Code` attribute).
CodeTransform
A transformation on streams of `CodeElement`.
CompoundElement
A `class` file structure that can be viewed as a composition of its member structures.
CustomAttribute
Models a user-defined attribute in a `class` file.
FieldBuilder
A builder for fields.
FieldElement
Marker interface for a member element of a `FieldModel`.
FieldModel
Models a field.
FieldTransform
A transformation on streams of `FieldElement`.
Interfaces
Models the interfaces (JVMS 4.1) of a class.
Label
A marker for a position within the instructions of a method body.
MethodBuilder
A builder for methods.
MethodElement
Marker interface for a member element of a `MethodModel`.
MethodModel
Models a method.
MethodSignature
Models the generic signature of a method or constructor, as defined by JVMS 4.7.9.1.
MethodTransform
A transformation on streams of `MethodElement`.
Opcode
Describes the opcodes of the JVM instruction set, as described in JVMS 6.5.
Opcode.Kind
Kinds of opcodes.
Signature
Models generic Java type signatures, as defined in JVMS 4.7.9.1.
Signature.ArrayTypeSig
Models the signature of an array type.
Signature.BaseTypeSig
Models the signature of a primitive type (JLS 4.2) or void.
Signature.ClassTypeSig
Models the signature of a possibly-parameterized class or interface type.
Signature.RefTypeSig
Models the signature of a reference type, which may be a class, interface, type variable, or array type.
Signature.ThrowableSig
Marker interface for a signature for a throwable type.
Signature.TypeArg
Models a type argument, an argument to a type parameter.
Signature.TypeArg.Bounded
Models a type argument with an explicit bound type.
Signature.TypeArg.Bounded.WildcardIndicator
Models a type argument's wildcard indicator.
Signature.TypeArg.Unbounded
Models an unbounded wildcard type argument `*`, or `?` in Java programs.
Signature.TypeParam
Models a signature for a type parameter of a generic class, interface, method, or constructor, which introduces a type variable.
Signature.TypeVarSig
Models the signature of a type variable.
Superclass
Models the superclass (JVMS 4.1) of a class.
TypeAnnotation
Models a `type_annotation` structure (JVMS 4.7.20).
TypeAnnotation.CatchTarget
Indicates that an annotation appears on the i'th type in an exception parameter declaration.
TypeAnnotation.EmptyTarget
Indicates that an annotation appears on either the type in a field declaration, the return type of a method, the type of a newly constructed object, or the receiver type of a method or constructor.
TypeAnnotation.FormalParameterTarget
Indicates that an annotation appears on the type in a formal parameter declaration of a method, constructor, or lambda expression.
TypeAnnotation.LocalVarTarget
Indicates that an annotation appears on the type in a local variable declaration, including a variable declared as a resource in a try-with-resources statement.
TypeAnnotation.LocalVarTargetInfo
Indicates a range of code array offsets within which a local variable has a value, and the index into the local variable array of the current frame at which that local variable can be found.
TypeAnnotation.OffsetTarget
Indicates that an annotation appears on either the type in an instanceof expression or a new expression, or the type before the :: in a method reference expression.
TypeAnnotation.SupertypeTarget
Indicates that an annotation appears on a type in the extends or implements clause of a class or interface declaration.
TypeAnnotation.TargetInfo
Specifies which type in a declaration or expression is being annotated.
TypeAnnotation.TargetType
The kind of target on which the annotation appears, as defined in JVMS 4.7.20.1.
TypeAnnotation.ThrowsTarget
Indicates that an annotation appears on the i'th type in the throws clause of a method or constructor declaration.
TypeAnnotation.TypeArgumentTarget
Indicates that an annotation appears either on the i'th type in a cast expression, or on the i'th type argument in the explicit type argument list for any of the following: a new expression, an explicit constructor invocation statement, a method invocation expression, or a method reference expression.
TypeAnnotation.TypeParameterBoundTarget
Indicates that an annotation appears on the i'th bound of the j'th type parameter declaration of a generic class, interface, method, or constructor.
TypeAnnotation.TypeParameterTarget
Indicates that an annotation appears on the declaration of the i'th type parameter of a generic class, generic interface, generic method, or generic constructor.
TypeAnnotation.TypePathComponent
JVMS: Type_path structure identifies which part of the type is annotated, as defined in JVMS 4.7.20.2
TypeAnnotation.TypePathComponent.Kind
Type path kind, as defined in JVMS 4.7.20.2
TypeKind
Describes the data types Java Virtual Machine operates on.
Classes in java.lang.classfile used by java.lang.classfile.attribute
Class
Description
Annotation
Models an `annotation` structure (JVMS 4.7.16) or part of a `type_annotation` structure (JVMS 4.7.20).
AnnotationValue
Models an `element_value` structure, or a value of an element-value pair of an annotation, as defined in JVMS 4.7.16.1.
Attribute
Models an attribute (JVMS 4.7) in the `class` file format.
AttributedElement
A `ClassFileElement` describing a `class` file structure that has attributes, such as a `class` file, a field, a method, a `Code` attribute, or a record component.
BootstrapMethodEntry
Models an entry in the bootstrap method table.
ClassElement
Marker interface for a member element of a `ClassModel`.
ClassFileElement
Marker interface for structures with special capabilities in the `class` file format.
ClassSignature
Models the generic signature of a class or interface, as defined by JVMS 4.7.9.1.
CodeElement
Marker interface for a member element of a `CodeModel`.
CodeModel
Models the body of a method (the `Code` attribute).
CompoundElement
A `class` file structure that can be viewed as a composition of its member structures.
FieldElement
Marker interface for a member element of a `FieldModel`.
Label
A marker for a position within the instructions of a method body.
MethodElement
Marker interface for a member element of a `MethodModel`.
MethodSignature
Models the generic signature of a method or constructor, as defined by JVMS 4.7.9.1.
Signature
Models generic Java type signatures, as defined in JVMS 4.7.9.1.
TypeAnnotation
Models a `type_annotation` structure (JVMS 4.7.20).
Classes in java.lang.classfile used by java.lang.classfile.constantpool
Class
Description
BootstrapMethodEntry
Models an entry in the bootstrap method table.
ClassModel
Models a `class` file.
TypeKind
Describes the data types Java Virtual Machine operates on.
Classes in java.lang.classfile used by java.lang.classfile.instruction
Class
Description
ClassFileElement
Marker interface for structures with special capabilities in the `class` file format.
CodeElement
Marker interface for a member element of a `CodeModel`.
Instruction
Models an executable instruction in the `code` array of the `Code` attribute of a method.
Label
A marker for a position within the instructions of a method body.
Opcode
Describes the opcodes of the JVM instruction set, as described in JVMS 6.5.
PseudoInstruction
Models metadata about a `CodeModel`, derived from the `Code` attribute itself or its attributes.
Signature
Models generic Java type signatures, as defined in JVMS 4.7.9.1.
TypeKind
Describes the data types Java Virtual Machine operates on.