Uses of Interface java.lang.constant.ClassDesc (Java SE 23 & JDK 23)
Description: use: module: java.base, package: java.lang.constant, interface: ClassDesc

# Uses of Interface
java.lang.constant.ClassDesc

Packages that use ClassDesc
Package
Description
java.lang
Provides classes that are fundamental to the design of the Java programming language.
java.lang.classfile
Provides classfile parsing, generation, and transformation library.
java.lang.classfile.attribute
Provides interfaces describing classfile attributes for the `java.lang.classfile`PREVIEW library.
java.lang.classfile.components
Provides specific components, transformations, and tools built on top of the `java.lang.classfile`PREVIEW library.
java.lang.classfile.constantpool
Provides interfaces describing classfile constant pool entries for the `java.lang.classfile`PREVIEW library.
java.lang.classfile.instruction
Provides interfaces describing code instructions for the `java.lang.classfile`PREVIEW library.
java.lang.constant
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.
java.lang.invoke
The `java.lang.invoke` package provides low-level primitives for interacting with the Java Virtual Machine.

- ## Uses of ClassDesc in java.lang

  Methods in java.lang that return types with arguments of type ClassDesc
  Modifier and Type
  Method
  Description
  `Optional<ClassDesc>`
  Class.`describeConstable()`
  Returns a nominal descriptor for this instance, if one can be constructed, or an empty `Optional` if one cannot be.
  Methods in java.lang with parameters of type ClassDesc
  Modifier and Type
  Method
  Description
  `static <E extends Enum<E>>
  Enum.EnumDesc<E>`
  Enum.EnumDesc.`of(ClassDesc enumClass, String constantName)`
  Returns a nominal descriptor for the specified `enum` class and name

