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

# Uses of Interface
java.lang.constant.ConstantDesc

Packages that use ConstantDesc
Package | Description
--- | ---
java.lang | Provides classes that are fundamental to the design of the Java programming language.
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 ConstantDesc in java.lang

  Classes in java.lang that implement ConstantDesc
  Modifier and Type | Class | Description
  --- | --- | ---
  `class` | `Double` | The `Double` class wraps a value of the primitive type `double` in an object.
  `static class` | `Enum.EnumDesc<E extends Enum<E>>` | A nominal descriptor for an `enum` constant.
  `class` | `Float` | The `Float` class wraps a value of primitive type `float` in an object.
  `class` | `Integer` | The `Integer` class wraps a value of the primitive type `int` in an object.
  `class` | `Long` | The `Long` class wraps a value of the primitive type `long` in an object.
  `class` | `String` | The `String` class represents character strings.

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

  Subinterfaces of ConstantDesc in java.lang.constant
  Modifier and Type | Interface | Description
  --- | --- | ---
  `interface` | `ClassDesc` | A nominal descriptor for a `Class` constant.
  `interface` | `DirectMethodHandleDesc` | A nominal descriptor for a direct `MethodHandle`.
  `interface` | `MethodHandleDesc` | A nominal descriptor for a `MethodHandle` constant.
  `interface` | `MethodTypeDesc` | A nominal descriptor for a MethodType constant.

  Classes in java.lang.constant that implement ConstantDesc
  Modifier and Type | Class | Description
  --- | --- | ---
  `class` | `DynamicConstantDesc<T>` | A nominal descriptor for a dynamic constant (one described in the constant pool with `Constant_Dynamic_info`.)

  Fields in java.lang.constant declared as ConstantDesc
  Modifier and Type | Field | Description
  --- | --- | ---
  `static ConstantDesc` | ConstantDescs.`NULL` | Nominal descriptor representing the constant `null`

  Methods in java.lang.constant that return ConstantDesc
  Modifier and Type | Method | Description
  --- | --- | ---
  `ConstantDesc[]` | DynamicCallSiteDesc.`bootstrapArgs()` | Returns `ConstantDesc`s describing the bootstrap arguments for the `invokedynamic`.
  `ConstantDesc[]` | DynamicConstantDesc.`bootstrapArgs()` | Returns the bootstrap arguments for this constant.
  `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.

  Methods in java.lang.constant that return types with arguments of type ConstantDesc
  Modifier and Type | Method | Description
  --- | --- | ---
  `List<ConstantDesc>` | DynamicConstantDesc.`bootstrapArgsList()` | Returns the bootstrap arguments for this constant as an immutable `List`.
  `Optional<? extends ConstantDesc>` | Constable.`describeConstable()` | Returns an `Optional` containing the nominal descriptor for this instance, if one can be constructed, or an empty `Optional` if one cannot be constructed.

  Methods in java.lang.constant with parameters of type ConstantDesc
  Modifier and Type | Method | Description
  --- | --- | ---
  `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, 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.
  `DynamicCallSiteDesc` | DynamicCallSiteDesc.`withArgs​(ConstantDesc... bootstrapArgs)` | Returns a nominal descriptor for an `invokedynamic` call site whose bootstrap method, name, and invocation type are the same as this one, but with the specified bootstrap arguments.

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

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

  Classes in java.lang.invoke that implement ConstantDesc
  Modifier and Type | Class | Description
  --- | --- | ---
  `static class` | `VarHandle.VarHandleDesc` | A nominal descriptor for a `VarHandle` constant.