jellyj.classfile.javaclass
Class LocalVariable


public final class LocalVariable
implements Constants

This class represents a local variable within a method. It contains its scope, name, signature and index on the method's frame.

Author:
JellyJ Design Group
See Also: LocalVariableTable

Constructor Summary
 LocalVariable()
          Empty constructor, all attributes have to be defined via `setXXX' methods.
 LocalVariable(LocalVariable c)
          Initialize from another object.
 (package private) LocalVariable(DataInputStream file, ConstantPool constant_pool)
          Construct object from file stream.
 LocalVariable(int start_pc, int length, int name_index, int signature_index, int slot, ConstantPool constant_pool)
           

Method Summary
 voidaccept(Visitor v)
          Called by objects that are traversing the nodes of the tree implicitely defined by the contents of a Java class.
 final voiddump(DataOutputStream file)
          Dump local variable to file stream in binary format.
 final ConstantPoolgetConstantPool()
           
 final intgetLength()
           
 final StringgetName()
           
 final intgetNameIndex()
           
 final StringgetSignature()
           
 final intgetSignatureIndex()
           
 final intgetSlot()
           
 final intgetStartPC()
           
 final voidsetConstantPool(ConstantPool constant_pool)
           
 final voidsetLength(int length)
           
 final voidsetNameIndex(int name_index)
           
 final voidsetSignatureIndex(int signature_index)
           
 final voidsetSlot(int slot)
           
 final voidsetStartPC(int start_pc)
           
 final StringtoString()
           

Constructor Detail

LocalVariable

public LocalVariable()
Empty constructor, all attributes have to be defined via `setXXX' methods. Use at your own risk.

LocalVariable

public LocalVariable(LocalVariable c)
Initialize from another object. Note that both objects use the same references (shallow copy). Use clone() for a physical copy.

LocalVariable

LocalVariable(DataInputStream file, ConstantPool constant_pool)
throws java.io.IOException
Construct object from file stream.
Parameters:
file - Input stream
throw IOException

LocalVariable

public LocalVariable(int start_pc, int length, int name_index, int signature_index, int slot, ConstantPool constant_pool)
Parameters:
start_pc - Range in which the variable
length - ... is valid
name_index - Index in constant pool of variable name
signature_index - Index of variable's signature
slot - Variable is `slot'th local variable on the method's frame
constant_pool - 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.
Parameters:
v - Visitor object

dump

public final void dump(DataOutputStream file)
throws java.io.IOException
Dump local variable to file stream in binary format.
Parameters:
file - Output file stream
throw IOException

getConstantPool

public final ConstantPool getConstantPool()
Returns: Constant pool used by this object.
See Also:
ConstantPool

getLength

public final int getLength()
Returns: Variable is valid within getStartPC() .. getStartPC()+getLength()

getName

public final String getName()
Returns: Variable name.

getNameIndex

public final int getNameIndex()
Returns: Index in constant pool of variable name.

getSignature

public final String getSignature()
Returns: Signature.

getSignatureIndex

public final int getSignatureIndex()
Returns: Index in constant pool of variable signature.

getSlot

public final int getSlot()
Returns: Variable is `getSlot()'th local variable on this method's frame.

getStartPC

public final int getStartPC()
Returns: Start of range where he variable is valid

setConstantPool

public final void setConstantPool(ConstantPool constant_pool)
Parameters:
constant_pool - Constant pool to be used for this object.
See Also:
ConstantPool

setLength

public final void setLength(int length)
Parameters:
length.

setNameIndex

public final void setNameIndex(int name_index)
Parameters:
name_index.

setSignatureIndex

public final void setSignatureIndex(int signature_index)
Parameters:
signature_index.

setSlot

public final void setSlot(int slot)
Parameters:
slot.

setStartPC

public final void setStartPC(int start_pc)
Parameters:
start_pc - Specify range where the local variable is valid.

toString

public final String toString()
Returns: Resolved string representation.

Association Links

to Class jellyj.classfile.javaclass.ConstantPool