Module java.base
Package java.lang.constant

# Class ConstantDescs

java.lang.Object
java.lang.constant.ConstantDescs

    public final class ConstantDescs
    extends Object

Predefined values of nominal descriptor for common constants, including descriptors for primitive class types and other common platform types, and descriptors for method handles for standard bootstrap methods.

Since:
  12
See Also:
  `ConstantDesc`

## Field Summary

Fields
Modifier and Type | Field | Description
--- | --- | ---
`static DirectMethodHandleDesc` | `BSM_ENUM_CONSTANT` | `MethodHandleDesc` representing `ConstantBootstraps.enumConstant`
`static DirectMethodHandleDesc` | `BSM_INVOKE` | `MethodHandleDesc` representing `ConstantBootstraps.invoke`
`static DirectMethodHandleDesc` | `BSM_NULL_CONSTANT` | `MethodHandleDesc` representing `ConstantBootstraps.nullConstant`
`static DirectMethodHandleDesc` | `BSM_PRIMITIVE_CLASS` | `MethodHandleDesc` representing `ConstantBootstraps.primitiveClass`
`static DirectMethodHandleDesc` | `BSM_VARHANDLE_ARRAY` | `MethodHandleDesc` representing `ConstantBootstraps.arrayVarHandle`
`static DirectMethodHandleDesc` | `BSM_VARHANDLE_FIELD` | `MethodHandleDesc` representing `ConstantBootstraps.fieldVarHandle`
`static DirectMethodHandleDesc` | `BSM_VARHANDLE_STATIC_FIELD` | `MethodHandleDesc` representing `ConstantBootstraps.staticVarHandle`
`static ClassDesc` | `CD_boolean` | `ClassDesc` representing the primitive type `boolean`
`static ClassDesc` | `CD_Boolean` | `ClassDesc` representing `Boolean`
`static ClassDesc` | `CD_byte` | `ClassDesc` representing the primitive type `byte`
`static ClassDesc` | `CD_Byte` | `ClassDesc` representing `Byte`
`static ClassDesc` | `CD_CallSite` | `ClassDesc` representing `CallSite`
`static ClassDesc` | `CD_char` | `ClassDesc` representing the primitive type `char`
`static ClassDesc` | `CD_Character` | `ClassDesc` representing `Character`
`static ClassDesc` | `CD_Class` | `ClassDesc` representing `Class`
`static ClassDesc` | `CD_ClassDesc` | `ClassDesc` representing `ClassDesc`
`static ClassDesc` | `CD_Collection` | `ClassDesc` representing `Collection`
`static ClassDesc` | `CD_ConstantBootstraps` | `ClassDesc` representing `ConstantBootstraps`
`static ClassDesc` | `CD_ConstantDesc` | `ClassDesc` representing `ConstantDesc`
`static ClassDesc` | `CD_DirectMethodHandleDesc` | `ClassDesc` representing `DirectMethodHandleDesc`
`static ClassDesc` | `CD_double` | `ClassDesc` representing the primitive type `double`
`static ClassDesc` | `CD_Double` | `ClassDesc` representing `Double`
`static ClassDesc` | `CD_DynamicCallSiteDesc` | `ClassDesc` representing `DynamicCallSiteDesc`
`static ClassDesc` | `CD_DynamicConstantDesc` | `ClassDesc` representing `DynamicConstantDesc`
`static ClassDesc` | `CD_Enum` | `ClassDesc` representing `Enum`
`static ClassDesc` | `CD_EnumDesc` | `ClassDesc` representing `Enum.EnumDesc`
`static ClassDesc` | `CD_Exception` | `ClassDesc` representing `Exception`
`static ClassDesc` | `CD_float` | `ClassDesc` representing the primitive type `float`
`static ClassDesc` | `CD_Float` | `ClassDesc` representing `Float`
`static ClassDesc` | `CD_int` | `ClassDesc` representing the primitive type `int`
`static ClassDesc` | `CD_Integer` | `ClassDesc` representing `Integer`
`static ClassDesc` | `CD_List` | `ClassDesc` representing `List`
`static ClassDesc` | `CD_long` | `ClassDesc` representing the primitive type `long`
`static ClassDesc` | `CD_Long` | `ClassDesc` representing `Long`
`static ClassDesc` | `CD_Map` | `ClassDesc` representing `Map`
`static ClassDesc` | `CD_MethodHandle` | `ClassDesc` representing `MethodHandle`
`static ClassDesc` | `CD_MethodHandleDesc` | `ClassDesc` representing `MethodHandleDesc`
`static ClassDesc` | `CD_MethodHandleDesc_Kind` | `ClassDesc` representing `DirectMethodHandleDesc.Kind`
`static ClassDesc` | `CD_MethodHandles` | `ClassDesc` representing `MethodHandles`
`static ClassDesc` | `CD_MethodHandles_Lookup` | `ClassDesc` representing `MethodHandles.Lookup`
`static ClassDesc` | `CD_MethodType` | `ClassDesc` representing `MethodType`
`static ClassDesc` | `CD_MethodTypeDesc` | `ClassDesc` representing `MethodTypeDesc`
`static ClassDesc` | `CD_Number` | `ClassDesc` representing `Number`
`static ClassDesc` | `CD_Object` | `ClassDesc` representing `Object`
`static ClassDesc` | `CD_Set` | `ClassDesc` representing `Set`
`static ClassDesc` | `CD_short` | `ClassDesc` representing the primitive type `short`
`static ClassDesc` | `CD_Short` | `ClassDesc` representing `Short`
`static ClassDesc` | `CD_String` | `ClassDesc` representing `String`
`static ClassDesc` | `CD_Throwable` | `ClassDesc` representing `Throwable`
`static ClassDesc` | `CD_VarHandle` | `ClassDesc` representing `VarHandle`
`static ClassDesc` | `CD_VarHandleDesc` | `ClassDesc` representing `VarHandle.VarHandleDesc`
`static ClassDesc` | `CD_void` | `ClassDesc` representing the primitive type `void`
`static ClassDesc` | `CD_Void` | `ClassDesc` representing `Void`
`static String` | `DEFAULT_NAME` | Invocation name to use when no name is needed, such as the name of a constructor, or the invocation name of a dynamic constant or dynamic callsite when the bootstrap is known to ignore the invocation name.
`static ConstantDesc` | `NULL` | Nominal descriptor representing the constant `null`

