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