Интерфейс ConstantDynamicEntry
- Все супер интерфейсы:
DynamicConstantPoolEntry, LoadableConstantEntry, PoolEntry
public sealed interface ConstantDynamicEntry extends DynamicConstantPoolEntry, LoadableConstantEntry
CONSTANT_Dynamic_info, представляющую динамически вычисляемую константу в пуле констант файла
class. Использование ConstantDynamicEntry моделируется с помощью DynamicConstantDesc. Преобразования выполняются с помощью asSymbol() и ConstantPoolBuilder.constantDynamicEntry(DynamicConstantDesc).
Запись динамической константы является составной:
ConstantDynamicEntry(
BootstrapMethodEntry bootstrap,
NameAndTypeEntry nameAndType
)
nameAndType.type() — это строка дескриптора поля.- Примечание к API:
- Динамически вычисляемую константу часто называют динамической константой или condy — сокращением от «constant dynamic».
- См. Спецификацию виртуальной машины Java:
- 4.4.10 Структуры
CONSTANT_Dynamic_infoиCONSTANT_InvokeDynamic_info
- Начиная с версии:
- 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. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
default DynamicConstantDesc |
asSymbol() |
Возвращает символический дескриптор этой динамически вычисляемой константы. |
default ConstantDesc |
constantValue() |
Возвращает символический дескриптор этой константы. |
default TypeKind |
typeKind() |
Возвращает тип данных этой константы. |
default ClassDesc |
typeSymbol() |
Возвращает символический дескриптор типа поля этой динамически вычисляемой константы. |
Методы, объявленные в интерфейсе DynamicConstantPoolEntry
bootstrap, bootstrapMethodIndex, name, nameAndType, type | Модификатор и тип | Метод | Описание |
|---|---|---|
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() |
Возвращает количество слотов пула констант, занимаемых этой записью. |
Подробное описание методов
typeSymbol
constantValue
default ConstantDesc constantValue()
Эквивалентно asSymbol().
- Определено в:
-
constantValueв интерфейсеLoadableConstantEntry - Возвращает:
- символический дескриптор этой константы
- См. также:
asSymbol
default DynamicConstantDesc<?> asSymbol()
- Возвращает:
- символический дескриптор этой динамически вычисляемой константы
- См. также:
typeKind
default TypeKind typeKind()
Если тип данных относится к категории 2, эту константу необходимо загружать с помощью ldc2_w; в противном случае тип данных относится к категории 1, и эту константу необходимо загружать с помощью ldc или ldc_w.
- Определено в:
-
typeKindв интерфейсеLoadableConstantEntry - Примечание к API:
- Тип данных динамически вычисляемой константы зависит от её дескриптора, тогда как тип данных всех остальных констант можно определить по их типу константы.
- Возвращает:
- тип данных этой константы
© 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.