org.aspectj.weaver.patterns
Class Declare

java.lang.Object
  extended by org.aspectj.weaver.patterns.PatternNode
      extended by org.aspectj.weaver.patterns.Declare
All Implemented Interfaces:
IHasPosition, IHasSourceLocation
Direct Known Subclasses:
DeclareAnnotation, DeclareErrorOrWarning, DeclareParents, DeclarePrecedence, DeclareSoft, DeclareTypeErrorOrWarning

public abstract class Declare
extends PatternNode


Field Summary
static byte ANNOTATION
           
static byte DOMINATES
           
static byte ERROR_OR_WARNING
           
static byte PARENTS
           
static byte PARENTSMIXIN
           
static byte SOFT
           
static byte TYPE_ERROR_OR_WARNING
           
 
Fields inherited from class org.aspectj.weaver.patterns.PatternNode
end, sourceContext, start
 
Constructor Summary
Declare()
           
 
Method Summary
 ResolvedType getDeclaringType()
           
abstract  java.lang.String getNameSuffix()
          Declares have methods in the .class file against which info can be stored (for example, the annotation in the case of declare annotation).
abstract  boolean isAdviceLike()
          Indicates if this declare should be treated like advice.
abstract  Declare parameterizeWith(java.util.Map<java.lang.String,UnresolvedType> typeVariableBindingMap, World w)
          Returns a version of this declare element in which all references to type variables are replaced with their bindings given in the map.
static Declare read(VersionedDataInputStream s, ISourceContext context)
           
abstract  void resolve(IScope scope)
          Returns this declare mutated
 void setDeclaringType(ResolvedType aType)
           
 
Methods inherited from class org.aspectj.weaver.patterns.PatternNode
accept, copyLocationFrom, getEnd, getFileName, getSourceContext, getSourceLocation, getStart, readLocation, setLocation, traverse, write, writeLocation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ERROR_OR_WARNING

public static final byte ERROR_OR_WARNING
See Also:
Constant Field Values

PARENTS

public static final byte PARENTS
See Also:
Constant Field Values

SOFT

public static final byte SOFT
See Also:
Constant Field Values

DOMINATES

public static final byte DOMINATES
See Also:
Constant Field Values

ANNOTATION

public static final byte ANNOTATION
See Also:
Constant Field Values

PARENTSMIXIN

public static final byte PARENTSMIXIN
See Also:
Constant Field Values

TYPE_ERROR_OR_WARNING

public static final byte TYPE_ERROR_OR_WARNING
See Also:
Constant Field Values
Constructor Detail

Declare

public Declare()
Method Detail

read

public static Declare read(VersionedDataInputStream s,
                           ISourceContext context)
                    throws java.io.IOException
Throws:
java.io.IOException

resolve

public abstract void resolve(IScope scope)
Returns this declare mutated


parameterizeWith

public abstract Declare parameterizeWith(java.util.Map<java.lang.String,UnresolvedType> typeVariableBindingMap,
                                         World w)
Returns a version of this declare element in which all references to type variables are replaced with their bindings given in the map.


isAdviceLike

public abstract boolean isAdviceLike()
Indicates if this declare should be treated like advice. If true, the declare will have no effect in an abstract aspect. It will be inherited by any concrete aspects and will have an effect for each concrete aspect it is ultimately inherited by.


getNameSuffix

public abstract java.lang.String getNameSuffix()
Declares have methods in the .class file against which info can be stored (for example, the annotation in the case of declare annotation). The name is of the form ajc$declare_XXX_NNN where XXX can optionally be set in this 'getNameSuffix()' method - depending on whether, at weave time, we want to easily differentiate between the declare methods.


setDeclaringType

public void setDeclaringType(ResolvedType aType)

getDeclaringType

public ResolvedType getDeclaringType()