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
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
static DirectMethodHandleDesc |
ofCallsiteBootstrap |
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 |
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. |
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
CD_String
public static final ClassDesc CD_String
CD_Class
public static final ClassDesc CD_Class
CD_Number
public static final ClassDesc CD_Number
CD_Integer
public static final ClassDesc CD_Integer
CD_Long
public static final ClassDesc CD_Long
CD_Float
public static final ClassDesc CD_Float
CD_Double
public static final ClassDesc CD_Double
CD_Short
public static final ClassDesc CD_Short
CD_Byte
public static final ClassDesc CD_Byte
CD_Character
public static final ClassDesc CD_Character
CD_Boolean
public static final ClassDesc CD_Boolean
CD_Void
public static final ClassDesc CD_Void
CD_Throwable
public static final ClassDesc CD_Throwable
CD_Exception
public static final ClassDesc CD_Exception
CD_Enum
public static final ClassDesc CD_Enum
CD_VarHandle
public static final ClassDesc CD_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
CD_Collection
public static final ClassDesc CD_Collection
ClassDesc representing Collection
CD_List
public static final ClassDesc CD_List
CD_Set
public static final ClassDesc CD_Set
CD_Map
public static final ClassDesc CD_Map
CD_ConstantDesc
public static final ClassDesc CD_ConstantDesc
ClassDesc representing ConstantDesc
CD_ClassDesc
public static final ClassDesc CD_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_GET_STATIC_FINAL
public static final DirectMethodHandleDesc BSM_GET_STATIC_FINAL
MethodHandleDesc representing ConstantBootstraps.getStaticFinal
- Since:
- 15
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
BSM_EXPLICIT_CAST
public static final DirectMethodHandleDesc BSM_EXPLICIT_CAST
MethodHandleDesc representing ConstantBootstraps.explicitCast(Lookup, String, Class, Object) ConstantBootstraps.explicitCast}- 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