Spec-Zone.ru › OpenJDK 25

Интерфейс 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
См. также:
  • StackMapTableAttribute.entries()

Краткое описание вложенных классов

Модификатор и тип Интерфейс Описание
static interface  StackMapFrameInfo.ObjectVerificationTypeInfo
Значение стека для типа объекта.
static enum  StackMapFrameInfo.SimpleVerificationTypeInfo
Простое значение стека.
static interface  StackMapFrameInfo.UninitializedVerificationTypeInfo
Неинициализированное значение стека.
static interface  StackMapFrameInfo.VerificationTypeInfo
Тип значения стека или локальной переменной.

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

Модификатор и тип Метод Описание
int frameType()
Возвращает исходный u1 frame_type.
List<StackMapFrameInfo.VerificationTypeInfo> locals()
Возвращает развернутые типы локальных переменных.
static StackMapFrameInfo of(Label target, List<StackMapFrameInfo.VerificationTypeInfo> locals, List<StackMapFrameInfo.VerificationTypeInfo> stack)
Возвращает новый кадр карты стека.
List<StackMapFrameInfo.VerificationTypeInfo> 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 — полный стек кадра
Возвращает:
новый кадр карты стека

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/classfile/attribute/StackMapFrameInfo.html

Spec-Zone.ru

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