Interface ConstantDynamicEntry
- All Superinterfaces:
DynamicConstantPoolEntry, LoadableConstantEntry, PoolEntry
public sealed interface ConstantDynamicEntry
extends DynamicConstantPoolEntry, LoadableConstantEntry
Models a
where
CONSTANT_Dynamic_info
structure, representing a dynamically-computed constant, in the constant pool of a
class
file.
The use of a ConstantDynamicEntry
is modeled by a DynamicConstantDesc
. Conversions are through asSymbol()
and ConstantPoolBuilder.constantDynamicEntry(DynamicConstantDesc)
.
A dynamic constant entry is composite:
ConstantDynamicEntry
(
BootstrapMethodEntry bootstrap
,
NameAndTypeEntry nameAndType
)
nameAndType.type()
is a field descriptor string.- API Note:
- A dynamically-computed constant is frequently called a dynamic constant, or a condy, from the abbreviation of "constant dynamic".
- See Java Virtual Machine Specification:
-
4.4.10 The
CONSTANT_Dynamic_info
andCONSTANT_InvokeDynamic_info
Structures - Since:
- 24
- See Also:
-
Field Summary
Fields inherited from interface PoolEntry
TAG_CLASS, TAG_DOUBLE, TAG_DYNAMIC, TAG_FIELDREF, TAG_FLOAT, TAG_INTEGER, TAG_INTERFACE_METHODREF, TAG_INVOKE_DYNAMIC, TAG_LONG, TAG_METHOD_HANDLE, TAG_METHOD_TYPE, TAG_METHODREF, TAG_MODULE, TAG_NAME_AND_TYPE, TAG_PACKAGE, TAG_STRING, TAG_UTF8
-
Method Summary
Modifier and TypeMethodDescriptiondefault DynamicConstantDesc
<?> asSymbol()
Returns a symbolic descriptor for this dynamically-computed constant.default ConstantDesc
Returns a symbolic descriptor of this constant.default TypeKind
typeKind()
Returns the data type of this constant.default ClassDesc
Returns a symbolic descriptor for the field type of this dynamically-computed constant.Methods inherited from interface DynamicConstantPoolEntry
bootstrap, bootstrapMethodIndex, name, nameAndType, type
Methods inherited from interface PoolEntry
constantPool, index, tag, width
-
Method Details
-
typeSymbol
Returns a symbolic descriptor for the field type of this dynamically-computed constant.- Returns:
- a symbolic descriptor for the field type of this dynamically-computed constant
-
constantValue
Returns a symbolic descriptor of this constant.This is equivalent to
asSymbol()
.- Specified by:
constantValue
in interfaceLoadableConstantEntry
- Returns:
- a symbolic descriptor of this constant
- See Also:
-
asSymbol
Returns a symbolic descriptor for this dynamically-computed constant.- Returns:
- a symbolic descriptor for this dynamically-computed constant
- See Also:
-
typeKind
Returns the data type of this constant.If the data type is of category 2, this constant must be loaded with
ldc2_w
; otherwise, the data type is of category 1, and this constant must be loaded withldc
orldc_w
.- Specified by:
typeKind
in interfaceLoadableConstantEntry
- API Note:
- The data type of a dynamically-computed constant depends on its descriptor, while the data type of all other constants can be determined by their constant type.
- Returns:
- the data type of this constant
-