Интерфейс StackMapFrameInfo
public sealed interface StackMapFrameInfo
Представляет кадр карты стека в атрибуте
StackMapTable (JVMS §4.7.4). Кадр карты стека должен находиться в начале каждого базового блока метода (JVMS §4.10.1).- Примечание к API:
- Как правило, кадр карты стека следует определять для каждой цели
BranchInstructionили для недостижимого кода сразу после инструкции безусловного перехода, напримерgoto. Автоматическая генерация карт стека не может обрабатывать недостижимый код сразу после безусловного перехода;ClassFile.DeadCodeOptionпозволяет заменить такой код, а опытные пользователи могут предоставить собственные карты стека для мёртвого кода. - См. Спецификацию виртуальной машины Java:
- 4.7.4 Атрибут
StackMapTable
4.10.1 Проверка посредством проверки типов
- Начиная с версии:
- 24
- См. также:
Краткое описание вложенных классов
| Модификатор и тип | Интерфейс | Описание |
|---|---|---|
static interface |
StackMapFrameInfo.ObjectVerificationTypeInfo |
Значение стека для типа объекта. |
static enum |
StackMapFrameInfo.SimpleVerificationTypeInfo |
Простое значение стека. |
static interface |
StackMapFrameInfo.UninitializedVerificationTypeInfo |
Неинициализированное значение стека. |
static interface |
StackMapFrameInfo.VerificationTypeInfo |
Тип значения стека или локальной переменной. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
int |
frameType() |
Возвращает исходный u1 frame_type. |
List |
locals() |
Возвращает развёрнутые типы локальных переменных. |
static StackMapFrameInfo |
of |
Возвращает новый кадр карты стека. |
List |
stack() |
Возвращает развёрнутые типы стека операндов. |
Label |
target() |
Возвращает метку целевого положения кадра. |
Подробное описание методов
frameType
int frameType()
Возвращает исходный
u1 frame_type.- Возвращает:
- исходный
u1 frame_type
target
Label target()
Возвращает метку целевого положения кадра.
- Возвращает:
- метку целевого положения кадра
locals
List<StackMapFrameInfo.VerificationTypeInfo> locals()
Возвращает развёрнутые типы локальных переменных.
- Возвращает:
- развёрнутые типы локальных переменных
stack
List<StackMapFrameInfo.VerificationTypeInfo> stack()
Возвращает развёрнутые типы стека операндов.
- Возвращает:
- развёрнутые типы стека операндов
of
static StackMapFrameInfo of(Label target, List<StackMapFrameInfo.VerificationTypeInfo> locals, List<StackMapFrameInfo.VerificationTypeInfo> stack)
Возвращает новый кадр карты стека.
- Параметры:
-
target— положение кадра -
locals— полный список локальных переменных кадра -
stack— полный стек кадра - Возвращает:
- новый кадр карты стека
- Выбрасывает:
-
IllegalArgumentException— если количество типов вlocalsилиstackпревышает пределu2
© 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.