- ## Uses of ClassDesc in java.lang.classfilePREVIEW

  Methods in java.lang.classfilePREVIEW that return ClassDesc
  Modifier and Type
  Method
  Description
  `default 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.
  Methods in java.lang.classfilePREVIEW with parameters of type ClassDesc
  Modifier and Type
  Method
  Description
  `default CodeBuilderPREVIEW`
  CodeBuilder.`anewarray(ClassDesc className)`
  Generate an instruction to create a new array of reference
  `default byte[]`
  ClassFile.`build(ClassDesc thisClass, Consumer<? super ClassBuilderPREVIEW> handler)`
  Build a classfile into a byte array.
  `default void`
  ClassFile.`buildTo(Path path, ClassDesc thisClass, Consumer<ClassBuilderPREVIEW> handler)`
  Build a classfile into a file.
  `CodeBuilder.CatchBuilderPREVIEW`
  CodeBuilder.CatchBuilder.`catching(ClassDesc exceptionType, Consumer<CodeBuilder.BlockCodeBuilderPREVIEW> catchHandler)`
  Adds a catch block that catches an exception of the given type.
  `default CodeBuilderPREVIEW`
  CodeBuilder.`checkcast(ClassDesc type)`
  Generate an instruction to check whether an object is of the given type
  `default CodeBuilderPREVIEW`
  CodeBuilder.`exceptionCatch(LabelPREVIEW start, LabelPREVIEW end, LabelPREVIEW handler, ClassDesc catchType)`
  Declare an exception table entry
  `default CodeBuilderPREVIEW`
  CodeBuilder.`fieldAccess(OpcodePREVIEW opcode, ClassDesc owner, String name, ClassDesc type)`
  Generate an instruction to access a field
  `ClassHierarchyResolver.ClassHierarchyInfoPREVIEW`
  ClassHierarchyResolver.`getClassInfo(ClassDesc classDesc)`
  Returns the `ClassHierarchyResolver.ClassHierarchyInfo`PREVIEW for a given class name, or null if the name is unknown to the resolver.
  `default CodeBuilderPREVIEW`
  CodeBuilder.`getfield(ClassDesc owner, String name, ClassDesc type)`
  Generate an instruction to fetch field from an object
  `default CodeBuilderPREVIEW`
  CodeBuilder.`getstatic(ClassDesc owner, String name, ClassDesc type)`
  Generate an instruction to get static field from a class
  `default CodeBuilderPREVIEW`
  CodeBuilder.`instanceOf(ClassDesc target)`
  Generate an instruction to determine if an object is of the given type
  `default CodeBuilderPREVIEW`
  CodeBuilder.`invoke(OpcodePREVIEW opcode, ClassDesc owner, String name, MethodTypeDesc desc, boolean isInterface)`
  Generate an instruction to invoke a method or constructor
  `default CodeBuilderPREVIEW`
  CodeBuilder.`invokeinterface(ClassDesc owner, String name, MethodTypeDesc type)`
  Generate an instruction to invoke an interface method
  `default 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 supertypes
  `default 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 supertypes
  `default CodeBuilderPREVIEW`
  CodeBuilder.`invokestatic(ClassDesc owner, String name, MethodTypeDesc type)`
  Generate an instruction to invoke a class (static) method
  `default CodeBuilderPREVIEW`
  CodeBuilder.`invokestatic(ClassDesc owner, String name, MethodTypeDesc type, boolean isInterface)`
  Generate an instruction to invoke a class (static) method
  `default CodeBuilderPREVIEW`
  CodeBuilder.`invokevirtual(ClassDesc owner, String name, MethodTypeDesc type)`
  Generate an instruction to invoke an instance method; dispatch based on class
  `default CodeBuilderPREVIEW`
  CodeBuilder.`localVariable(int slot, String name, ClassDesc descriptor, LabelPREVIEW startScope, LabelPREVIEW endScope)`
  Declare a local variable entry
  `default CodeBuilderPREVIEW`
  CodeBuilder.`multianewarray(ClassDesc array, int dims)`
  Generate an instruction to create a new multidimensional array
  `default CodeBuilderPREVIEW`
  CodeBuilder.`new_(ClassDesc clazz)`
  Generate an instruction to create a new object
  `static 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`
  Signature.BaseTypeSig.`of(ClassDesc classDesc)`
  Returns the signature of a primitive type or void.
  `static Signature.ClassTypeSigPREVIEW`
  Signature.ClassTypeSig.`of(Signature.ClassTypeSigPREVIEW outerType, ClassDesc className, Signature.TypeArgPREVIEW... typeArgs)`
  Returns a class type signature for an inner class.
  `static Signature.ClassTypeSigPREVIEW`
  Signature.ClassTypeSig.`of(ClassDesc className, Signature.TypeArgPREVIEW... typeArgs)`
  Returns a class type signature.
  `static SignaturePREVIEW`
  Signature.`of(ClassDesc classDesc)`
  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`
  AnnotationElement.`ofClass(String name, ClassDesc value)`
  Returns an annotation key-value pair for a class-valued annotation.
  `static AnnotationValue.OfClassPREVIEW`
  AnnotationValue.`ofClass(ClassDesc className)`
  Returns an annotation element for a class-valued element.
  `static ClassHierarchyResolver.ClassHierarchyInfoPREVIEW`
  ClassHierarchyResolver.ClassHierarchyInfo.`ofClass(ClassDesc superClass)`
  Indicates that a class is a declared class, with the specific given super class.
  `static AnnotationValue.OfEnumPREVIEW`
  AnnotationValue.`ofEnum(ClassDesc className, String constantName)`
  Returns an annotation element for a enum-valued element.
  `static InterfacesPREVIEW`
  Interfaces.`ofSymbols(ClassDesc... interfaces)`
  Returns an InterfacesPREVIEW element.
  `default CodeBuilderPREVIEW`
  CodeBuilder.`putfield(ClassDesc owner, String name, ClassDesc type)`
  Generate an instruction to set field in an object
  `default CodeBuilderPREVIEW`
  CodeBuilder.`putstatic(ClassDesc owner, String name, ClassDesc type)`
  Generate an instruction to set static field in a class
  `default byte[]`
  ClassFile.`transform(ClassModelPREVIEW model, ClassDesc newClassName, ClassTransformPREVIEW transform)`
  Transform one classfile into a new classfile with the aid of a `ClassTransform`PREVIEW.
  `default ClassBuilderPREVIEW`
  ClassBuilder.`withField(String name, ClassDesc descriptor, int flags)`
  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.
  Method parameters in java.lang.classfilePREVIEW with type arguments of type ClassDesc
  Modifier and Type
  Method
  Description
  `default ClassHierarchyResolverPREVIEW`
  ClassHierarchyResolver.`cached(Supplier<Map<ClassDesc,ClassHierarchyResolver.ClassHierarchyInfoPREVIEW>> cacheFactory)`
  Returns a ClassHierarchyResolver that caches class hierarchy information from this resolver.
  `CodeBuilder.CatchBuilderPREVIEW`
  CodeBuilder.CatchBuilder.`catchingMulti(List<ClassDesc> exceptionTypes, Consumer<CodeBuilder.BlockCodeBuilderPREVIEW> catchHandler)`
  Adds a catch block that catches exceptions of the given types.
  `static ClassHierarchyResolverPREVIEW`
  ClassHierarchyResolver.`of(Collection<ClassDesc> interfaces, Map<ClassDesc,ClassDesc> classToSuperClass)`
  Returns a ClassHierarchyResolverPREVIEW that extracts class hierarchy information from collections of class hierarchy metadata
  `static ClassHierarchyResolverPREVIEW`
  ClassHierarchyResolver.`of(Collection<ClassDesc> interfaces, Map<ClassDesc,ClassDesc> classToSuperClass)`
  Returns a ClassHierarchyResolverPREVIEW that extracts class hierarchy information from collections of class hierarchy metadata
  `static ClassHierarchyResolverPREVIEW`
  ClassHierarchyResolver.`of(Collection<ClassDesc> interfaces, Map<ClassDesc,ClassDesc> classToSuperClass)`
  Returns a ClassHierarchyResolverPREVIEW that extracts class hierarchy information from collections of class hierarchy metadata
  `static ClassHierarchyResolverPREVIEW`
  ClassHierarchyResolver.`ofResourceParsing(Function<ClassDesc,InputStream> classStreamResolver)`
  Returns a ClassHierarchyResolverPREVIEW that extracts class hierarchy information from classfiles located by a mapping function.
  `static InterfacesPREVIEW`
  Interfaces.`ofSymbols(List<ClassDesc> interfaces)`
  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

  Methods in java.lang.classfile.attributePREVIEW that return ClassDesc
  Modifier and Type
  Method
  Description
  `default 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.
  Methods in java.lang.classfile.attributePREVIEW with parameters of type ClassDesc
  Modifier and Type
  Method
  Description
  `static EnclosingMethodAttributePREVIEW`
  EnclosingMethodAttribute.`of(ClassDesc className, Optional<String> methodName, Optional<MethodTypeDesc> methodType)`
  Returns an `EnclosingMethod` 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.
  `static ModuleMainClassAttributePREVIEW`
  ModuleMainClassAttribute.`of(ClassDesc mainClass)`
  Returns a `ModuleMainClass` attribute.
  `static ModuleProvideInfoPREVIEW`
  ModuleProvideInfo.`of(ClassDesc provides, ClassDesc... providesWith)`
  Returns a service provision description.
  `static ModuleProvideInfoPREVIEW`
  ModuleProvideInfo.`of(ClassDesc provides, List<ClassDesc> providesWith)`
  Returns a service provision description.
  `static NestHostAttributePREVIEW`
  NestHostAttribute.`of(ClassDesc nestHost)`
  Returns a `NestHost` attribute.
  `static RecordComponentInfoPREVIEW`
  RecordComponentInfo.`of(String name, ClassDesc descriptor, AttributePREVIEW<?>... attributes)`
  Returns a record component description.
  `static RecordComponentInfoPREVIEW`
  RecordComponentInfo.`of(String name, ClassDesc descriptor, List<AttributePREVIEW<?>> attributes)`
  Returns a record component description.
  `static StackMapFrameInfo.ObjectVerificationTypeInfoPREVIEW`
  StackMapFrameInfo.ObjectVerificationTypeInfo.`of(ClassDesc classDesc)`
  Returns a new object verification type info.
  `static ExceptionsAttributePREVIEW`
  ExceptionsAttribute.`ofSymbols(ClassDesc... exceptions)`
  Returns an `Exceptions` attribute.
  `static NestMembersAttributePREVIEW`
  NestMembersAttribute.`ofSymbols(ClassDesc... nestMembers)`
  Returns a `NestMembers` attribute.
  `static PermittedSubclassesAttributePREVIEW`
  PermittedSubclassesAttribute.`ofSymbols(ClassDesc... permittedSubclasses)`
  Returns a `PermittedSubclasses` attribute.
  `ModuleAttribute.ModuleAttributeBuilderPREVIEW`
  ModuleAttribute.ModuleAttributeBuilder.`provides(ClassDesc service, ClassDesc... implClasses)`
  Declares provision of a service
  `ModuleAttribute.ModuleAttributeBuilderPREVIEW`
  ModuleAttribute.ModuleAttributeBuilder.`uses(ClassDesc service)`
  Declares use of a service
  Method parameters in java.lang.classfile.attributePREVIEW with type arguments of type ClassDesc
  Modifier and Type
  Method
  Description
  `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.
  `static ModuleProvideInfoPREVIEW`
  ModuleProvideInfo.`of(ClassDesc provides, List<ClassDesc> providesWith)`
  Returns a service provision description.
  `static ExceptionsAttributePREVIEW`
  ExceptionsAttribute.`ofSymbols(List<ClassDesc> exceptions)`
  Returns an `Exceptions` attribute.
  `static NestMembersAttributePREVIEW`
  NestMembersAttribute.`ofSymbols(List<ClassDesc> nestMembers)`
  Returns a `NestMembers` attribute.
  `static PermittedSubclassesAttributePREVIEW`
  PermittedSubclassesAttribute.`ofSymbols(List<ClassDesc> permittedSubclasses)`
  Returns a `PermittedSubclasses` attribute.

