Интерфейс LocalVariable
- Все суперинтерфейсы:
ClassFileElement, CodeElement, PseudoInstruction
public sealed interface LocalVariable extends PseudoInstruction
Псевдоинструкция, моделирующая одну запись в атрибуте где
LocalVariableTable. Передаётся как CodeElement при обходе элементов CodeModel в соответствии с настройкой параметра ClassFile.DebugElementsOption. Запись локальной переменной является составной:
LocalVariable(
int slot,
String name,
ClassDesc type,
Label startScope,
Label endScope
)
slot — это u2. Другая модель, LocalVariableInfo, также представляет запись локальной переменной; она не зависит от CodeModel и представляет значения bci в виде int, а не Label, и используется в качестве компонентов LocalVariableTableAttribute.
- Примечание к API:
-
LocalVariableиспользуется для всех локальных переменных в исходном коде Java. Если локальная переменная имеет параметризованный тип, аргумент типа или тип массива одного из перечисленных выше типов, для этой локальной переменной также следует создатьLocalVariableType. - Начиная с версии:
- 24
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Label |
endScope() |
Возвращает конечную границу области видимости локальной переменной. |
Utf8Entry |
name() |
Возвращает имя локальной переменной. |
static LocalVariable |
of |
Возвращает псевдоинструкцию локальной переменной. |
static LocalVariable |
of |
Возвращает псевдоинструкцию локальной переменной. |
int |
slot() |
Возвращает слот локальной переменной. |
Label |
startScope() |
Возвращает начальную границу области видимости локальной переменной. |
Utf8Entry |
type() |
Возвращает строку дескриптора поля локальной переменной. |
default ClassDesc |
typeSymbol() |
Возвращает тип локальной переменной в виде символьного дескриптора. |
Подробное описание методов
slot
int slot()
Возвращает слот локальной переменной. Это значение
u2.- Возвращает:
- слот локальной переменной
name
Utf8Entry name()
Возвращает имя локальной переменной.
- Возвращает:
- имя локальной переменной
type
Utf8Entry type()
Возвращает строку дескриптора поля локальной переменной.
- Примечание к API:
- Символьный дескриптор типа локальной переменной доступен через
typeSymbol(). - Возвращает:
- строку дескриптора поля локальной переменной
typeSymbol
default ClassDesc typeSymbol()
Возвращает тип локальной переменной в виде символьного дескриптора.
- Возвращает:
- тип локальной переменной в виде символьного дескриптора
startScope
Label startScope()
Возвращает начальную границу области видимости локальной переменной.
- Возвращает:
- начальную границу области видимости локальной переменной
endScope
Label endScope()
Возвращает конечную границу области видимости локальной переменной.
- Возвращает:
- конечную границу области видимости локальной переменной
of
static LocalVariable of(int slot, Utf8Entry nameEntry, Utf8Entry descriptorEntry, Label startScope, Label endScope)
Возвращает псевдоинструкцию локальной переменной.
slot должно быть значением u2.- Параметры:
-
slot— слот локальной переменной -
nameEntry— имя локальной переменной -
descriptorEntry— дескриптор локальной переменной -
startScope— начальная граница области видимости локальной переменной -
endScope— конечная граница области видимости локальной переменной - Возвращает:
- псевдоинструкцию локальной переменной
- Вызывает исключение:
-
IllegalArgumentException— еслиslotне является значениемu2
of
static LocalVariable of(int slot, String name, ClassDesc descriptor, Label startScope, Label endScope)
Возвращает псевдоинструкцию локальной переменной.
slot должно быть значением u2.- Параметры:
-
slot— слот локальной переменной -
name— имя локальной переменной -
descriptor— дескриптор локальной переменной -
startScope— начальная граница области видимости локальной переменной -
endScope— конечная граница области видимости локальной переменной - Возвращает:
- псевдоинструкцию локальной переменной
- Вызывает исключение:
-
IllegalArgumentException— еслиslotне является значением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.