Spec-Zone.ru › OpenJDK 27

Интерфейс LoadableConstantEntry

Все суперинтерфейсы:
PoolEntry
Все известные подинтерфейсы:
ClassEntry, ConstantDynamicEntry, ConstantValueEntry, DoubleEntry, FloatEntry, IntegerEntry, LongEntry, MethodHandleEntry, MethodTypeEntry, StringEntry
public sealed interface LoadableConstantEntry extends PoolEntry permits ClassEntry, ConstantDynamicEntry, ConstantValueEntry, MethodHandleEntry, MethodTypeEntry
Маркерный интерфейс для записей пула констант, пригодных для загрузки с помощью инструкций ldc.

Использование LoadableConstantEntry моделируется с помощью ConstantDesc. Преобразования выполняются с помощью ConstantPoolBuilder.loadableConstantEntry(ConstantDesc) и constantValue().

См. Спецификацию виртуальной машины Java:
4.4 Пул констант
Граф иерархии запечатанных классов:
Sealed class hierarchy graph for LoadableConstantEntrySealed class hierarchy graph for LoadableConstantEntry
Начиная с версии:
24
См. также:
  • CodeBuilder.ldc(LoadableConstantEntry)

Краткое описание полей

Поля, объявленные в интерфейсе 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
Тег tag для вида константы CONSTANT_Class.
static final int TAG_DOUBLE
Тег tag для вида константы CONSTANT_Double.
static final int TAG_DYNAMIC
Тег tag для вида константы CONSTANT_Dynamic.
static final int TAG_FIELDREF
Тег tag для вида константы CONSTANT_Fieldref.
static final int TAG_FLOAT
Тег tag для вида константы CONSTANT_Float.
static final int TAG_INTEGER
Тег tag для вида константы CONSTANT_Integer.
static final int TAG_INTERFACE_METHODREF
Тег tag для вида константы CONSTANT_InterfaceMethodref.
static final int TAG_INVOKE_DYNAMIC
Тег tag для вида константы CONSTANT_InvokeDynamic.
static final int TAG_LONG
Тег tag для вида константы CONSTANT_Long.
static final int TAG_METHOD_HANDLE
Тег tag для вида константы CONSTANT_MethodHandle.
static final int TAG_METHOD_TYPE
Тег tag для вида константы CONSTANT_MethodType.
static final int TAG_METHODREF
Тег tag для вида константы CONSTANT_Methodref.
static final int TAG_MODULE
Тег tag для вида константы CONSTANT_Module.
static final int TAG_NAME_AND_TYPE
Тег tag для вида константы CONSTANT_NameAndType.
static final int TAG_PACKAGE
Тег tag для вида константы CONSTANT_Package.
static final int TAG_STRING
Тег tag для вида константы CONSTANT_String.
static final int TAG_UTF8
Тег tag для вида константы CONSTANT_Utf8.

Краткое описание методов

Модификатор и тип Метод Описание
ConstantDesc constantValue()
Возвращает символьный дескриптор этой константы.
default TypeKind typeKind()
Возвращает тип данных этой константы.

Методы, объявленные в интерфейсе PoolEntry

constantPool, index, tag, width
Модификатор и тип Метод Описание
ConstantPool constantPool()
Возвращает пул констант, из которого получена эта запись.
int index()
Возвращает индекс этой записи в пуле констант.
int tag()
Возвращает тег пула констант, описывающий тип этой записи.
int width()
Возвращает количество слотов пула констант, занимаемых этой записью.

Подробное описание методов

constantValue

ConstantDesc constantValue()
Возвращает символьный дескриптор этой константы.
Возвращает:
символьный дескриптор этой константы
См. также:
  • ConstantPoolBuilder.loadableConstantEntry(ConstantDesc)

typeKind

default TypeKind typeKind()
Возвращает тип данных этой константы.

Если тип данных относится к категории 2, эту константу необходимо загрузить с помощью ldc2_w; в противном случае тип данных относится к категории 1, и эту константу необходимо загрузить с помощью ldc или ldc_w.

Возвращает:
тип данных этой константы

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, включая концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API