Интерфейс DynamicConstantPoolEntry
- Все суперинтерфейсы:
PoolEntry
- Все известные подинтерфейсы:
ConstantDynamicEntry, InvokeDynamicEntry
public sealed interface DynamicConstantPoolEntry extends PoolEntry permits ConstantDynamicEntry, InvokeDynamicEntry
Суперинтерфейс, моделирующий записи пула констант, вычисляемые динамически, включая
ConstantDynamicEntry и InvokeDynamicEntry, в пуле констант файла class. Различные типы динамически вычисляемых записей пула констант имеют структурное сходство, но располагаются в разных местах. Поэтому их использование представлено различными символическими дескрипторами, специфичными для каждого подтипа.
Запись динамической константы является составной:
DynamicConstantPoolEntry(
BootstrapMethodEntry bootstrap,
NameAndTypeEntry nameAndType
)
- См. Спецификацию виртуальной машины Java:
- 4.4.10 Структуры
CONSTANT_Dynamic_infoиCONSTANT_InvokeDynamic_info
5.4.3.6 Разрешение динамически вычисляемых констант и точек вызова
- Граф запечатанной иерархии классов:
- Начиная с версии:
- 24
- См. также:
Краткое описание полей
Поля, объявленные в интерфейсе 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 | Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
TAG_CLASS |
Тег для вида константы CONSTANT_Class. |
static final int |
TAG_DOUBLE |
Тег для вида константы CONSTANT_Double. |
static final int |
TAG_DYNAMIC |
Тег для вида константы CONSTANT_Dynamic. |
static final int |
TAG_FIELDREF |
Тег для вида константы CONSTANT_Fieldref. |
static final int |
TAG_FLOAT |
Тег для вида константы CONSTANT_Float. |
static final int |
TAG_INTEGER |
Тег для вида константы CONSTANT_Integer. |
static final int |
TAG_INTERFACE_METHODREF |
Тег для вида константы CONSTANT_InterfaceMethodref. |
static final int |
TAG_INVOKE_DYNAMIC |
Тег для вида константы CONSTANT_InvokeDynamic. |
static final int |
TAG_LONG |
Тег для вида константы CONSTANT_Long. |
static final int |
TAG_METHOD_HANDLE |
Тег для вида константы CONSTANT_MethodHandle. |
static final int |
TAG_METHOD_TYPE |
Тег для вида константы CONSTANT_MethodType. |
static final int |
TAG_METHODREF |
Тег для вида константы CONSTANT_Methodref. |
static final int |
TAG_MODULE |
Тег для вида константы CONSTANT_Module. |
static final int |
TAG_NAME_AND_TYPE |
Тег для вида константы CONSTANT_NameAndType. |
static final int |
TAG_PACKAGE |
Тег для вида константы CONSTANT_Package. |
static final int |
TAG_STRING |
Тег для вида константы CONSTANT_String. |
static final int |
TAG_UTF8 |
Тег для вида константы CONSTANT_Utf8. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
BootstrapMethodEntry |
bootstrap() |
Возвращает запись в таблице методов начальной загрузки для этой константы. |
int |
bootstrapMethodIndex() |
Возвращает индекс записи в таблице методов начальной загрузки для этой константы. |
default Utf8Entry |
name() |
Возвращает имя, указанное этой символической ссылкой. |
NameAndTypeEntry |
nameAndType() |
Возвращает имя и строку дескриптора, указанные этой символической ссылкой. |
default Utf8Entry |
type() |
Возвращает строку дескриптора, указанную этой символической ссылкой. |
Методы, объявленные в интерфейсе PoolEntry
constantPool, index, tag, width | Модификатор и тип | Метод | Описание |
|---|---|---|
ConstantPool |
constantPool() |
Возвращает пул констант, из которого получена эта запись. |
int |
index() |
Возвращает индекс этой записи в пуле констант. |
int |
tag() |
Возвращает тег пула констант, описывающий тип этой записи. |
int |
width() |
Возвращает количество ячеек пула констант, занимаемых этой записью. |
Подробное описание методов
bootstrap
BootstrapMethodEntry bootstrap()
Возвращает запись в таблице методов начальной загрузки для этой константы.
- Возвращает:
- запись в таблице методов начальной загрузки для этой константы
- См. также:
bootstrapMethodIndex
int bootstrapMethodIndex()
Возвращает индекс записи в таблице методов начальной загрузки для этой константы. Возвращаемое значение эквивалентно
bootstrap().bsmIndex().- Возвращает:
- индекс записи в таблице методов начальной загрузки для этой константы
nameAndType
NameAndTypeEntry nameAndType()
Возвращает имя и строку дескриптора, указанные этой символической ссылкой.
- Возвращает:
- имя и строку дескриптора, указанные этой символической ссылкой
- См. также:
name
default Utf8Entry name()
Возвращает имя, указанное этой символической ссылкой.
- Возвращает:
- имя, указанное этой символической ссылкой
type
default Utf8Entry type()
Возвращает строку дескриптора, указанную этой символической ссылкой. Если эта запись является
ConstantDynamicEntry, это строка дескриптора поля; если же эта запись является InvokeDynamicEntry, это строка дескриптора метода.- Примечание к API:
- В каждом подинтерфейсе предусмотрен специальный метод доступа с именем
typeSymbolдля символического дескриптора, полученного из этой строки дескриптора. - Возвращает:
- строку дескриптора, указанную этой символической ссылкой
© 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.