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_infoandCONSTANT_InvokeDynamic_infoStructures - Since:
- 24
- See Also:
-
Field Summary
Fields declared in interface java.lang.classfile.constantpool.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 ConstantDescReturns a symbolic descriptor of this constant.default TypeKindtypeKind()Returns the data type of this constant.default ClassDescReturns a symbolic descriptor for the field type of this dynamically-computed constant.Methods declared in interface java.lang.classfile.constantpool.DynamicConstantPoolEntry
bootstrap, bootstrapMethodIndex, name, nameAndType, typeMethods declared in interface java.lang.classfile.constantpool.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:
constantValuein 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 withldcorldc_w.- Specified by:
typeKindin 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
-