W3cubDocs

/OpenJDK 25

Interface DynamicConstantPoolEntry

All Superinterfaces:
PoolEntry
All Known Subinterfaces:
ConstantDynamicEntry, InvokeDynamicEntry
public sealed interface DynamicConstantPoolEntry extends PoolEntry permits ConstantDynamicEntry, InvokeDynamicEntry
Superinterface modeling dynamically-computed constant pool entries, which include ConstantDynamicEntry and InvokeDynamicEntry, in the constant pool of a class file.

Different types of dynamically-computed constant pool entries bear structural similarities, but they appear in distinct locations. As a result, their uses are represented by different symbolic descriptors, specific to each subtype.

A dynamic constant entry is composite:

DynamicConstantPoolEntry(
    BootstrapMethodEntry bootstrap,
    NameAndTypeEntry nameAndType
)
See Java Virtual Machine Specification:
4.4.10 The CONSTANT_Dynamic_info and CONSTANT_InvokeDynamic_info Structures
5.4.3.6 Dynamically-Computed Constant and Call Site Resolution
Sealed Class Hierarchy Graph:
Sealed class hierarchy graph for DynamicConstantPoolEntrySealed class hierarchy graph for DynamicConstantPoolEntry
Since:
24
See Also:

Field Summary

Method Summary

Modifier and Type Method Description
BootstrapMethodEntry bootstrap()
Returns the entry in the bootstrap method table for this constant.
int bootstrapMethodIndex()
Returns index of the entry in the bootstrap method table for this constant.
default Utf8Entry name()
Returns the name indicated by this symbolic reference.
NameAndTypeEntry nameAndType()
Returns the name and the descriptor string indicated by this symbolic reference.
default Utf8Entry type()
Returns the descriptor string indicated by this symbolic reference.

Methods declared in interface PoolEntry

constantPool, index, tag, width

Method Details

bootstrap

BootstrapMethodEntry bootstrap()
Returns the entry in the bootstrap method table for this constant.
Returns:
the entry in the bootstrap method table for this constant
See Also:

bootstrapMethodIndex

int bootstrapMethodIndex()
Returns index of the entry in the bootstrap method table for this constant. The return value is equivalent to bootstrap().bsmIndex().
Returns:
index of the entry in the bootstrap method table for this constant

nameAndType

NameAndTypeEntry nameAndType()
Returns the name and the descriptor string indicated by this symbolic reference.
Returns:
the name and the descriptor string indicated by this symbolic reference
See Also:

name

default Utf8Entry name()
Returns the name indicated by this symbolic reference.
Returns:
the name indicated by this symbolic reference

type

default Utf8Entry type()
Returns the descriptor string indicated by this symbolic reference. This is a field descriptor string if this entry is a ConstantDynamicEntry, or a method descriptor string if this entry is a InvokeDynamicEntry.
API Note:
Each subinterface has its specific accessor named typeSymbol for the symbolic descriptor derived from this descriptor string.
Returns:
the descriptor string indicated by this symbolic reference

© 1993, 2025, 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/25/docs/api/java.base/java/lang/classfile/constantpool/DynamicConstantPoolEntry.html