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:

Field Summary

Modifier and Type Field Description
static final DirectMethodHandleDesc BSM_ENUM_CONSTANT
static final DirectMethodHandleDesc BSM_EXPLICIT_CAST
static final DirectMethodHandleDesc BSM_GET_STATIC_FINAL
static final DirectMethodHandleDesc BSM_INVOKE
static final DirectMethodHandleDesc BSM_NULL_CONSTANT
static final DirectMethodHandleDesc BSM_PRIMITIVE_CLASS
static final DirectMethodHandleDesc BSM_VARHANDLE_ARRAY
static final DirectMethodHandleDesc BSM_VARHANDLE_FIELD
static final DirectMethodHandleDesc BSM_VARHANDLE_STATIC_FIELD
static final ClassDesc CD_boolean
ClassDesc representing the primitive type boolean
static final ClassDesc CD_Boolean
ClassDesc representing Boolean
static final ClassDesc CD_byte
ClassDesc representing the primitive type byte
static final ClassDesc CD_Byte
ClassDesc representing Byte
static final ClassDesc CD_CallSite
ClassDesc representing CallSite
static final ClassDesc CD_char
ClassDesc representing the primitive type char
static final ClassDesc CD_Character
ClassDesc representing Character
static final ClassDesc CD_Class
ClassDesc representing Class
static final ClassDesc CD_ClassDesc
ClassDesc representing ClassDesc
static final ClassDesc CD_Collection
ClassDesc representing Collection
static final ClassDesc CD_ConstantBootstraps
static final ClassDesc CD_ConstantDesc
ClassDesc representing ConstantDesc
static final ClassDesc CD_DirectMethodHandleDesc
static final ClassDesc CD_double
ClassDesc representing the primitive type double
static final ClassDesc CD_Double
ClassDesc representing Double
static final ClassDesc CD_DynamicCallSiteDesc
static final ClassDesc CD_DynamicConstantDesc
static final ClassDesc CD_Enum
ClassDesc representing Enum
static final ClassDesc CD_EnumDesc
ClassDesc representing Enum.EnumDesc
static final ClassDesc CD_Exception
ClassDesc representing Exception
static final ClassDesc CD_float
ClassDesc representing the primitive type float
static final ClassDesc CD_Float
ClassDesc representing Float
static final ClassDesc CD_int
ClassDesc representing the primitive type int
static final ClassDesc CD_Integer
ClassDesc representing Integer
static final ClassDesc CD_List
ClassDesc representing List
static final ClassDesc CD_long
ClassDesc representing the primitive type long
static final ClassDesc CD_Long
ClassDesc representing Long
static final ClassDesc CD_Map
ClassDesc representing Map
static final ClassDesc CD_MethodHandle
ClassDesc representing MethodHandle
static final ClassDesc CD_MethodHandleDesc
static final ClassDesc CD_MethodHandleDesc_Kind
static final ClassDesc CD_MethodHandles
ClassDesc representing MethodHandles
static final ClassDesc CD_MethodHandles_Lookup
static final ClassDesc CD_MethodType
ClassDesc representing MethodType
static final ClassDesc CD_MethodTypeDesc
ClassDesc representing MethodTypeDesc
static final ClassDesc CD_Number
ClassDesc representing Number
static final ClassDesc CD_Object
ClassDesc representing Object
static final ClassDesc CD_Set
ClassDesc representing Set
static final ClassDesc CD_short
ClassDesc representing the primitive type short
static final ClassDesc CD_Short
ClassDesc representing Short
static final ClassDesc CD_String
ClassDesc representing String
static final ClassDesc CD_Throwable
ClassDesc representing Throwable
static final ClassDesc CD_VarHandle
ClassDesc representing VarHandle
static final ClassDesc CD_VarHandleDesc
static final ClassDesc CD_void
ClassDesc representing the primitive type void
static final ClassDesc CD_Void
ClassDesc representing Void
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.
static final DynamicConstantDesc<Boolean> FALSE
Nominal descriptor representing the constant Boolean.FALSE
static final ConstantDesc NULL
Nominal descriptor representing the constant null
static final DynamicConstantDesc<Boolean> TRUE
Nominal descriptor representing the constant Boolean.TRUE

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:

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

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

CD_DirectMethodHandleDesc

public static final ClassDesc CD_DirectMethodHandleDesc

CD_VarHandleDesc

public static final ClassDesc CD_VarHandleDesc

CD_MethodHandleDesc_Kind

public static final ClassDesc CD_MethodHandleDesc_Kind

CD_DynamicConstantDesc

public static final ClassDesc CD_DynamicConstantDesc

CD_DynamicCallSiteDesc

public static final ClassDesc CD_DynamicCallSiteDesc

CD_ConstantBootstraps

public static final ClassDesc CD_ConstantBootstraps

BSM_PRIMITIVE_CLASS

public static final DirectMethodHandleDesc BSM_PRIMITIVE_CLASS

BSM_ENUM_CONSTANT

public static final DirectMethodHandleDesc BSM_ENUM_CONSTANT

BSM_GET_STATIC_FINAL

public static final DirectMethodHandleDesc BSM_GET_STATIC_FINAL
Since:
15

BSM_NULL_CONSTANT

public static final DirectMethodHandleDesc BSM_NULL_CONSTANT

BSM_VARHANDLE_FIELD

public static final DirectMethodHandleDesc BSM_VARHANDLE_FIELD

BSM_VARHANDLE_STATIC_FIELD

public static final DirectMethodHandleDesc BSM_VARHANDLE_STATIC_FIELD

BSM_VARHANDLE_ARRAY

public static final DirectMethodHandleDesc BSM_VARHANDLE_ARRAY

BSM_INVOKE

public static final DirectMethodHandleDesc BSM_INVOKE

BSM_EXPLICIT_CAST

public static final DirectMethodHandleDesc BSM_EXPLICIT_CAST
Since:
15

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

TRUE

public static final DynamicConstantDesc<Boolean> TRUE
Nominal descriptor representing the constant Boolean.TRUE
Since:
15

FALSE

public static final DynamicConstantDesc<Boolean> FALSE
Nominal descriptor representing the constant Boolean.FALSE
Since:
15

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

© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/constant/ConstantDescs.html