- ## Uses of ClassDesc in java.lang.classfile.componentsPREVIEW

  Methods in java.lang.classfile.componentsPREVIEW that return ClassDesc
  Modifier and Type
  Method
  Description
  `ClassDesc`
  ClassRemapper.`map(ClassDesc desc)`
  Access method to internal class mapping function.
  Methods in java.lang.classfile.componentsPREVIEW with parameters of type ClassDesc
  Modifier and Type
  Method
  Description
  `ClassDesc`
  ClassRemapper.`map(ClassDesc desc)`
  Access method to internal class mapping function.
  Method parameters in java.lang.classfile.componentsPREVIEW with type arguments of type ClassDesc
  Modifier and Type
  Method
  Description
  `static ClassRemapperPREVIEW`
  ClassRemapper.`of(Function<ClassDesc,ClassDesc> mapFunction)`
  Creates new instance of `ClassRemapper` instructed with a map function.
  `static ClassRemapperPREVIEW`
  ClassRemapper.`of(Function<ClassDesc,ClassDesc> mapFunction)`
  Creates new instance of `ClassRemapper` instructed with a map function.
  `static ClassRemapperPREVIEW`
  ClassRemapper.`of(Map<ClassDesc,ClassDesc> classMap)`
  Creates new instance of `ClassRemapper` instructed with a class map.
  `static ClassRemapperPREVIEW`
  ClassRemapper.`of(Map<ClassDesc,ClassDesc> classMap)`
  Creates new instance of `ClassRemapper` instructed with a class map.

