Интерфейс MethodHandleEntry
- Все суперинтерфейсы:
LoadableConstantEntry, PoolEntry
public sealed interface MethodHandleEntry extends LoadableConstantEntry
Представляет структуру где
CONSTANT_MethodHandle_info или символическую ссылку на дескриптор метода в пуле констант файла class. Дескриптор метода напрямую обращается к доступному методу, полю или конструктору. Использование MethodHandleEntry представлено интерфейсом DirectMethodHandleDesc. Преобразования выполняются с помощью ConstantPoolBuilder.methodHandleEntry(DirectMethodHandleDesc) и asSymbol().
Запись дескриптора метода является составной:
MethodHandleEntry(
int refKind,
MemberRefEntry reference
)
refKind находится в диапазоне [1, 9].- См. Спецификацию виртуальной машины Java:
- 4.4.8 Структура
CONSTANT_MethodHandle_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. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
DirectMethodHandleDesc |
asSymbol() |
Возвращает символический дескриптор этого дескриптора метода. |
default ConstantDesc |
constantValue() |
Возвращает символический дескриптор этой константы. |
int |
kind() |
Возвращает вид ссылки этого дескриптора метода (JVMS §4.4.8). |
MemberRefEntry |
reference() |
Возвращает запись пула констант, описывающую поле или метод в соответствии с видом ссылки. |
Методы, объявленные в интерфейсе LoadableConstantEntry
typeKind | Модификатор и тип | Метод | Описание |
|---|---|---|
default TypeKind |
typeKind() |
Возвращает тип данных этой константы. |
Методы, объявленные в интерфейсе PoolEntry
constantPool, index, tag, width | Модификатор и тип | Метод | Описание |
|---|---|---|
ConstantPool |
constantPool() |
Возвращает пул констант, из которого взята эта запись. |
int |
index() |
Возвращает индекс этой записи в пуле констант. |
int |
tag() |
Возвращает тег пула констант, описывающий тип этой записи. |
int |
width() |
Возвращает количество слотов пула констант, занимаемых этой записью. |
Подробное описание методов
constantValue
default ConstantDesc constantValue()
Возвращает символический дескриптор этой константы.
Это эквивалентно asSymbol().
- Определено в:
-
constantValueв интерфейсеLoadableConstantEntry - Возвращает:
- символический дескриптор этой константы
- См. также:
kind
reference
MemberRefEntry reference()
Возвращает запись пула констант, описывающую поле или метод в соответствии с видом ссылки.
- Возвращает:
- запись пула констант, описывающую поле или метод в соответствии с видом ссылки
asSymbol
DirectMethodHandleDesc asSymbol()
Возвращает символический дескриптор этого дескриптора метода.
- Возвращает:
- символический дескриптор этого дескриптора метода
- См. также:
© 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.