# Uses of Interface
java.lang.constant.DirectMethodHandleDesc

Packages that use DirectMethodHandleDesc
Package | Description
--- | ---
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.

## Uses of DirectMethodHandleDesc in java.lang.constant

Fields in java.lang.constant declared as DirectMethodHandleDesc
Modifier and Type | Field | Description
--- | --- | ---
`static DirectMethodHandleDesc` | ConstantDescs.`BSM_ENUM_CONSTANT` | `MethodHandleDesc` representing `ConstantBootstraps.enumConstant`
`static DirectMethodHandleDesc` | ConstantDescs.`BSM_INVOKE` | `MethodHandleDesc` representing `ConstantBootstraps.invoke`
`static DirectMethodHandleDesc` | ConstantDescs.`BSM_NULL_CONSTANT` | `MethodHandleDesc` representing `ConstantBootstraps.nullConstant`
`static DirectMethodHandleDesc` | ConstantDescs.`BSM_PRIMITIVE_CLASS` | `MethodHandleDesc` representing `ConstantBootstraps.primitiveClass`
`static DirectMethodHandleDesc` | ConstantDescs.`BSM_VARHANDLE_ARRAY` | `MethodHandleDesc` representing `ConstantBootstraps.arrayVarHandle`
`static DirectMethodHandleDesc` | ConstantDescs.`BSM_VARHANDLE_FIELD` | `MethodHandleDesc` representing `ConstantBootstraps.fieldVarHandle`
`static DirectMethodHandleDesc` | ConstantDescs.`BSM_VARHANDLE_STATIC_FIELD` | `MethodHandleDesc` representing `ConstantBootstraps.staticVarHandle`

Methods in java.lang.constant that return DirectMethodHandleDesc
Modifier and Type | Method | Description
--- | --- | ---
`DirectMethodHandleDesc` | DynamicConstantDesc.`bootstrapMethod()` | Returns a `MethodHandleDesc` describing the bootstrap method for this constant.
`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 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 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.

Methods in java.lang.constant with parameters of type DirectMethodHandleDesc
Modifier and Type | Method | Description
--- | --- | ---
`static DynamicCallSiteDesc` | DynamicCallSiteDesc.`of​(DirectMethodHandleDesc bootstrapMethod, MethodTypeDesc invocationType)` | Creates a nominal descriptor for an `invokedynamic` call site whose bootstrap method has no static arguments and for which the name parameter is `ConstantDescs.DEFAULT_NAME`.
`static DynamicCallSiteDesc` | DynamicCallSiteDesc.`of​(DirectMethodHandleDesc bootstrapMethod, String invocationName, MethodTypeDesc invocationType)` | Creates a nominal descriptor for an `invokedynamic` call site whose bootstrap method has no static arguments.
`static DynamicCallSiteDesc` | DynamicCallSiteDesc.`of​(DirectMethodHandleDesc bootstrapMethod, String invocationName, MethodTypeDesc invocationType, ConstantDesc... bootstrapArgs)` | Creates a nominal descriptor for an `invokedynamic` call site.
`static <T> DynamicConstantDesc<T>` | DynamicConstantDesc.`of​(DirectMethodHandleDesc bootstrapMethod)` | Returns a nominal descriptor for a dynamic constant whose bootstrap has no static arguments, whose name parameter is `ConstantDescs.DEFAULT_NAME`, and whose type parameter is always the same as the bootstrap method return type.
`static <T> DynamicConstantDesc<T>` | DynamicConstantDesc.`of​(DirectMethodHandleDesc bootstrapMethod, ConstantDesc... bootstrapArgs)` | Returns a nominal descriptor for a dynamic constant whose name parameter is `ConstantDescs.DEFAULT_NAME`, and whose type parameter is always the same as the bootstrap method return type.
`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 <T> DynamicConstantDesc<T>` | DynamicConstantDesc.`ofNamed​(DirectMethodHandleDesc bootstrapMethod, String constantName, ClassDesc constantType, ConstantDesc... bootstrapArgs)` | Returns a nominal descriptor for a dynamic constant.

Constructors in java.lang.constant with parameters of type DirectMethodHandleDesc
Constructor | Description
--- | ---
`DynamicConstantDesc​(DirectMethodHandleDesc bootstrapMethod, String constantName, ClassDesc constantType, ConstantDesc... bootstrapArgs)` | Creates a nominal descriptor for a dynamic constant.