Interface LocalVariableType
- All Superinterfaces:
ClassFileElement,CodeElement,PseudoInstruction
A pseudo-instruction which models a single entry in the
Where
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 TypeMethodDescriptionendScope()Returns the end range of the local variable scope.name()Returns the local variable name.static LocalVariableTypeReturns a local variable type pseudo-instruction.static LocalVariableTypeReturns a local variable type pseudo-instruction.Returns the local variable generic signature string.default SignatureReturns the local variable generic signature.intslot()Returns the local variable slot.Returns the start range of the local variable scope.
-
Method Details
-
slot
int slot()Returns the local variable slot. The value is within[0, 65535].- Returns:
- the local variable slot
-
name
-
signature
Utf8Entry signature()Returns the local variable generic signature string.- API Note:
- A symbolic generic signature of the local variable is available
through
signatureSymbol(). - Returns:
- the local variable generic signature string
-
signatureSymbol
Returns the local variable generic signature.- Returns:
- the local variable generic signature
-
startScope
Label startScope()Returns the start range of the local variable scope.- Returns:
- the start range of the local variable scope
-
endScope
Label endScope()Returns the end range of the local variable scope.- Returns:
- the end range of the local variable scope
-
of
static LocalVariableType of(int slot, Utf8Entry nameEntry, Utf8Entry signatureEntry, Label startScope, Label endScope) Returns a local variable type pseudo-instruction.slotmust be within[0, 65535].- Parameters:
slot- the local variable slotnameEntry- the local variable namesignatureEntry- the local variable signaturestartScope- the start range of the local variable scopeendScope- 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) Returns a local variable type pseudo-instruction.slotmust be within[0, 65535].- Parameters:
slot- the local variable slotname- the local variable namesignature- the local variable signaturestartScope- the start range of the local variable scopeendScope- the end range of the local variable scope- Returns:
- a local variable type pseudo-instruction
- Throws:
IllegalArgumentException- ifslotis out of range
-