LocalVariableTypeTableAttribute (Java SE 26 & JDK 26)
Description: declaration: module: java.base, package: java.lang.classfile.attribute, interface: LocalVariableTypeTableAttribute
Keywords: java.lang.classfile.attribute.LocalVariableTypeTableAttribute interface

# Interface LocalVariableTypeTableAttribute

All Superinterfaces:
  `Attribute<LocalVariableTypeTableAttribute>, ClassFileElement`

public sealed interface LocalVariableTypeTableAttribute extends Attribute<LocalVariableTypeTableAttribute>
Models the `LocalVariableTypeTable` attribute (JVMS 4.7.14), which records debug information about local variables with generic types. Its entries are delivered as `LocalVariableType`s when traversing the elements of a `CodeModel`, which can be 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 `LocalVariableType`, resulting in at most one attribute instance in the built `Code` attribute.

The attribute was introduced in the Java SE Platform version 5.0, major version 49.

API Note:
  Only local variables that have generic field types need to be described by this attribute. If a local variable is described in a `LocalVariableTypeTable` attribute, it must also be described in a `LocalVariableTable` attribute.
See Java Virtual Machine Specification:
  4.7.14 The `LocalVariableTypeTable` Attribute
Since:
  24
See Also:
  - `Attributes.localVariableTypeTable()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `List<LocalVariableTypeInfo>`
  `localVariableTypes()`
  Returns debug information for the local variables with generic types in this method.
  `static LocalVariableTypeTableAttribute`
  `of(List<LocalVariableTypeInfo> locals)`
  Returns a `LocalVariableTypeTable` attribute.

  ### Methods declared in interface Attribute

  `attributeMapper, attributeName`
  Modifier and Type
  Method
  Description
  `AttributeMapper<LocalVariableTypeTableAttribute>`
  `attributeMapper()`
  Returns the `AttributeMapper` associated with this attribute.
  `Utf8Entry`
  `attributeName()`
  Returns the name of the attribute.

- ## Method Details

  - ### localVariableTypes

    List<LocalVariableTypeInfo> localVariableTypes()
    Returns debug information for the local variables with generic types in this method.
    Returns:
      debug information for the local variables with generic types in this method

  - ### of

    static LocalVariableTypeTableAttribute of(List<LocalVariableTypeInfo> locals)
    Returns a `LocalVariableTypeTable` attribute.
    Parameters:
      `locals` - the local variable descriptions
    Returns:
      a `LocalVariableTypeTable` attribute
    Throws:
      `IllegalArgumentException` - if the number of descriptions exceeds the limit of `u2`