## Method Summary

Modifier and Type | Method | Description
--- | --- | ---
`static DirectMethodHandleDesc` | `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` | `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`.

### Methods declared in class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### DEFAULT_NAME

public static final String DEFAULT_NAME
Invocation name to use when no name is needed, such as the name of a constructor, or the invocation name of a dynamic constant or dynamic callsite when the bootstrap is known to ignore the invocation name.

See Also:
  Constant Field Values

### CD_Object

public static final ClassDesc CD_Object
`ClassDesc` representing `Object`

### CD_String

public static final ClassDesc CD_String
`ClassDesc` representing `String`

### CD_Class

public static final ClassDesc CD_Class
`ClassDesc` representing `Class`

### CD_Number

public static final ClassDesc CD_Number
`ClassDesc` representing `Number`

### CD_Integer

public static final ClassDesc CD_Integer
`ClassDesc` representing `Integer`

### CD_Long

public static final ClassDesc CD_Long
`ClassDesc` representing `Long`

### CD_Float

public static final ClassDesc CD_Float
`ClassDesc` representing `Float`

### CD_Double

public static final ClassDesc CD_Double
`ClassDesc` representing `Double`

### CD_Short

public static final ClassDesc CD_Short
`ClassDesc` representing `Short`

### CD_Byte

public static final ClassDesc CD_Byte
`ClassDesc` representing `Byte`

### CD_Character

public static final ClassDesc CD_Character
`ClassDesc` representing `Character`

### CD_Boolean

public static final ClassDesc CD_Boolean
`ClassDesc` representing `Boolean`

### CD_Void

public static final ClassDesc CD_Void
`ClassDesc` representing `Void`

### CD_Throwable

public static final ClassDesc CD_Throwable
`ClassDesc` representing `Throwable`

### CD_Exception

public static final ClassDesc CD_Exception
`ClassDesc` representing `Exception`

### CD_Enum

public static final ClassDesc CD_Enum
`ClassDesc` representing `Enum`

### CD_VarHandle

public static final ClassDesc CD_VarHandle
`ClassDesc` representing `VarHandle`

### CD_MethodHandles

public static final ClassDesc CD_MethodHandles
`ClassDesc` representing `MethodHandles`

### CD_MethodHandles_Lookup

public static final ClassDesc CD_MethodHandles_Lookup
`ClassDesc` representing `MethodHandles.Lookup`

### CD_MethodHandle

public static final ClassDesc CD_MethodHandle
`ClassDesc` representing `MethodHandle`

### CD_MethodType

public static final ClassDesc CD_MethodType
`ClassDesc` representing `MethodType`

### CD_CallSite

public static final ClassDesc CD_CallSite
`ClassDesc` representing `CallSite`

### CD_Collection

public static final ClassDesc CD_Collection
`ClassDesc` representing `Collection`

### CD_List

public static final ClassDesc CD_List
`ClassDesc` representing `List`

### CD_Set

public static final ClassDesc CD_Set
`ClassDesc` representing `Set`

### CD_Map

public static final ClassDesc CD_Map
`ClassDesc` representing `Map`

### CD_ConstantDesc

public static final ClassDesc CD_ConstantDesc
`ClassDesc` representing `ConstantDesc`

### CD_ClassDesc

