org.aspectj.weaver
Class AjAttribute
java.lang.Object
org.aspectj.weaver.AjAttribute
- Direct Known Subclasses:
- AjAttribute.AdviceAttribute, AjAttribute.AjSynthetic, AjAttribute.Aspect, AjAttribute.DeclareAttribute, AjAttribute.EffectiveSignatureAttribute, AjAttribute.MethodDeclarationLineNumberAttribute, AjAttribute.PointcutDeclarationAttribute, AjAttribute.PrivilegedAttribute, AjAttribute.SourceContextAttribute, AjAttribute.TypeMunger, AjAttribute.WeaverState, AjAttribute.WeaverVersionInfo
public abstract class AjAttribute
- extends java.lang.Object
These attributes are written to and read from .class files (see the JVM spec).
Each member or type can have a number of AjAttributes. Each such attribute is in 1-1 correspondence with an Unknown bcel
attribute. Creating one of these does NOTHING to the underlying thing, so if you really want to add an attribute to a particular
thing, well, you'd better actually do that.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AttributePrefix
public static final java.lang.String AttributePrefix
- See Also:
- Constant Field Values
AjAttribute
public AjAttribute()
write
protected abstract void write(CompressingDataOutputStream s)
throws java.io.IOException
- Throws:
java.io.IOException
getNameString
public abstract java.lang.String getNameString()
getNameChars
public char[] getNameChars()
getBytes
public byte[] getBytes(ConstantPoolWriter compressor)
- Just writes the contents
getAllBytes
public byte[] getAllBytes(short nameIndex,
ConstantPoolWriter dataCompressor)
- Writes the full attribute, i.e. name_index, length, and contents
- Parameters:
constantPool
-
read
public static AjAttribute read(AjAttribute.WeaverVersionInfo v,
java.lang.String name,
byte[] bytes,
ISourceContext context,
World w,
ConstantPoolReader dataDecompressor)