Package org.apache.bcel.classfile
Class LocalVariableTable
java.lang.Object
org.apache.bcel.classfile.Attribute
org.apache.bcel.classfile.LocalVariableTable
- All Implemented Interfaces:
Cloneable
,Iterable<LocalVariable>
,Node
This class represents colection of local variables in a method. This attribute is contained in the Code
attribute.
- See Also:
-
Field Summary
Fields inherited from class org.apache.bcel.classfile.Attribute
constant_pool, length, name_index, tag
-
Constructor Summary
ConstructorDescriptionLocalVariableTable
(int nameIndex, int length, LocalVariable[] localVariableTable, ConstantPool constantPool) Initialize from another object. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.copy
(ConstantPool constantPool) final void
dump
(DataOutputStream file) Dump local variable table attribute to file stream in binary format.final LocalVariable
getLocalVariable
(int index) Deprecated.since 5.2 because multiple variables can share the same slot, use getLocalVariable(int index, int pc) instead.final LocalVariable
getLocalVariable
(int index, int pc) final LocalVariable[]
final int
iterator()
final void
setLocalVariableTable
(LocalVariable[] localVariableTable) final 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
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
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
-
LocalVariableTable
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 Details
-
accept
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
-
dump
Dump local variable table attribute to file stream in binary format.- Overrides:
dump
in classAttribute
- Parameters:
file
- Output file stream- Throws:
IOException
- if an I/O error occurs.
-
getLocalVariable
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
- Parameters:
index
- the variable slotpc
- the current pc that this variable is alive- Returns:
- the LocalVariable that matches or null if not found
-
getLocalVariableTable
- Returns:
- Array of local variables of method.
-
getTableLength
-
iterator
- Specified by:
iterator
in interfaceIterable<LocalVariable>
-
setLocalVariableTable
-
toString
-