Spec-Zone.ru › OpenJDK 25

Интерфейс 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 находится в пределах [0, 65535].

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

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

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

Модификатор и тип Метод Описание
Label endScope()
Возвращает конечный диапазон области видимости локальной переменной.
Utf8Entry name()
Возвращает имя локальной переменной.
static LocalVariable of(int slot, Utf8Entry nameEntry, Utf8Entry descriptorEntry, Label startScope, Label endScope)
Возвращает псевдоинструкцию локальной переменной.
static LocalVariable of(int slot, String name, ClassDesc descriptor, Label startScope, Label endScope)
Возвращает псевдоинструкцию локальной переменной.
int slot()
Возвращает слот локальной переменной.
Label startScope()
Возвращает начальный диапазон области видимости локальной переменной.
Utf8Entry type()
Возвращает строку дескриптора поля локальной переменной.
default ClassDesc typeSymbol()
Возвращает тип локальной переменной в виде символьного дескриптора.

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

slot

int slot()
Возвращает слот локальной переменной. Значение находится в пределах [0, 65535].
Возвращает:
слот локальной переменной

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 должно находиться в пределах [0, 65535].
Параметры:
slot — слот локальной переменной
nameEntry — имя локальной переменной
descriptorEntry — дескриптор локальной переменной
startScope — начальный диапазон области видимости локальной переменной
endScope — конечный диапазон области видимости локальной переменной
Возвращает:
псевдоинструкцию локальной переменной
Выбрасывает:
IllegalArgumentException — если slot находится вне допустимого диапазона

of

static LocalVariable of(int slot, String name, ClassDesc descriptor, Label startScope, Label endScope)
Возвращает псевдоинструкцию локальной переменной. slot должно находиться в пределах [0, 65535].
Параметры:
slot — слот локальной переменной
name — имя локальной переменной
descriptor — дескриптор локальной переменной
startScope — начальный диапазон области видимости локальной переменной
endScope — конечный диапазон области видимости локальной переменной
Возвращает:
псевдоинструкцию локальной переменной
Выбрасывает:
IllegalArgumentException — если slot находится вне допустимого диапазона

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

Spec-Zone.ru

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