Class Declare

java.lang.Object
org.aspectj.weaver.patterns.PatternNode
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 Details

  • Constructor Details

    • Declare

      public Declare()
  • Method Details

    • read

      public static Declare read(VersionedDataInputStream s, ISourceContext context) throws IOException
      Throws:
      IOException
    • resolve

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

      public abstract Declare parameterizeWith(Map<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 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()