at.dms.classfile
Class CodeInfo

java.lang.Object
  extended by at.dms.classfile.Attribute
      extended by at.dms.classfile.CodeInfo
Direct Known Subclasses:
SkippedCodeInfo

public class CodeInfo
extends Attribute

VMS 4.7.3 : Code Attribute. It contains the Java virtual machine instructions and auxiliary information for a single method. !!! graf 990904 add support for generic attributes.


Field Summary
static CodeInfo DUM_INFO
           
 
Fields inherited from class at.dms.classfile.Attribute
EMPTY
 
Constructor Summary
protected CodeInfo()
          This constructor is only used by SkippedCodeInfo
  CodeInfo(DataInput in, ConstantPool cp)
          Make up a new attribute
  CodeInfo(Instruction[] instructions, HandlerInfo[] handlers, LineNumberInfo[] lineNumbers, LocalVariableInfo[] localVariables)
          Make up a new attribute
 
Method Summary
 int getCodeLength()
          Returns the length in bytes of the instruction array.
 HandlerInfo[] getHandlers()
          Returns handlers
 Instruction[] getInstructions()
          Returns the instruction of code
 LineNumberInfo[] getLineNumbers()
          Returns line number information
 LocalVariableInfo[] getLocalVariables()
          Returns local variable information
 int getMaxLocals()
          Returns the number of locals vars used in this method (including parameters).
 int getMaxStack()
          Returns the highest value reached by the stack.
 int getParameterCount()
          Gets the number of parameters for this method.
 void setParameterCount(int paramCnt)
          Sets the number of parameters for this method.
 void transformAccessors(AccessorTransformer transformer)
          Transforms the accessors contained in this class.
 
Methods inherited from class at.dms.classfile.Attribute
read, readCodeInfoAttribute, readInterfaceOnly
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DUM_INFO

public static final CodeInfo DUM_INFO
Constructor Detail

CodeInfo

public CodeInfo(Instruction[] instructions,
                HandlerInfo[] handlers,
                LineNumberInfo[] lineNumbers,
                LocalVariableInfo[] localVariables)
Make up a new attribute

Parameters:
instructions - array of VM instructions
handlers - exception handlers
lineNumbers - line number information
localVariables - local variable information

CodeInfo

public CodeInfo(DataInput in,
                ConstantPool cp)
         throws IOException,
                ClassFileFormatException
Make up a new attribute

Parameters:
in - the stream to read from
cp - the constant pool
Throws:
IOException - an io problem has occured
ClassFileFormatException - attempt to write a bad classfile info

CodeInfo

protected CodeInfo()
This constructor is only used by SkippedCodeInfo

Method Detail

transformAccessors

public void transformAccessors(AccessorTransformer transformer)
                        throws BadAccessorException
Transforms the accessors contained in this class.

Parameters:
transformer - the transformer used to transform accessors
Throws:
BadAccessorException

getInstructions

public Instruction[] getInstructions()
Returns the instruction of code


getHandlers

public HandlerInfo[] getHandlers()
Returns handlers


getLineNumbers

public LineNumberInfo[] getLineNumbers()
Returns line number information


getLocalVariables

public LocalVariableInfo[] getLocalVariables()
Returns local variable information


getCodeLength

public int getCodeLength()
Returns the length in bytes of the instruction array.


getMaxStack

public int getMaxStack()
Returns the highest value reached by the stack.


getMaxLocals

public int getMaxLocals()
Returns the number of locals vars used in this method (including parameters).


setParameterCount

public void setParameterCount(int paramCnt)
Sets the number of parameters for this method.


getParameterCount

public int getParameterCount()
Gets the number of parameters for this method.