Интерфейс 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 находится в пределах [0, 65535]. Другая модель, LocalVariableTypeInfo, также моделирует запись типа локальной переменной; она не зависит от CodeModel и представляет значения bci как int, а не как Label, и используется в качестве компонентов LocalVariableTypeTableAttribute.
- Примечание к API:
-
LocalVariableTypeиспользуется, если локальная переменная имеет параметризованный тип, аргумент типа или тип массива одного из предыдущих типов. Для этой локальной переменной также следует создатьLocalVariableсо стёртым типом. - Начиная с:
- 24
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Label |
endScope() |
Возвращает конечный диапазон области видимости локальной переменной. |
Utf8Entry |
name() |
Возвращает имя локальной переменной. |
static LocalVariableType |
of |
Возвращает псевдоинструкцию типа локальной переменной. |
static LocalVariableType |
of |
Возвращает псевдоинструкцию типа локальной переменной. |
Utf8Entry |
signature() |
Возвращает строку обобщённой сигнатуры локальной переменной. |
default Signature |
signatureSymbol() |
Возвращает обобщённую сигнатуру локальной переменной. |
int |
slot() |
Возвращает слот локальной переменной. |
Label |
startScope() |
Возвращает начальный диапазон области видимости локальной переменной. |
Подробное описание методов
slot
int slot()
[0, 65535].- Возвращает:
- слот локальной переменной
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 должно находиться в пределах [0, 65535].- Параметры:
-
slot— слот локальной переменной -
nameEntry— имя локальной переменной -
signatureEntry— сигнатура локальной переменной -
startScope— начальный диапазон области видимости локальной переменной -
endScope— конечный диапазон области видимости локальной переменной - Возвращает:
- псевдоинструкцию типа локальной переменной
- Вызывает:
-
IllegalArgumentException— еслиslotвыходит за допустимый диапазон
of
static LocalVariableType of(int slot, String name, Signature signature, Label startScope, Label endScope)
slot должно находиться в пределах [0, 65535].- Параметры:
-
slot— слот локальной переменной -
name— имя локальной переменной -
signature— сигнатура локальной переменной -
startScope— начальный диапазон области видимости локальной переменной -
endScope— конечный диапазон области видимости локальной переменной - Возвращает:
- псевдоинструкцию типа локальной переменной
- Вызывает:
-
IllegalArgumentException— еслиslotвыходит за допустимый диапазон
© 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/instruction/LocalVariableType.html