org.apache.bcel.classfile

Class LocalVariableTable

Implemented Interfaces:
Cloneable, Node, Serializable

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,v 1.2 2002/03/11 16:16:35 mdahm Exp $
Author:
M. Dahm
See Also:
Code, LocalVariable

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)
LocalVariable[]
getLocalVariableTable()
int
getTableLength()
void
setLocalVariableTable(LocalVariable[] local_variable_table)
String
toString()

Methods inherited from class org.apache.bcel.classfile.Attribute

accept, addAttributeReader, clone, copy, dump, getConstantPool, getLength, getNameIndex, getTag, readAttribute, removeAttributeReader, setConstantPool, setLength, setNameIndex, toString

Constructor Details

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

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.

Method Details

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
Overrides:
accept in interface Attribute
Parameters:
v - Visitor object

copy

public Attribute copy(ConstantPool constant_pool)
Overrides:
copy in interface Attribute
Returns:
deep copy of this attribute

dump

public final void dump(DataOutputStream file)
            throws IOException
Dump local variable table attribute to file stream in binary format.
Overrides:
dump in interface Attribute
Parameters:
file - Output file stream

getLocalVariable

public final LocalVariable getLocalVariable(int index)
Returns:
first matching variable using index

getLocalVariableTable

public final LocalVariable[] getLocalVariableTable()
Returns:
Array of local variables of method.

getTableLength

public final int getTableLength()

setLocalVariableTable

public final void setLocalVariableTable(LocalVariable[] local_variable_table)

toString

public final String toString()
Overrides:
toString in interface Attribute
Returns:
String representation.