Uses of Interface
java.lang.constant.ClassDesc
Package
Description
Provides classes that are fundamental to the design of the Java
programming language.
Provides classfile parsing, generation, and transformation library.
Provides interfaces describing classfile attributes for the
java.lang.classfile
PREVIEW library.Provides specific components, transformations, and tools built on top of the
java.lang.classfile
PREVIEW library.Provides interfaces describing classfile constant pool entries for the
java.lang.classfile
PREVIEW library.Provides interfaces describing code instructions for the
java.lang.classfile
PREVIEW library.Classes and interfaces to represent nominal descriptors for run-time
entities such as classes or method handles, and classfile entities such as
constant pool entries or
invokedynamic
call sites.The
java.lang.invoke
package provides low-level primitives for interacting
with the Java Virtual Machine.-
Uses of ClassDesc in java.lang
Modifier and TypeMethodDescriptionClass.describeConstable()
Returns a nominal descriptor for this instance, if one can be constructed, or an emptyOptional
if one cannot be.Modifier and TypeMethodDescriptionstatic <E extends Enum<E>>
Enum.EnumDesc<E> Returns a nominal descriptor for the specifiedenum
class and name -
Uses of ClassDesc in java.lang.classfilePREVIEW
Modifier and TypeMethodDescriptiondefault ClassDesc
Signature.ClassTypeSig.classDesc()
Returns the class name, as a symbolic descriptor.default ClassDesc
Annotation.classSymbol()
Returns the class of the annotation, as a symbolic descriptor.default ClassDesc
AnnotationValue.OfClass.classSymbol()
Returns the class symbol.default ClassDesc
AnnotationValue.OfEnum.classSymbol()
Returns the enum class symbol.default ClassDesc
FieldModel.fieldTypeSymbol()
Returns the field descriptor of this field, as a symbolic descriptor.Modifier and TypeMethodDescriptiondefault CodeBuilderPREVIEW
Generate an instruction to create a new array of referencedefault byte[]
ClassFile.build
(ClassDesc thisClass, Consumer<? super ClassBuilderPREVIEW> handler) Build a classfile into a byte array.default void
Build a classfile into a file.CodeBuilder.CatchBuilder.catching
(ClassDesc exceptionType, Consumer<CodeBuilder.BlockCodeBuilderPREVIEW> catchHandler) Adds a catch block that catches an exception of the given type.default CodeBuilderPREVIEW
Generate an instruction to check whether an object is of the given typedefault CodeBuilderPREVIEW
CodeBuilder.exceptionCatch
(LabelPREVIEW start, LabelPREVIEW end, LabelPREVIEW handler, ClassDesc catchType) Declare an exception table entrydefault CodeBuilderPREVIEW
Generate an instruction to access a fieldClassHierarchyResolver.getClassInfo
(ClassDesc classDesc) Returns theClassHierarchyResolver.ClassHierarchyInfo
PREVIEW for a given class name, or null if the name is unknown to the resolver.default CodeBuilderPREVIEW
Generate an instruction to fetch field from an objectdefault CodeBuilderPREVIEW
Generate an instruction to get static field from a classdefault CodeBuilderPREVIEW
CodeBuilder.instanceOf
(ClassDesc target) Generate an instruction to determine if an object is of the given typedefault CodeBuilderPREVIEW
CodeBuilder.invoke
(OpcodePREVIEW opcode, ClassDesc owner, String name, MethodTypeDesc desc, boolean isInterface) Generate an instruction to invoke a method or constructordefault CodeBuilderPREVIEW
CodeBuilder.invokeinterface
(ClassDesc owner, String name, MethodTypeDesc type) Generate an instruction to invoke an interface methoddefault CodeBuilderPREVIEW
CodeBuilder.invokespecial
(ClassDesc owner, String name, MethodTypeDesc type) Generate an instruction to invoke an instance method; direct invocation of instance initialization methods and methods of the current class and its supertypesdefault CodeBuilderPREVIEW
CodeBuilder.invokespecial
(ClassDesc owner, String name, MethodTypeDesc type, boolean isInterface) Generate an instruction to invoke an instance method; direct invocation of instance initialization methods and methods of the current class and its supertypesdefault CodeBuilderPREVIEW
CodeBuilder.invokestatic
(ClassDesc owner, String name, MethodTypeDesc type) Generate an instruction to invoke a class (static) methoddefault CodeBuilderPREVIEW
CodeBuilder.invokestatic
(ClassDesc owner, String name, MethodTypeDesc type, boolean isInterface) Generate an instruction to invoke a class (static) methoddefault CodeBuilderPREVIEW
CodeBuilder.invokevirtual
(ClassDesc owner, String name, MethodTypeDesc type) Generate an instruction to invoke an instance method; dispatch based on classdefault CodeBuilderPREVIEW
CodeBuilder.localVariable
(int slot, String name, ClassDesc descriptor, LabelPREVIEW startScope, LabelPREVIEW endScope) Declare a local variable entrydefault CodeBuilderPREVIEW
CodeBuilder.multianewarray
(ClassDesc array, int dims) Generate an instruction to create a new multidimensional arraydefault CodeBuilderPREVIEW
Generate an instruction to create a new objectstatic AnnotationPREVIEW
Annotation.of
(ClassDesc annotationClass, AnnotationElementPREVIEW... elements) Returns an annotation.static AnnotationPREVIEW
Annotation.of
(ClassDesc annotationClass, List<AnnotationElementPREVIEW> elements) Returns an annotation.static Signature.BaseTypeSigPREVIEW
Returns the signature of a primitive type or void.Signature.ClassTypeSig.of
(Signature.ClassTypeSigPREVIEW outerType, ClassDesc className, Signature.TypeArgPREVIEW... typeArgs) Returns a class type signature for an inner class.Signature.ClassTypeSig.of
(ClassDesc className, Signature.TypeArgPREVIEW... typeArgs) Returns a class type signature.Returns a Java type signature.static TypeAnnotationPREVIEW
TypeAnnotation.of
(TypeAnnotation.TargetInfoPREVIEW targetInfo, List<TypeAnnotation.TypePathComponentPREVIEW> targetPath, ClassDesc annotationClass, AnnotationElementPREVIEW... annotationElements) Returns a type annotation.static TypeAnnotationPREVIEW
TypeAnnotation.of
(TypeAnnotation.TargetInfoPREVIEW targetInfo, List<TypeAnnotation.TypePathComponentPREVIEW> targetPath, ClassDesc annotationClass, List<AnnotationElementPREVIEW> annotationElements) Returns a type annotation.static AnnotationElementPREVIEW
Returns an annotation key-value pair for a class-valued annotation.Returns an annotation element for a class-valued element.Indicates that a class is a declared class, with the specific given super class.Returns an annotation element for a enum-valued element.static InterfacesPREVIEW
Returns an InterfacesPREVIEW element.default CodeBuilderPREVIEW
Generate an instruction to set field in an objectdefault CodeBuilderPREVIEW
Generate an instruction to set static field in a classdefault byte[]
ClassFile.transform
(ClassModelPREVIEW model, ClassDesc newClassName, ClassTransformPREVIEW transform) Transform one classfile into a new classfile with the aid of aClassTransform
PREVIEW.default ClassBuilderPREVIEW
Adds a field.default ClassBuilderPREVIEW
ClassBuilder.withField
(String name, ClassDesc descriptor, Consumer<? super FieldBuilderPREVIEW> handler) Adds a field.default ClassBuilderPREVIEW
ClassBuilder.withInterfaceSymbols
(ClassDesc... interfaces) Sets the interfaces of this class.default ClassBuilderPREVIEW
ClassBuilder.withSuperclass
(ClassDesc desc) Sets the superclass of this class.Modifier and TypeMethodDescriptiondefault ClassHierarchyResolverPREVIEW
ClassHierarchyResolver.cached
(Supplier<Map<ClassDesc, ClassHierarchyResolver.ClassHierarchyInfoPREVIEW>> cacheFactory) Returns a ClassHierarchyResolver that caches class hierarchy information from this resolver.CodeBuilder.CatchBuilder.catchingMulti
(List<ClassDesc> exceptionTypes, Consumer<CodeBuilder.BlockCodeBuilderPREVIEW> catchHandler) Adds a catch block that catches exceptions of the given types.ClassHierarchyResolver.of
(Collection<ClassDesc> interfaces, Map<ClassDesc, ClassDesc> classToSuperClass) Returns a ClassHierarchyResolverPREVIEW that extracts class hierarchy information from collections of class hierarchy metadataClassHierarchyResolver.of
(Collection<ClassDesc> interfaces, Map<ClassDesc, ClassDesc> classToSuperClass) Returns a ClassHierarchyResolverPREVIEW that extracts class hierarchy information from collections of class hierarchy metadataClassHierarchyResolver.of
(Collection<ClassDesc> interfaces, Map<ClassDesc, ClassDesc> classToSuperClass) Returns a ClassHierarchyResolverPREVIEW that extracts class hierarchy information from collections of class hierarchy metadataClassHierarchyResolver.ofResourceParsing
(Function<ClassDesc, InputStream> classStreamResolver) Returns a ClassHierarchyResolverPREVIEW that extracts class hierarchy information from classfiles located by a mapping function.static InterfacesPREVIEW
Returns an InterfacesPREVIEW element.default ClassBuilderPREVIEW
ClassBuilder.withInterfaceSymbols
(List<ClassDesc> interfaces) Sets the interfaces of this class. -
Uses of ClassDesc in java.lang.classfile.attributePREVIEW
Modifier and TypeMethodDescriptiondefault ClassDesc
StackMapFrameInfo.ObjectVerificationTypeInfo.classSymbol()
Returns the class of the object.default ClassDesc
RecordComponentInfo.descriptorSymbol()
Returns the field descriptor of this component, as a ClassDesc.default ClassDesc
LocalVariableInfo.typeSymbol()
Returns the field descriptor of the local variable.Modifier and TypeMethodDescriptionEnclosingMethodAttribute.of
(ClassDesc className, Optional<String> methodName, Optional<MethodTypeDesc> methodType) Returns anEnclosingMethod
attribute.static InnerClassInfoPREVIEW
InnerClassInfo.of
(ClassDesc innerClass, Optional<ClassDesc> outerClass, Optional<String> innerName, int flags) Returns an inner class description.static InnerClassInfoPREVIEW
InnerClassInfo.of
(ClassDesc innerClass, Optional<ClassDesc> outerClass, Optional<String> innerName, AccessFlag... flags) Returns an inner class description.Returns aModuleMainClass
attribute.static ModuleProvideInfoPREVIEW
Returns a service provision description.static ModuleProvideInfoPREVIEW
Returns a service provision description.static NestHostAttributePREVIEW
Returns aNestHost
attribute.static RecordComponentInfoPREVIEW
Returns a record component description.static RecordComponentInfoPREVIEW
Returns a record component description.Returns a new object verification type info.static ExceptionsAttributePREVIEW
Returns anExceptions
attribute.static NestMembersAttributePREVIEW
Returns aNestMembers
attribute.Returns aPermittedSubclasses
attribute.Declares provision of a serviceDeclares use of a serviceModifier and TypeMethodDescriptionstatic InnerClassInfoPREVIEW
InnerClassInfo.of
(ClassDesc innerClass, Optional<ClassDesc> outerClass, Optional<String> innerName, int flags) Returns an inner class description.static InnerClassInfoPREVIEW
InnerClassInfo.of
(ClassDesc innerClass, Optional<ClassDesc> outerClass, Optional<String> innerName, AccessFlag... flags) Returns an inner class description.static ModuleProvideInfoPREVIEW
Returns a service provision description.static ExceptionsAttributePREVIEW
Returns anExceptions
attribute.static NestMembersAttributePREVIEW
Returns aNestMembers
attribute.Returns aPermittedSubclasses
attribute. -
Uses of ClassDesc in java.lang.classfile.componentsPREVIEW
Modifier and TypeMethodDescriptionAccess method to internal class mapping function.Modifier and TypeMethodDescriptionAccess method to internal class mapping function.Modifier and TypeMethodDescriptionstatic ClassRemapperPREVIEW
Creates new instance ofClassRemapper
instructed with a map function.static ClassRemapperPREVIEW
Creates new instance ofClassRemapper
instructed with a map function.static ClassRemapperPREVIEW
Creates new instance ofClassRemapper
instructed with a class map.static ClassRemapperPREVIEW
Creates new instance ofClassRemapper
instructed with a class map. -
Uses of ClassDesc in java.lang.classfile.constantpoolPREVIEW
Modifier and TypeMethodDescriptionClassEntry.asSymbol()
Returns the class name, as a symbolic descriptor.default ClassDesc
ConstantDynamicEntry.typeSymbol()
Returns a symbolic descriptor for the dynamic constant's type.default ClassDesc
FieldRefEntry.typeSymbol()
Returns a symbolic descriptor for the field's type.Modifier and TypeMethodDescriptiondefault ClassEntryPREVIEW
ConstantPoolBuilder.classEntry
(ClassDesc classDesc) default FieldRefEntryPREVIEW
ConstantPoolBuilder.fieldRefEntry
(ClassDesc owner, String name, ClassDesc type) Returns AFieldRefEntry
PREVIEW describing a field of a class.default InterfaceMethodRefEntryPREVIEW
ConstantPoolBuilder.interfaceMethodRefEntry
(ClassDesc owner, String name, MethodTypeDesc type) Returns AInterfaceMethodRefEntry
PREVIEW describing a method of a class.default MethodRefEntryPREVIEW
ConstantPoolBuilder.methodRefEntry
(ClassDesc owner, String name, MethodTypeDesc type) Returns AMethodRefEntry
PREVIEW describing a method of a class.default NameAndTypeEntryPREVIEW
ConstantPoolBuilder.nameAndTypeEntry
(String name, ClassDesc type) Returns ANameAndTypeEntry
PREVIEW describing the provided name and type. -
Uses of ClassDesc in java.lang.classfile.instructionPREVIEW
Modifier and TypeMethodDescriptiondefault ClassDesc
FieldInstruction.typeSymbol()
Returns a symbolic descriptor for the type of the field.default ClassDesc
LocalVariable.typeSymbol()
Returns the local variable type, as a symbolic descriptor. -
Uses of ClassDesc in java.lang.constant
Modifier and TypeInterfaceDescriptioninterface
A nominal descriptor for aClass
constant.interface
A nominal descriptor for a MethodType constant.Modifier and TypeFieldDescriptionstatic final ClassDesc
ConstantDescs.CD_boolean
ClassDesc
representing the primitive typeboolean
static final ClassDesc
ConstantDescs.CD_Boolean
static final ClassDesc
ConstantDescs.CD_byte
ClassDesc
representing the primitive typebyte
static final ClassDesc
ConstantDescs.CD_Byte
static final ClassDesc
ConstantDescs.CD_CallSite
static final ClassDesc
ConstantDescs.CD_char
ClassDesc
representing the primitive typechar
static final ClassDesc
ConstantDescs.CD_Character
static final ClassDesc
ConstantDescs.CD_Class
static final ClassDesc
ConstantDescs.CD_ClassDesc
static final ClassDesc
ConstantDescs.CD_Collection
ClassDesc
representingCollection
static final ClassDesc
ConstantDescs.CD_ConstantBootstraps
ClassDesc
representingConstantBootstraps
static final ClassDesc
ConstantDescs.CD_ConstantDesc
ClassDesc
representingConstantDesc
static final ClassDesc
ConstantDescs.CD_DirectMethodHandleDesc
ClassDesc
representingDirectMethodHandleDesc
static final ClassDesc
ConstantDescs.CD_double
ClassDesc
representing the primitive typedouble
static final ClassDesc
ConstantDescs.CD_Double
static final ClassDesc
ConstantDescs.CD_DynamicCallSiteDesc
ClassDesc
representingDynamicCallSiteDesc
static final ClassDesc
ConstantDescs.CD_DynamicConstantDesc
ClassDesc
representingDynamicConstantDesc
static final ClassDesc
ConstantDescs.CD_Enum
static final ClassDesc
ConstantDescs.CD_EnumDesc
ClassDesc
representingEnum.EnumDesc
static final ClassDesc
ConstantDescs.CD_Exception
static final ClassDesc
ConstantDescs.CD_float
ClassDesc
representing the primitive typefloat
static final ClassDesc
ConstantDescs.CD_Float
static final ClassDesc
ConstantDescs.CD_int
ClassDesc
representing the primitive typeint
static final ClassDesc
ConstantDescs.CD_Integer
static final ClassDesc
ConstantDescs.CD_List
static final ClassDesc
ConstantDescs.CD_long
ClassDesc
representing the primitive typelong
static final ClassDesc
ConstantDescs.CD_Long
static final ClassDesc
ConstantDescs.CD_Map
static final ClassDesc
ConstantDescs.CD_MethodHandle
ClassDesc
representingMethodHandle
static final ClassDesc
ConstantDescs.CD_MethodHandleDesc
ClassDesc
representingMethodHandleDesc
static final ClassDesc
ConstantDescs.CD_MethodHandleDesc_Kind
ClassDesc
representingDirectMethodHandleDesc.Kind
static final ClassDesc
ConstantDescs.CD_MethodHandles
ClassDesc
representingMethodHandles
static final ClassDesc
ConstantDescs.CD_MethodHandles_Lookup
ClassDesc
representingMethodHandles.Lookup
static final ClassDesc
ConstantDescs.CD_MethodType
ClassDesc
representingMethodType
static final ClassDesc
ConstantDescs.CD_MethodTypeDesc
ClassDesc
representingMethodTypeDesc
static final ClassDesc
ConstantDescs.CD_Number
static final ClassDesc
ConstantDescs.CD_Object
static final ClassDesc
ConstantDescs.CD_Set
static final ClassDesc
ConstantDescs.CD_short
ClassDesc
representing the primitive typeshort
static final ClassDesc
ConstantDescs.CD_Short
static final ClassDesc
ConstantDescs.CD_String
static final ClassDesc
ConstantDescs.CD_Throwable
static final ClassDesc
ConstantDescs.CD_VarHandle
static final ClassDesc
ConstantDescs.CD_VarHandleDesc
ClassDesc
representingVarHandle.VarHandleDesc
static final ClassDesc
ConstantDescs.CD_void
ClassDesc
representing the primitive typevoid
static final ClassDesc
ConstantDescs.CD_Void
Modifier and TypeMethodDescriptiondefault ClassDesc
ClassDesc.arrayType()
default ClassDesc
ClassDesc.arrayType
(int rank) default ClassDesc
ClassDesc.componentType()
Returns the component type of this ClassDesc, if it describes an array type, ornull
otherwise.DynamicConstantDesc.constantType()
Returns aClassDesc
describing the type that would appear in theNameAndType
operand of theLDC
for this constant.default ClassDesc
default ClassDesc
static ClassDesc
Returns a ClassDesc for a class or interface type, given the name of the class or interface, such as"java.lang.String"
.static ClassDesc
Returns a ClassDesc for a class or interface type, given a package name and the unqualified (simple) name for the class or interface.static ClassDesc
ClassDesc.ofDescriptor
(String descriptor) Returns a ClassDesc given a descriptor string for a class, interface, array, or primitive type.static ClassDesc
ClassDesc.ofInternalName
(String name) Returns a ClassDesc for a class or interface type, given the name of the class or interface in internal form, such as"java/lang/String"
.DirectMethodHandleDesc.owner()
Returns aClassDesc
describing the class declaring the method or field described by this nominal descriptor.MethodTypeDesc.parameterArray()
Returns the parameter types as an array.MethodTypeDesc.parameterType
(int index) Returns the parameter type of theindex
'th parameter of the method type described by this MethodTypeDesc.MethodTypeDesc.returnType()
Gets the return type of the method type described by this MethodTypeDesc.Modifier and TypeMethodDescriptionMethodTypeDesc.parameterList()
Returns the parameter types as an immutableList
.Modifier and TypeMethodDescriptionMethodTypeDesc.changeParameterType
(int index, ClassDesc paramType) Returns a MethodTypeDesc that is identical to this one, except that a single parameter type has been changed to the specified type.MethodTypeDesc.changeReturnType
(ClassDesc returnType) Returns a MethodTypeDesc that is identical to this one, except with the specified return type.MethodTypeDesc.insertParameterTypes
(int pos, ClassDesc... paramTypes) Returns a MethodTypeDesc that is identical to this one, except that a range of additional parameter types have been inserted.static DirectMethodHandleDesc
MethodHandleDesc.of
(DirectMethodHandleDesc.Kind kind, ClassDesc owner, String name, String lookupDescriptor) Creates a MethodHandleDesc corresponding to an invocation of a declared method, invocation of a constructor, or access to a field.static MethodTypeDesc
Returns a MethodTypeDesc with the given return type and no parameter types.static MethodTypeDesc
Returns a MethodTypeDesc given the return type and parameter types.static MethodTypeDesc
Returns a MethodTypeDesc given the return type and a list of parameter types.static DirectMethodHandleDesc
ConstantDescs.ofCallsiteBootstrap
(ClassDesc owner, String name, ClassDesc returnType, ClassDesc... paramTypes) Returns aMethodHandleDesc
corresponding to a bootstrap method for aninvokedynamic
callsite, which is a static method whose leading parameter types areLookup
,String
, andMethodType
.static <T> ConstantDesc
DynamicConstantDesc.ofCanonical
(DirectMethodHandleDesc bootstrapMethod, String constantName, ClassDesc constantType, ConstantDesc[] bootstrapArgs) Returns a nominal descriptor for a dynamic constant, transforming it into a more specific type if the constant bootstrap is a well-known one and a more specific nominal descriptor type (e.g., ClassDesc) is available.static DirectMethodHandleDesc
ConstantDescs.ofConstantBootstrap
(ClassDesc owner, String name, ClassDesc returnType, ClassDesc... paramTypes) Returns aMethodHandleDesc
corresponding to a bootstrap method for a dynamic constant, which is a static method whose leading arguments areLookup
,String
, andClass
.static DirectMethodHandleDesc
MethodHandleDesc.ofConstructor
(ClassDesc owner, ClassDesc... paramTypes) Returns a MethodHandleDesc corresponding to invocation of a constructorstatic DirectMethodHandleDesc
MethodHandleDesc.ofField
(DirectMethodHandleDesc.Kind kind, ClassDesc owner, String fieldName, ClassDesc fieldType) Creates a MethodHandleDesc corresponding to a method handle that accesses a field.static DirectMethodHandleDesc
MethodHandleDesc.ofMethod
(DirectMethodHandleDesc.Kind kind, ClassDesc owner, String name, MethodTypeDesc lookupMethodType) Creates a MethodHandleDesc corresponding to an invocation of a declared method or constructor.static <T> DynamicConstantDesc
<T> DynamicConstantDesc.ofNamed
(DirectMethodHandleDesc bootstrapMethod, String constantName, ClassDesc constantType, ConstantDesc... bootstrapArgs) Returns a nominal descriptor for a dynamic constant.Modifier and TypeMethodDescriptionstatic MethodTypeDesc
Returns a MethodTypeDesc given the return type and a list of parameter types.ModifierConstructorDescriptionprotected
DynamicConstantDesc
(DirectMethodHandleDesc bootstrapMethod, String constantName, ClassDesc constantType, ConstantDesc... bootstrapArgs) Creates a nominal descriptor for a dynamic constant. -
Uses of ClassDesc in java.lang.invoke
Modifier and TypeMethodDescriptionVarHandle.VarHandleDesc.varType()
Returns aClassDesc
describing the type of the variable described by this descriptor.Modifier and TypeMethodDescriptionstatic VarHandle.VarHandleDesc
Returns a VarHandle.VarHandleDesc corresponding to aVarHandle
for an array type.static VarHandle.VarHandleDesc
Returns a VarHandle.VarHandleDesc corresponding to aVarHandle
for an instance field.static VarHandle.VarHandleDesc
VarHandle.VarHandleDesc.ofStaticField
(ClassDesc declaringClass, String name, ClassDesc fieldType) Returns a VarHandle.VarHandleDesc corresponding to aVarHandle
for a static field.