- ## Uses of ClassDesc in java.lang.classfile.constantpoolPREVIEW

  Methods in java.lang.classfile.constantpoolPREVIEW that return ClassDesc
  Modifier and Type
  Method
  Description
  `ClassDesc`
  ClassEntry.`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.
  Methods in java.lang.classfile.constantpoolPREVIEW with parameters of type ClassDesc
  Modifier and Type
  Method
  Description
  `default ClassEntryPREVIEW`
  ConstantPoolBuilder.`classEntry(ClassDesc classDesc)`
  Returns A `ClassEntry`PREVIEW describing the class described by provided ClassDesc.
  `default FieldRefEntryPREVIEW`
  ConstantPoolBuilder.`fieldRefEntry(ClassDesc owner, String name, ClassDesc type)`
  Returns A `FieldRefEntry`PREVIEW describing a field of a class.
  `default InterfaceMethodRefEntryPREVIEW`
  ConstantPoolBuilder.`interfaceMethodRefEntry(ClassDesc owner, String name, MethodTypeDesc type)`
  Returns A `InterfaceMethodRefEntry`PREVIEW describing a method of a class.
  `default MethodRefEntryPREVIEW`
  ConstantPoolBuilder.`methodRefEntry(ClassDesc owner, String name, MethodTypeDesc type)`
  Returns A `MethodRefEntry`PREVIEW describing a method of a class.
  `default NameAndTypeEntryPREVIEW`
  ConstantPoolBuilder.`nameAndTypeEntry(String name, ClassDesc type)`
  Returns A `NameAndTypeEntry`PREVIEW describing the provided name and type.
  `default Utf8EntryPREVIEW`
  ConstantPoolBuilder.`utf8Entry(ClassDesc desc)`
  Returns A `Utf8Entry`PREVIEW describing the field descriptor of the provided ClassDesc.

- ## Uses of ClassDesc in java.lang.classfile.instructionPREVIEW

  Methods in java.lang.classfile.instructionPREVIEW that return ClassDesc
  Modifier and Type
  Method
  Description
  `default 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.
  Methods in java.lang.classfile.instructionPREVIEW with parameters of type ClassDesc
  Modifier and Type
  Method
  Description
  `static LocalVariablePREVIEW`
  LocalVariable.`of(int slot, String name, ClassDesc descriptor, LabelPREVIEW startScope, LabelPREVIEW endScope)`
  Returns a local variable pseudo-instruction.
  `static TypeCheckInstructionPREVIEW`
  TypeCheckInstruction.`of(OpcodePREVIEW op, ClassDesc type)`
  Returns a type check instruction.

