## org.apache.bcel.classfile
Class LocalVariableTable

    java.lang.Object
      org.apache.bcel.classfile.Attribute
          org.apache.bcel.classfile.LocalVariableTable

All Implemented Interfaces:
  Serializable, Cloneable, Node

    public class LocalVariableTable

extends Attribute

This class represents colection of local variables in a method. This attribute is contained in the Code attribute.

Version:
  $Id: LocalVariableTable.java 386056 2006-03-15 11:31:56Z tcurdt $
See Also:
  `Code`, `LocalVariable`, Serialized Form

Field Summary

Fields inherited from class org.apache.bcel.classfile.Attribute
`constant_pool, length, name_index, tag`

Constructor Summary
`LocalVariableTable(int name_index, int length, LocalVariable[] local_variable_table, ConstantPool constant_pool)`
`LocalVariableTable(LocalVariableTable c)` Initialize from another object.

Method Summary
`void` `accept(Visitor v)` Called by objects that are traversing the nodes of the tree implicitely defined by the contents of a Java class.
`Attribute` `copy(ConstantPool _constant_pool)`
`void` `dump(DataOutputStream file)` Dump local variable table attribute to file stream in binary format.
`LocalVariable` `getLocalVariable(int index)` Deprecated. since 5.2 because multiple variables can share the same slot, use getLocalVariable(int index, int pc) instead.
`LocalVariable` `getLocalVariable(int index, int pc)`
`LocalVariable[]` `getLocalVariableTable()`
`int` `getTableLength()`
`void` `setLocalVariableTable(LocalVariable[] local_variable_table)`
`String` `toString()`

Methods inherited from class org.apache.bcel.classfile.Attribute
`addAttributeReader, clone, getConstantPool, getLength, getNameIndex, getTag, readAttribute, removeAttributeReader, setConstantPool, setLength, setNameIndex`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### LocalVariableTable

    public LocalVariableTable(LocalVariableTable c)

  Initialize from another object. Note that both objects use the same references (shallow copy). Use copy() for a physical copy.

### LocalVariableTable

    public LocalVariableTable(int name_index,
                              int length,
                              LocalVariable[] local_variable_table,
                              ConstantPool constant_pool)

Parameters:
  `name_index` - Index in constant pool to `LocalVariableTable'
  `length` - Content length in bytes
  `local_variable_table` - Table of local variables
  `constant_pool` - Array of constants

Method Detail

### accept

    public void accept(Visitor v)

  Called by objects that are traversing the nodes of the tree implicitely defined by the contents of a Java class. I.e., the hierarchy of methods, fields, attributes, etc. spawns a tree of objects.

  Specified by:
    `accept` in interface `Node`
  Specified by:
    `accept` in class `Attribute`
  Parameters:
    `v` - Visitor object

### dump

    public final void dump(DataOutputStream file)
                    throws IOException

  Dump local variable table attribute to file stream in binary format.

  Overrides:
    `dump` in class `Attribute`
  Parameters:
    `file` - Output file stream
  Throws:
    `IOException`

### getLocalVariableTable

    public final LocalVariable[] getLocalVariableTable()

  Returns:
    Array of local variables of method.

### getLocalVariable

    public final LocalVariable getLocalVariable(int index)

  Deprecated. since 5.2 because multiple variables can share the same slot, use getLocalVariable(int index, int pc) instead.

  Parameters:
    `index` - the variable slot
  Returns:
    first matching variable using index

### getLocalVariable

    public final LocalVariable getLocalVariable(int index,
                                                int pc)

  Parameters:
    `index` - the variable slot
    `pc` - the current pc that this variable is alive
  Returns:
    matching variable using index when variable is used at supplied pc

### setLocalVariableTable

    public final void setLocalVariableTable(LocalVariable[] local_variable_table)

### toString

    public final String toString()

  Overrides:
    `toString` in class `Attribute`
  Returns:
    String representation.

### copy

    public Attribute copy(ConstantPool _constant_pool)

  Specified by:
    `copy` in class `Attribute`
  Returns:
    deep copy of this attribute

### getTableLength

    public final int getTableLength()

Copyright © 2002-2006 Apache Software Foundation. All Rights Reserved.