public static final ClassDesc CD_ClassDesc
`ClassDesc` representing `ClassDesc`

### CD_EnumDesc

public static final ClassDesc CD_EnumDesc
`ClassDesc` representing `Enum.EnumDesc`

### CD_MethodTypeDesc

public static final ClassDesc CD_MethodTypeDesc
`ClassDesc` representing `MethodTypeDesc`

### CD_MethodHandleDesc

public static final ClassDesc CD_MethodHandleDesc
`ClassDesc` representing `MethodHandleDesc`

### CD_DirectMethodHandleDesc

public static final ClassDesc CD_DirectMethodHandleDesc
`ClassDesc` representing `DirectMethodHandleDesc`

### CD_VarHandleDesc

public static final ClassDesc CD_VarHandleDesc
`ClassDesc` representing `VarHandle.VarHandleDesc`

### CD_MethodHandleDesc_Kind

public static final ClassDesc CD_MethodHandleDesc_Kind
`ClassDesc` representing `DirectMethodHandleDesc.Kind`

### CD_DynamicConstantDesc

public static final ClassDesc CD_DynamicConstantDesc
`ClassDesc` representing `DynamicConstantDesc`

### CD_DynamicCallSiteDesc

public static final ClassDesc CD_DynamicCallSiteDesc
`ClassDesc` representing `DynamicCallSiteDesc`

### CD_ConstantBootstraps

public static final ClassDesc CD_ConstantBootstraps
`ClassDesc` representing `ConstantBootstraps`

### BSM_PRIMITIVE_CLASS

public static final DirectMethodHandleDesc BSM_PRIMITIVE_CLASS
`MethodHandleDesc` representing `ConstantBootstraps.primitiveClass`

### BSM_ENUM_CONSTANT

public static final DirectMethodHandleDesc BSM_ENUM_CONSTANT
`MethodHandleDesc` representing `ConstantBootstraps.enumConstant`

### BSM_NULL_CONSTANT

public static final DirectMethodHandleDesc BSM_NULL_CONSTANT
`MethodHandleDesc` representing `ConstantBootstraps.nullConstant`

### BSM_VARHANDLE_FIELD

public static final DirectMethodHandleDesc BSM_VARHANDLE_FIELD
`MethodHandleDesc` representing `ConstantBootstraps.fieldVarHandle`

### BSM_VARHANDLE_STATIC_FIELD

public static final DirectMethodHandleDesc BSM_VARHANDLE_STATIC_FIELD
`MethodHandleDesc` representing `ConstantBootstraps.staticVarHandle`

### BSM_VARHANDLE_ARRAY

public static final DirectMethodHandleDesc BSM_VARHANDLE_ARRAY
`MethodHandleDesc` representing `ConstantBootstraps.arrayVarHandle`

### BSM_INVOKE

public static final DirectMethodHandleDesc BSM_INVOKE
`MethodHandleDesc` representing `ConstantBootstraps.invoke`

### CD_int

public static final ClassDesc CD_int
`ClassDesc` representing the primitive type `int`

### CD_long

public static final ClassDesc CD_long
`ClassDesc` representing the primitive type `long`

### CD_float

public static final ClassDesc CD_float
`ClassDesc` representing the primitive type `float`

### CD_double

public static final ClassDesc CD_double
`ClassDesc` representing the primitive type `double`

### CD_short

public static final ClassDesc CD_short
`ClassDesc` representing the primitive type `short`

### CD_byte

public static final ClassDesc CD_byte
`ClassDesc` representing the primitive type `byte`

### CD_char

public static final ClassDesc CD_char
`ClassDesc` representing the primitive type `char`

### CD_boolean

public static final ClassDesc CD_boolean
`ClassDesc` representing the primitive type `boolean`

### CD_void

public static final ClassDesc CD_void
`ClassDesc` representing the primitive type `void`

### NULL

public static final ConstantDesc NULL
Nominal descriptor representing the constant `null`

## Method Details

### ofCallsiteBootstrap

public static DirectMethodHandleDesc 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`.

Parameters:
  `owner` - the class declaring the method
  `name` - the unqualified name of the method
  `returnType` - the return type of the method
  `paramTypes` - the types of the static bootstrap arguments, if any
Returns:
  the `MethodHandleDesc`
Throws:
  `NullPointerException` - if any of the arguments are null
See Java Virtual Machine Specification:
  4.2.2 Unqualified Names

### ofConstantBootstrap

public static DirectMethodHandleDesc 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`.

Parameters:
  `owner` - the class declaring the method
  `name` - the unqualified name of the method
  `returnType` - the return type of the method
  `paramTypes` - the types of the static bootstrap arguments, if any
Returns:
  the `MethodHandleDesc`
Throws:
  `NullPointerException` - if any of the arguments are null
See Java Virtual Machine Specification:
  4.2.2 Unqualified Names