LocalVariableTablepublic class LocalVariableTable extends Attribute This class represents colection of local variables in a
method. This attribute is contained in the Code attribute. |
Fields Summary |
---|
private int | local_variable_table_length | private LocalVariable[] | local_variable_table |
Constructors Summary |
---|
public LocalVariableTable(LocalVariableTable c)Initialize from another object. Note that both objects use the same
references (shallow copy). Use copy() for a physical copy.
this(c.getNameIndex(), c.getLength(), c.getLocalVariableTable(),
c.getConstantPool());
| public LocalVariableTable(int name_index, int length, LocalVariable[] local_variable_table, ConstantPool constant_pool)
super(Constants.ATTR_LOCAL_VARIABLE_TABLE, name_index, length, constant_pool);
setLocalVariableTable(local_variable_table);
| LocalVariableTable(int name_index, int length, DataInputStream file, ConstantPool constant_pool)Construct object from file stream.
this(name_index, length, (LocalVariable[])null, constant_pool);
local_variable_table_length = (file.readUnsignedShort());
local_variable_table = new LocalVariable[local_variable_table_length];
for(int i=0; i < local_variable_table_length; i++)
local_variable_table[i] = new LocalVariable(file, constant_pool);
|
Methods Summary |
---|
public void | accept(com.sun.org.apache.bcel.internal.classfile.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.
v.visitLocalVariableTable(this);
| public com.sun.org.apache.bcel.internal.classfile.Attribute | copy(com.sun.org.apache.bcel.internal.classfile.ConstantPool constant_pool)
LocalVariableTable c = (LocalVariableTable)clone();
c.local_variable_table = new LocalVariable[local_variable_table_length];
for(int i=0; i < local_variable_table_length; i++)
c.local_variable_table[i] = local_variable_table[i].copy();
c.constant_pool = constant_pool;
return c;
| public final void | dump(java.io.DataOutputStream file)Dump local variable table attribute to file stream in binary format.
super.dump(file);
file.writeShort(local_variable_table_length);
for(int i=0; i < local_variable_table_length; i++)
local_variable_table[i].dump(file);
| public final com.sun.org.apache.bcel.internal.classfile.LocalVariable | getLocalVariable(int index)
for(int i=0; i < local_variable_table_length; i++)
if(local_variable_table[i].getIndex() == index)
return local_variable_table[i];
return null;
| public final com.sun.org.apache.bcel.internal.classfile.LocalVariable[] | getLocalVariableTable()
return local_variable_table;
| public final int | getTableLength() return local_variable_table_length;
| public final void | setLocalVariableTable(com.sun.org.apache.bcel.internal.classfile.LocalVariable[] local_variable_table)
this.local_variable_table = local_variable_table;
local_variable_table_length = (local_variable_table == null)? 0 :
local_variable_table.length;
| public final java.lang.String | toString()
StringBuffer buf = new StringBuffer("");
for(int i=0; i < local_variable_table_length; i++) {
buf.append(local_variable_table[i].toString());
if(i < local_variable_table_length - 1)
buf.append('\n");
}
return buf.toString();
|
|