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

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

public class AnnotationDefaultAttributeInfo
extends AAttributeInfo

Represents the AnnotationDefault 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
AnnotationDefaultAttributeInfo(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.
<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.
 AAnnotationsAttributeInfo.Annotation.AMemberValue getDefaultValue()
          Returns the default value stored in this attribute.
 void setDefaultValue(AAnnotationsAttributeInfo.Annotation.AMemberValue defaultValue)
          Set the default value stored in this attribute.
 java.lang.String toString()
          Return a human-readable version of this attribute.
 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
clone, equals, getData, getName, hashCode, read, setData, setName, write
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AnnotationDefaultAttributeInfo

public AnnotationDefaultAttributeInfo(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

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

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.

getDefaultValue

public AAnnotationsAttributeInfo.Annotation.AMemberValue getDefaultValue()
Returns the default value stored in this attribute.

Returns:
default value

setDefaultValue

public void setDefaultValue(AAnnotationsAttributeInfo.Annotation.AMemberValue defaultValue)
Set the default value stored in this attribute.

Parameters:
defaultValue - new default value

toString

public java.lang.String toString()
Return a human-readable version of this attribute.

Overrides:
toString in class AAttributeInfo
Returns:
string

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