Package org.apache.bcel.classfile
Class LocalVariableTable
- java.lang.Object
-
- org.apache.bcel.classfile.Attribute
-
- org.apache.bcel.classfile.LocalVariableTable
-
public class LocalVariableTable extends Attribute
This class represents colection of local variables in a method. This attribute is contained in the Code attribute.- See Also:
Code
,LocalVariable
-
-
Field Summary
-
Fields inherited from class org.apache.bcel.classfile.Attribute
constant_pool, length, name_index, tag
-
-
Constructor Summary
Constructors Constructor Description LocalVariableTable(int nameIndex, int length, LocalVariable[] localVariableTable, ConstantPool constantPool)
LocalVariableTable(LocalVariableTable c)
Initialize from another object.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description 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, addAttributeReader, clone, getConstantPool, getLength, getName, getNameIndex, getTag, println, readAttribute, readAttribute, removeAttributeReader, setConstantPool, setLength, setNameIndex
-
-
-
-
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 nameIndex, int length, LocalVariable[] localVariableTable, ConstantPool constantPool)
- Parameters:
nameIndex
- Index in constant pool to `LocalVariableTable'length
- Content length in byteslocalVariableTable
- Table of local variablesconstantPool
- 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.
-
dump
public final void dump(DataOutputStream file) throws IOException
Dump local variable table attribute to file stream in binary format.- Overrides:
dump
in classAttribute
- Parameters:
file
- Output file stream- Throws:
IOException
-
getLocalVariableTable
public final LocalVariable[] getLocalVariableTable()
- Returns:
- Array of local variables of method.
-
getLocalVariable
@Deprecated 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:
- the first LocalVariable that matches the slot or null if not found
-
getLocalVariable
public final LocalVariable getLocalVariable(int index, int pc)
- Parameters:
index
- the variable slotpc
- the current pc that this variable is alive- Returns:
- the LocalVariable that matches or null if not found
-
setLocalVariableTable
public final void setLocalVariableTable(LocalVariable[] local_variable_table)
-
toString
public final String toString()
-
copy
public Attribute copy(ConstantPool _constant_pool)
-
getTableLength
public final int getTableLength()
-
-