APIdia Launch Partner
Top Description Methods
java.lang.classfile.attribute

public sealed Interface LocalVariableTableAttribute

extends Attribute<LocalVariableTableAttribute>
permits BoundLocalVariableTableAttribute, UnboundLocalVariableTableAttribute
Known Direct Implementers
jdk.internal.classfile.impl.BoundAttribute.BoundLocalVariableTableAttribute, jdk.internal.classfile.impl.UnboundAttribute.UnboundLocalVariableTableAttribute
Imports
java.lang.classfile.Attribute, .AttributeMapper, .AttributeMapper.AttributeStability, .Attributes, .ClassFile, .CodeBuilder, .CodeModel, java.lang.classfile.instruction.LocalVariable, java.util.List, jdk.internal.classfile.impl.BoundAttribute, .UnboundAttribute

Models the LocalVariableTable attribute (JVMS 4.7.13), which records debug information about local variables. Its entries are delivered as LocalVariables when traversing the elements of a CodeModel, which is toggled by ClassFile.DebugElementsOption.

This attribute only appears on Code attributes, and permits multiple instances in a Code attribute. It has a data dependency on labels.

This attribute cannot be sent to a CodeBuilder; its entries can be constructed with LocalVariable, resulting in at most one attribute instance in the built Code attribute.

The attribute was introduced in the Java Platform version 1.0.2, major version 45.

API Note

Generic local variable types and potentially annotated use of those types are defined by LocalVariableTypeTableAttribute and RuntimeVisibleTypeAnnotationsAttribute respectively, which requires this attribute to be present.

Since
24
Java Virtual Machine Specification
4.7.13 The LocalVaribleTable Attribute
See Also
Attributes#localVariableTable()

Method Summary

Modifier and TypeMethod and Description
public List<LocalVariableInfo>

Returns:

debug information for the local variables in this method
localVariables
()

Returns debug information for the local variables in this method.

public static LocalVariableTableAttribute

Returns:

a LocalVariableTable attribute
of
(List<LocalVariableInfo>
the local variable descriptions
locals
)

Returns a LocalVariableTable attribute.

Inherited from java.lang.classfile.Attribute:
attributeMapperattributeName

Method Detail

localVariablesback to summary
public List<LocalVariableInfo> localVariables()

Returns debug information for the local variables in this method.

Returns:List<LocalVariableInfo>

debug information for the local variables in this method

ofback to summary
public static LocalVariableTableAttribute of(List<LocalVariableInfo> locals)

Returns a LocalVariableTable attribute.

API Note

The created attribute cannot be written to a CodeBuilder. Use CodeBuilder::localVariable instead.

Parameters
locals:List<LocalVariableInfo>

the local variable descriptions

Returns:LocalVariableTableAttribute

a LocalVariableTable attribute

Exceptions
IllegalArgumentException:
if the number of descriptions exceeds the limit of u2