Spec-Zone.ru › OpenJDK 27

Интерфейс LocalVariableType

Все суперинтерфейсы:
ClassFileElement, CodeElement, PseudoInstruction
public sealed interface LocalVariableType extends PseudoInstruction
Псевдоинструкция, моделирующая одну запись атрибута LocalVariableTypeTable. Передаётся как CodeElement при обходе элементов CodeModel в соответствии с настройкой параметра ClassFile.DebugElementsOption.

Запись типа локальной переменной является составной:

LocalVariableType(
    int slot,
    String name,
    Signature signature,
    Label startScope,
    Label endScope
)
где slot — это u2.

Другая модель, LocalVariableTypeInfo, также моделирует запись типа локальной переменной; она не зависит от CodeModel, представляет значения bci как ints вместо Labels и используется в качестве компонентов LocalVariableTypeTableAttribute.

Примечание к API:
LocalVariableType используется, если типом локальной переменной является параметризованный тип, аргумент типа или массив одного из предыдущих типов. Для этой локальной переменной всё равно следует создать LocalVariable со стёртым типом.
Начиная с:
24
См. также:
  • LocalVariableTypeInfo
  • CodeBuilder::localVariableType
  • ClassFile.DebugElementsOption

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

Модификатор и тип Метод Описание
Label endScope()
Возвращает конечную границу области действия локальной переменной.
Utf8Entry name()
Возвращает имя локальной переменной.
static LocalVariableType of(int slot, Utf8Entry nameEntry, Utf8Entry signatureEntry, Label startScope, Label endScope)
Возвращает псевдоинструкцию типа локальной переменной.
static LocalVariableType of(int slot, String name, Signature signature, Label startScope, Label endScope)
Возвращает псевдоинструкцию типа локальной переменной.
Utf8Entry signature()
Возвращает строку обобщённой сигнатуры локальной переменной.
default Signature signatureSymbol()
Возвращает обобщённую сигнатуру локальной переменной.
int slot()
Возвращает слот локальной переменной.
Label startScope()
Возвращает начальную границу области действия локальной переменной.

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

slot

int slot()
Возвращает слот локальной переменной. Это значение типа u2.
Возвращает:
слот локальной переменной

name

Utf8Entry name()
Возвращает имя локальной переменной.
Возвращает:
имя локальной переменной

signature

Utf8Entry signature()
Возвращает строку обобщённой сигнатуры локальной переменной.
Примечание к API:
Символьную обобщённую сигнатуру локальной переменной можно получить с помощью signatureSymbol().
Возвращает:
строку обобщённой сигнатуры локальной переменной

signatureSymbol

default Signature signatureSymbol()
Возвращает обобщённую сигнатуру локальной переменной.
Возвращает:
обобщённую сигнатуру локальной переменной

startScope

Label startScope()
Возвращает начальную границу области действия локальной переменной.
Возвращает:
начальную границу области действия локальной переменной

endScope

Label endScope()
Возвращает конечную границу области действия локальной переменной.
Возвращает:
конечную границу области действия локальной переменной

of

static LocalVariableType of(int slot, Utf8Entry nameEntry, Utf8Entry signatureEntry, Label startScope, Label endScope)
Возвращает псевдоинструкцию типа локальной переменной. Значение slot должно иметь тип u2.
Параметры:
slot — слот локальной переменной
nameEntry — имя локальной переменной
signatureEntry — сигнатура локальной переменной
startScope — начальная граница области действия локальной переменной
endScope — конечная граница области действия локальной переменной
Возвращает:
псевдоинструкцию типа локальной переменной
Вызывает исключение:
IllegalArgumentException — если slot не имеет тип u2

of

static LocalVariableType of(int slot, String name, Signature signature, Label startScope, Label endScope)
Возвращает псевдоинструкцию типа локальной переменной. Значение slot должно иметь тип u2.
Параметры:
slot — слот локальной переменной
name — имя локальной переменной
signature — сигнатура локальной переменной
startScope — начальная граница области действия локальной переменной
endScope — конечная граница области действия локальной переменной
Возвращает:
псевдоинструкцию типа локальной переменной
Вызывает исключение:
IllegalArgumentException — если slot не имеет тип u2

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по 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