at.dms.classfile
Class LocalVariableInfo

java.lang.Object
  |
  +--at.dms.classfile.LocalVariableInfo
All Implemented Interfaces:
AccessorContainer

public class LocalVariableInfo
extends java.lang.Object
implements AccessorContainer

VMS 4.7.6: Line Number Table Attribute This attribute represents a mapping between he Java Virtual Machine code array and the line number in the original Java source file


Constructor Summary
LocalVariableInfo(java.io.DataInput in, ConstantPool cp, Instruction[] insns)
          Create an entry in the line number table from a class file stream.
LocalVariableInfo(InstructionAccessor start, InstructionAccessor end, java.lang.String name, java.lang.String type, short slot)
          Create an entry in the line number table.
 
Method Summary
 InstructionAccessor getEnd()
          Returns the end of the protected area
 java.lang.String getName()
          Returns the name of the local variable
 short getSlot()
          Returns the index in the method's local variables
 InstructionAccessor getStart()
          Returns the start of the protected area
 java.lang.String getType()
          Returns the type of the local variable
(package private)  void resolveConstants(ConstantPool cp)
          Insert or check location of constant value on constant pool
 void setEnd(InstructionAccessor end)
          Sets the end of the protected area
 void setStart(InstructionAccessor start)
          Sets the start of the protected area
 void transformAccessors(AccessorTransformer transformer)
          Transforms targets (deferences to actual instructions).
(package private)  void write(ConstantPool cp, java.io.DataOutput out)
          Write this class into the the file (out) getting data position from the constant pool.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LocalVariableInfo

public LocalVariableInfo(InstructionAccessor start,
                         InstructionAccessor end,
                         java.lang.String name,
                         java.lang.String type,
                         short slot)
Create an entry in the line number table.
Parameters:
start - The beginning of the area (inclusive) where the name is valid.
end - The end of the area (inclusive) where the name is valid.
name - The name of the variable.
type - The type signature of the variable.
slot - The index in the method's local variables.

LocalVariableInfo

public LocalVariableInfo(java.io.DataInput in,
                         ConstantPool cp,
                         Instruction[] insns)
                  throws java.io.IOException
Create an entry in the line number table from a class file stream.
Parameters:
in - The stream to read from.
cp - The constant pool.
insns - (sparse) array of instructions.
Throws:
java.io.IOException - An io problem has occured.
Method Detail

transformAccessors

public void transformAccessors(AccessorTransformer transformer)
                        throws BadAccessorException
Transforms targets (deferences to actual instructions).
Specified by:
transformAccessors in interface AccessorContainer
Following copied from interface: at.dms.classfile.AccessorContainer
Parameters:
transformer - The transformer used to transform accessors.

getName

public java.lang.String getName()
Returns the name of the local variable

getType

public java.lang.String getType()
Returns the type of the local variable

setStart

public void setStart(InstructionAccessor start)
Sets the start of the protected area

getStart

public InstructionAccessor getStart()
Returns the start of the protected area

setEnd

public void setEnd(InstructionAccessor end)
Sets the end of the protected area

getEnd

public InstructionAccessor getEnd()
Returns the end of the protected area

getSlot

public short getSlot()
Returns the index in the method's local variables

resolveConstants

void resolveConstants(ConstantPool cp)
Insert or check location of constant value on constant pool
Parameters:
cp - the constant pool for this class.

write

void write(ConstantPool cp,
           java.io.DataOutput out)
     throws java.io.IOException
Write this class into the the file (out) getting data position from the constant pool.
Parameters:
cp - the constant pool that contain all data.
out - the file where to write this object info.
Throws:
java.io.IOException - An io problem has occured.