Package org.apache.bcel.classfile
Class LocalVariableTable
- java.lang.Object
-
- org.apache.bcel.classfile.Attribute
-
- org.apache.bcel.classfile.LocalVariableTable
-
- All Implemented Interfaces:
java.lang.Cloneable,java.lang.Iterable<LocalVariable>,Node
public class LocalVariableTable extends Attribute implements java.lang.Iterable<LocalVariable>
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)Constructs a new LocalVariableTable.LocalVariableTable(LocalVariableTable c)Initialize from another object.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaccept(Visitor v)Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.Attributecopy(ConstantPool constantPool)Creates a deep copy of this attribute.voiddump(java.io.DataOutputStream file)Dumps local variable table attribute to file stream in binary format.LocalVariablegetLocalVariable(int index)Deprecated.Since 5.2 because multiple variables can share the same slot, use getLocalVariable(int index, int pc) instead.LocalVariablegetLocalVariable(int index, int pc)Gets the local variable for the given index and program counter.LocalVariable[]getLocalVariableTable()Gets the local variable table.intgetTableLength()Gets the table length.java.util.Iterator<LocalVariable>iterator()voidsetLocalVariableTable(LocalVariable[] localVariableTable)Sets the local variable table.java.lang.StringtoString()-
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(int nameIndex, int length, LocalVariable[] localVariableTable, ConstantPool constantPool)
Constructs a new LocalVariableTable.- Parameters:
nameIndex- Index in constant pool to 'LocalVariableTable'.length- Content length in bytes.localVariableTable- Table of local variables.constantPool- 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.- Parameters:
c- Source to copy.
-
-
Method Detail
-
accept
public void accept(Visitor v)
Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class. I.e., the hierarchy of methods, fields, attributes, etc. spawns a tree of objects.
-
copy
public Attribute copy(ConstantPool constantPool)
Description copied from class:AttributeCreates a deep copy of this attribute.
-
dump
public final void dump(java.io.DataOutputStream file) throws java.io.IOException
Dumps local variable table attribute to file stream in binary format.
-
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.Gets the local variable for the given index.- 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)
Gets the local variable for the given index and program counter.- Parameters:
index- The variable slot.pc- The current pc that this variable is alive.- Returns:
- The LocalVariable that matches or null if not found.
-
getLocalVariableTable
public final LocalVariable[] getLocalVariableTable()
Gets the local variable table.- Returns:
- Array of local variables of method.
-
getTableLength
public final int getTableLength()
Gets the table length.- Returns:
- The table length.
-
iterator
public java.util.Iterator<LocalVariable> iterator()
- Specified by:
iteratorin interfacejava.lang.Iterable<LocalVariable>
-
setLocalVariableTable
public final void setLocalVariableTable(LocalVariable[] localVariableTable)
Sets the local variable table.- Parameters:
localVariableTable- The local variable table to set.
-
-