ConstantDescs (Java SE 12 & JDK 12 )
Keywords: java.lang.constant.ConstantDescs class

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 Detail

    - #### 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 Detail

    - #### 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 The 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 The Java™ Virtual Machine Specification:
        4.2.2 Unqualified Names