# Interface LocalVariableTableAttribute

All Superinterfaces:
  `Attribute<LocalVariableTableAttribute>, ClassFileElement`

public sealed interface LocalVariableTableAttribute extends Attribute<LocalVariableTableAttribute>
Models the `LocalVariableTable` attribute (JVMS 4.7.13), which records debug information about local variables. Its entries are delivered as `LocalVariable`s 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.
See Java Virtual Machine Specification:
  4.7.13 The `LocalVaribleTable` Attribute
Since:
  24
See Also:
  - `Attributes.localVariableTable()`

## Method Summary

Modifier and Type
Method
Description
`List<LocalVariableInfo>`
`localVariables()`
Returns debug information for the local variables in this method.
`static LocalVariableTableAttribute`
`of(List<LocalVariableInfo> locals)`
Returns a `LocalVariableTable` attribute.

### Methods declared in interface Attribute

`attributeMapper, attributeName`

## Method Details

### localVariables

List<LocalVariableInfo> localVariables()
Returns debug information for the local variables in this method.

Returns:
  debug information for the local variables in this method

### of

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` - the local variable descriptions
Returns:
  a `LocalVariableTable` attribute