Interface LocalVariableType
- All Superinterfaces:
ClassFileElement, CodeElement, PseudoInstruction
public sealed interface LocalVariableType extends PseudoInstruction
LocalVariableTypeTable attribute. Delivered as a CodeElement during traversal of the elements of a CodeModel, according to the setting of the ClassFile.DebugElementsOption option. A local variable type entry is composite:
LocalVariableType(
int slot,
String name,
Signature signature,
Label startScope,
Label endScope
)
slot is within [0, 65535]. Another model, LocalVariableTypeInfo, also models a local variable type entry; it has no dependency on a CodeModel and represents of bci values as ints instead of Labels, and is used as components of a LocalVariableTypeTableAttribute.
- API Note:
-
LocalVariableTypeis used if a local variable has a parameterized type, a type argument, or an array type of one of the previous types as its type. ALocalVariablewith the erased type should still be created for that local variable. - Since:
- 24
- See Also:
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
Label |
endScope() |
Returns the end range of the local variable scope. |
Utf8Entry |
name() |
Returns the local variable name. |
static LocalVariableType |
of |
Returns a local variable type pseudo-instruction. |
static LocalVariableType |
of |
Returns a local variable type pseudo-instruction. |
Utf8Entry |
signature() |
Returns the local variable generic signature string. |
default Signature |
signatureSymbol() |
Returns the local variable generic signature. |
int |
slot() |
Returns the local variable slot. |
Label |
startScope() |
Returns the start range of the local variable scope. |
Method Details
slot
int slot()
[0, 65535].- Returns:
- the local variable slot
name
Utf8Entry name()
- Returns:
- the local variable name
signature
Utf8Entry signature()
- API Note:
- A symbolic generic signature of the local variable is available through
signatureSymbol(). - Returns:
- the local variable generic signature string
signatureSymbol
default Signature signatureSymbol()
- Returns:
- the local variable generic signature
startScope
Label startScope()
- Returns:
- the start range of the local variable scope
endScope
Label endScope()
- Returns:
- the end range of the local variable scope
of
static LocalVariableType of(int slot, Utf8Entry nameEntry, Utf8Entry signatureEntry, Label startScope, Label endScope)
slot must be within [0, 65535].- Parameters:
-
slot- the local variable slot -
nameEntry- the local variable name -
signatureEntry- the local variable signature -
startScope- the start range of the local variable scope -
endScope- the end range of the local variable scope - Returns:
- a local variable type pseudo-instruction
- Throws:
-
IllegalArgumentException- ifslotis out of range
of
static LocalVariableType of(int slot, String name, Signature signature, Label startScope, Label endScope)
slot must be within [0, 65535].- Parameters:
-
slot- the local variable slot -
name- the local variable name -
signature- the local variable signature -
startScope- the start range of the local variable scope -
endScope- the end range of the local variable scope - Returns:
- a local variable type pseudo-instruction
- Throws:
-
IllegalArgumentException- ifslotis out of range
© 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