- ## Uses of ClassDesc in java.lang.constant

  Subinterfaces with type arguments of type ClassDesc in java.lang.constant
  Modifier and Type
  Interface
  Description
  `interface`
  `ClassDesc`
  A nominal descriptor for a `Class` constant.
  `interface`
  `MethodTypeDesc`
  A nominal descriptor for a MethodType constant.
  Fields in java.lang.constant declared as ClassDesc
  Modifier and Type
  Field
  Description
  `static final ClassDesc`
  ConstantDescs.`CD_boolean`
  `ClassDesc` representing the primitive type `boolean`
  `static final ClassDesc`
  ConstantDescs.`CD_Boolean`
  `ClassDesc` representing `Boolean`
  `static final ClassDesc`
  ConstantDescs.`CD_byte`
  `ClassDesc` representing the primitive type `byte`
  `static final ClassDesc`
  ConstantDescs.`CD_Byte`
  `ClassDesc` representing `Byte`
  `static final ClassDesc`
  ConstantDescs.`CD_CallSite`
  `ClassDesc` representing `CallSite`
  `static final ClassDesc`
  ConstantDescs.`CD_char`
  `ClassDesc` representing the primitive type `char`
  `static final ClassDesc`
  ConstantDescs.`CD_Character`
  `ClassDesc` representing `Character`
  `static final ClassDesc`
  ConstantDescs.`CD_Class`
  `ClassDesc` representing `Class`
  `static final ClassDesc`
  ConstantDescs.`CD_ClassDesc`
  `ClassDesc` representing `ClassDesc`
  `static final ClassDesc`
  ConstantDescs.`CD_Collection`
  `ClassDesc` representing `Collection`
  `static final ClassDesc`
  ConstantDescs.`CD_ConstantBootstraps`
  `ClassDesc` representing `ConstantBootstraps`
  `static final ClassDesc`
  ConstantDescs.`CD_ConstantDesc`
  `ClassDesc` representing `ConstantDesc`
  `static final ClassDesc`
  ConstantDescs.`CD_DirectMethodHandleDesc`
  `ClassDesc` representing `DirectMethodHandleDesc`
  `static final ClassDesc`
  ConstantDescs.`CD_double`
  `ClassDesc` representing the primitive type `double`
  `static final ClassDesc`
  ConstantDescs.`CD_Double`
  `ClassDesc` representing `Double`
  `static final ClassDesc`
  ConstantDescs.`CD_DynamicCallSiteDesc`
  `ClassDesc` representing `DynamicCallSiteDesc`
  `static final ClassDesc`
  ConstantDescs.`CD_DynamicConstantDesc`
  `ClassDesc` representing `DynamicConstantDesc`
  `static final ClassDesc`
  ConstantDescs.`CD_Enum`
  `ClassDesc` representing `Enum`
  `static final ClassDesc`
  ConstantDescs.`CD_EnumDesc`
  `ClassDesc` representing `Enum.EnumDesc`
  `static final ClassDesc`
  ConstantDescs.`CD_Exception`
  `ClassDesc` representing `Exception`
  `static final ClassDesc`
  ConstantDescs.`CD_float`
  `ClassDesc` representing the primitive type `float`
  `static final ClassDesc`
  ConstantDescs.`CD_Float`
  `ClassDesc` representing `Float`
  `static final ClassDesc`
  ConstantDescs.`CD_int`
  `ClassDesc` representing the primitive type `int`
  `static final ClassDesc`
  ConstantDescs.`CD_Integer`
  `ClassDesc` representing `Integer`
  `static final ClassDesc`
  ConstantDescs.`CD_List`
  `ClassDesc` representing `List`
  `static final ClassDesc`
  ConstantDescs.`CD_long`
  `ClassDesc` representing the primitive type `long`
  `static final ClassDesc`
  ConstantDescs.`CD_Long`
  `ClassDesc` representing `Long`
  `static final ClassDesc`
  ConstantDescs.`CD_Map`
  `ClassDesc` representing `Map`
  `static final ClassDesc`
  ConstantDescs.`CD_MethodHandle`
  `ClassDesc` representing `MethodHandle`
  `static final ClassDesc`
  ConstantDescs.`CD_MethodHandleDesc`
  `ClassDesc` representing `MethodHandleDesc`
  `static final ClassDesc`
  ConstantDescs.`CD_MethodHandleDesc_Kind`
  `ClassDesc` representing `DirectMethodHandleDesc.Kind`
  `static final ClassDesc`
  ConstantDescs.`CD_MethodHandles`
  `ClassDesc` representing `MethodHandles`
  `static final ClassDesc`
  ConstantDescs.`CD_MethodHandles_Lookup`
  `ClassDesc` representing `MethodHandles.Lookup`
  `static final ClassDesc`
  ConstantDescs.`CD_MethodType`
  `ClassDesc` representing `MethodType`
  `static final ClassDesc`
  ConstantDescs.`CD_MethodTypeDesc`
  `ClassDesc` representing `MethodTypeDesc`
  `static final ClassDesc`
  ConstantDescs.`CD_Number`
  `ClassDesc` representing `Number`
  `static final ClassDesc`
  ConstantDescs.`CD_Object`
  `ClassDesc` representing `Object`
  `static final ClassDesc`
  ConstantDescs.`CD_Set`
  `ClassDesc` representing `Set`
  `static final ClassDesc`
  ConstantDescs.`CD_short`
  `ClassDesc` representing the primitive type `short`
  `static final ClassDesc`
  ConstantDescs.`CD_Short`
  `ClassDesc` representing `Short`
  `static final ClassDesc`
  ConstantDescs.`CD_String`
  `ClassDesc` representing `String`
  `static final ClassDesc`
  ConstantDescs.`CD_Throwable`
  `ClassDesc` representing `Throwable`
  `static final ClassDesc`
  ConstantDescs.`CD_VarHandle`
  `ClassDesc` representing `VarHandle`
  `static final ClassDesc`
  ConstantDescs.`CD_VarHandleDesc`
  `ClassDesc` representing `VarHandle.VarHandleDesc`
  `static final ClassDesc`
  ConstantDescs.`CD_void`
  `ClassDesc` representing the primitive type `void`
  `static final ClassDesc`
  ConstantDescs.`CD_Void`
  `ClassDesc` representing `Void`
  Methods in java.lang.constant that return ClassDesc
  Modifier and Type
  Method
  Description
  `default ClassDesc`
  ClassDesc.`arrayType()`
  Returns a ClassDesc for an array type whose component type is described by this ClassDesc.
  `default ClassDesc`
  ClassDesc.`arrayType(int rank)`
  Returns a ClassDesc for an array type of the specified rank, whose component type is described by this ClassDesc.
  `default ClassDesc`
  ClassDesc.`componentType()`
  Returns the component type of this ClassDesc, if it describes an array type, or `null` otherwise.
  `ClassDesc`
  DynamicConstantDesc.`constantType()`
  Returns a `ClassDesc` describing the type that would appear in the `NameAndType` operand of the `LDC` for this constant.
  `default ClassDesc`
  ClassDesc.`nested(String nestedName)`
  Returns a ClassDesc for a nested class of the class or interface type described by this ClassDesc.
  `default ClassDesc`
  ClassDesc.`nested(String firstNestedName, String... moreNestedNames)`
  Returns a ClassDesc for a nested class of the class or interface type described by this ClassDesc.
  `static ClassDesc`
  ClassDesc.`of(String name)`
  Returns a ClassDesc for a class or interface type, given the name of the class or interface, such as `"java.lang.String"`.
  `static ClassDesc`
  ClassDesc.`of(String packageName, String className)`
  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"`.
  `ClassDesc`
  DirectMethodHandleDesc.`owner()`
  Returns a `ClassDesc` describing the class declaring the method or field described by this nominal descriptor.
  `ClassDesc[]`
  MethodTypeDesc.`parameterArray()`
  Returns the parameter types as an array.
  `ClassDesc`
  MethodTypeDesc.`parameterType(int index)`
  Returns the parameter type of the `index`'th parameter of the method type described by this MethodTypeDesc.
  `ClassDesc`
  MethodTypeDesc.`returnType()`
  Gets the return type of the method type described by this MethodTypeDesc.
  Methods in java.lang.constant that return types with arguments of type ClassDesc
  Modifier and Type
  Method
  Description
  `List<ClassDesc>`
  MethodTypeDesc.`parameterList()`
  Returns the parameter types as an immutable `List`.
  Methods in java.lang.constant with parameters of type ClassDesc
  Modifier and Type
  Method
  Description
  `MethodTypeDesc`
  MethodTypeDesc.`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`
  MethodTypeDesc.`changeReturnType(ClassDesc returnType)`
  Returns a MethodTypeDesc that is identical to this one, except with the specified return type.
  `MethodTypeDesc`
  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`
  MethodTypeDesc.`of(ClassDesc returnDesc)`
  Returns a MethodTypeDesc with the given return type and no parameter types.
  `static MethodTypeDesc`
  MethodTypeDesc.`of(ClassDesc returnDesc, ClassDesc... paramDescs)`
  Returns a MethodTypeDesc given the return type and parameter types.
  `static MethodTypeDesc`
  MethodTypeDesc.`of(ClassDesc returnDesc, List<ClassDesc> paramDescs)`
  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 a `MethodHandleDesc` corresponding to a bootstrap method for an `invokedynamic` callsite, which is a static method whose leading parameter types are `Lookup`, `String`, and `MethodType`.
  `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 a `MethodHandleDesc` corresponding to a bootstrap method for a dynamic constant, which is a static method whose leading arguments are `Lookup`, `String`, and `Class`.
  `static DirectMethodHandleDesc`
  MethodHandleDesc.`ofConstructor(ClassDesc owner, ClassDesc... paramTypes)`
  Returns a MethodHandleDesc corresponding to invocation of a constructor
  `static 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.
  Method parameters in java.lang.constant with type arguments of type ClassDesc
  Modifier and Type
  Method
  Description
  `static MethodTypeDesc`
  MethodTypeDesc.`of(ClassDesc returnDesc, List<ClassDesc> paramDescs)`
  Returns a MethodTypeDesc given the return type and a list of parameter types.
  Constructors in java.lang.constant with parameters of type ClassDesc
  Modifier
  Constructor
  Description
  `protected`
  `DynamicConstantDesc(DirectMethodHandleDesc bootstrapMethod, String constantName, ClassDesc constantType, ConstantDesc... bootstrapArgs)`
  Creates a nominal descriptor for a dynamic constant.

- ## Uses of ClassDesc in java.lang.invoke

  Methods in java.lang.invoke that return ClassDesc
  Modifier and Type
  Method
  Description
  `ClassDesc`
  VarHandle.VarHandleDesc.`varType()`
  Returns a `ClassDesc` describing the type of the variable described by this descriptor.
  Methods in java.lang.invoke with parameters of type ClassDesc
  Modifier and Type
  Method
  Description
  `static VarHandle.VarHandleDesc`
  VarHandle.VarHandleDesc.`ofArray(ClassDesc arrayClass)`
  Returns a VarHandle.VarHandleDesc corresponding to a `VarHandle` for an array type.
  `static VarHandle.VarHandleDesc`
  VarHandle.VarHandleDesc.`ofField(ClassDesc declaringClass, String name, ClassDesc fieldType)`
  Returns a VarHandle.VarHandleDesc corresponding to a `VarHandle` for an instance field.
  `static VarHandle.VarHandleDesc`
  VarHandle.VarHandleDesc.`ofStaticField(ClassDesc declaringClass, String name, ClassDesc fieldType)`
  Returns a VarHandle.VarHandleDesc corresponding to a `VarHandle` for a static field.