edu.rice.cs.cunit.classFile.attributes
Class ConstantValueAttributeInfo

java.lang.Object
  extended by edu.rice.cs.cunit.classFile.attributes.AAttributeInfo
      extended by edu.rice.cs.cunit.classFile.attributes.ConstantValueAttributeInfo
All Implemented Interfaces:
java.lang.Cloneable

public class ConstantValueAttributeInfo
extends AAttributeInfo

Represents the SourceFile attribute in a class file.

Author:
Mathias Ricken

Field Summary
 
Fields inherited from class edu.rice.cs.cunit.classFile.attributes.AAttributeInfo
_constantPool, _data, _name
 
Constructor Summary
ConstantValueAttributeInfo(AUTFPoolInfo name, byte[] data, ConstantPool cp)
          Constructor.
 
Method Summary
 void adjustPC(int startPC, int deltaPC)
          Adjust program counter values contained in this attribute, starting at startPC, by adding deltaPC to them.
 java.lang.Object clone()
          Creates and returns a copy of this object.
<R,D> R
execute(IAttributeVisitor<R,D> visitor, D param)
          Execute a visitor on this attribute.
static java.lang.String getAttributeName()
          Returns the name of the attribute as it appears in the class file.
 APoolInfo getConstantValue()
          Return the constant value information.
 void setConstantValue(APoolInfo newConst)
          Set the constant value information.
 void translatePC(int index, int deltaIndex, LineNumberTable oldLnt, LineNumberTable newLnt)
          Translate the program counter values contained in this attribute from an old line number table to a new one.
 
Methods inherited from class edu.rice.cs.cunit.classFile.attributes.AAttributeInfo
equals, getData, getName, hashCode, read, setData, setName, toString, write
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ConstantValueAttributeInfo

public ConstantValueAttributeInfo(AUTFPoolInfo name,
                                  byte[] data,
                                  ConstantPool cp)
                           throws java.lang.ClassFormatError
Constructor.

Parameters:
name - attribute name
data - attribute data
cp - constant pool
Throws:
java.lang.ClassFormatError
Method Detail

getConstantValue

public APoolInfo getConstantValue()
                           throws java.lang.ClassFormatError
Return the constant value information.

Returns:
constant value information
Throws:
java.lang.ClassFormatError

setConstantValue

public void setConstantValue(APoolInfo newConst)
                      throws java.lang.IllegalArgumentException
Set the constant value information.

Parameters:
newConst - new constant value information.
Throws:
java.lang.IllegalArgumentException

execute

public <R,D> R execute(IAttributeVisitor<R,D> visitor,
                       D param)
Execute a visitor on this attribute.

Specified by:
execute in class AAttributeInfo
Parameters:
visitor - visitor
param - visitor-specific parameter
Returns:
visitor-specific return value

adjustPC

public void adjustPC(int startPC,
                     int deltaPC)
Adjust program counter values contained in this attribute, starting at startPC, by adding deltaPC to them.

Specified by:
adjustPC in class AAttributeInfo
Parameters:
startPC - program counter to start at
deltaPC - change in program counter values

translatePC

public void translatePC(int index,
                        int deltaIndex,
                        LineNumberTable oldLnt,
                        LineNumberTable newLnt)
Translate the program counter values contained in this attribute from an old line number table to a new one.

Specified by:
translatePC in class AAttributeInfo
Parameters:
index - critical point (insertion or deletion point)
deltaIndex - delta value to add to all old line numbers greater than the critical point
oldLnt - old line number table
newLnt - new line number table

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Creates and returns a copy of this object.

Overrides:
clone in class AAttributeInfo
Throws:
java.lang.CloneNotSupportedException

getAttributeName

public static java.lang.String getAttributeName()
Returns the name of the attribute as it appears in the class file.

Returns:
name of the attribute.