public abstract class Advice extends ShadowMunger
Modifier and Type | Field and Description |
---|---|
protected AjAttribute.AdviceAttribute |
attribute |
protected UnresolvedType[] |
bindingParameterTypes |
protected ResolvedType |
concreteAspect |
static int |
ConstantReference |
static int |
ConstantValue |
protected TypePattern |
exceptionType |
static int |
ExtraArgument |
protected boolean |
hasMatchedAtLeastOnce |
protected java.util.List<ShadowMunger> |
innerCflowEntries |
protected AdviceKind |
kind |
ISourceLocation |
lastReportedMonitorExitJoinpointLocation |
protected int |
nFreeVars |
static int |
ParameterMask |
protected Member |
signature |
protected java.util.List<Lint.Kind> |
suppressedLintKinds |
static int |
ThisAspectInstance |
static int |
ThisEnclosingJoinPointStaticPart |
static int |
ThisJoinPoint |
static int |
ThisJoinPointStaticPart |
end, handle, NONE, pointcut, ShadowMungerAdvice, ShadowMungerDeow, sourceContext, start
Constructor and Description |
---|
Advice(AjAttribute.AdviceAttribute attribute,
Pointcut pointcut,
Member signature) |
fallbackCompareTo, getBinarySourceLocation, getDeclaringType, getEnd, getSourceLocation, getStart, getThrownExceptions, implementOn, isBinary, mustCheckExceptions, parameterizeWith, setDeclaringType, setPointcut, specializeOn, write
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
compareTo
protected AjAttribute.AdviceAttribute attribute
protected transient AdviceKind kind
protected Member signature
protected ResolvedType concreteAspect
protected java.util.List<ShadowMunger> innerCflowEntries
protected int nFreeVars
protected TypePattern exceptionType
protected UnresolvedType[] bindingParameterTypes
protected boolean hasMatchedAtLeastOnce
protected java.util.List<Lint.Kind> suppressedLintKinds
public ISourceLocation lastReportedMonitorExitJoinpointLocation
public static final int ExtraArgument
public static final int ThisJoinPoint
public static final int ThisJoinPointStaticPart
public static final int ThisEnclosingJoinPointStaticPart
public static final int ParameterMask
public static final int ConstantReference
public static final int ConstantValue
public static final int ThisAspectInstance
public Advice(AjAttribute.AdviceAttribute attribute, Pointcut pointcut, Member signature)
public static Advice makeCflowEntry(World world, Pointcut entry, boolean isBelow, Member stackField, int nFreeVars, java.util.List<ShadowMunger> innerCflowEntries, ResolvedType inAspect)
public static Advice makePerCflowEntry(World world, Pointcut entry, boolean isBelow, Member stackField, ResolvedType inAspect, java.util.List<ShadowMunger> innerCflowEntries)
public static Advice makePerObjectEntry(World world, Pointcut entry, boolean isThis, ResolvedType inAspect)
public static Advice makePerTypeWithinEntry(World world, Pointcut p, ResolvedType inAspect)
public static Advice makeSoftener(World world, Pointcut entry, TypePattern exceptionType, ResolvedType inAspect, IHasSourceLocation loc)
public boolean match(Shadow shadow, World world)
ShadowMunger
match
in class ShadowMunger
public AdviceKind getKind()
public Member getSignature()
public boolean hasExtraParameter()
protected int getExtraParameterFlags()
protected int getExtraParameterCount()
public UnresolvedType[] getBindingParameterTypes()
public void setBindingParameterTypes(UnresolvedType[] types)
public static int countOnes(int bits)
public int getBaseParameterCount()
public java.lang.String[] getBaseParameterNames(World world)
public UnresolvedType getExtraParameterType()
public UnresolvedType getDeclaringAspect()
protected Member getOriginalSignature()
protected java.lang.String extraParametersToString()
public Pointcut getPointcut()
getPointcut
in class ShadowMunger
public ShadowMunger concretize(ResolvedType fromType, World world, PerClause clause)
concretize
in class ShadowMunger
fromType
- is guaranteed to be a non-abstract aspectclause
- has been concretized at a higher levelpublic java.lang.String toString()
toString
in class java.lang.Object
public boolean equals(java.lang.Object other)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public void setLexicalPosition(int lexicalPosition)
public boolean isAnnotationStyle()
public ResolvedType getConcreteAspect()
getConcreteAspect
in class ShadowMunger
public boolean hasMatchedSomething()
public void setHasMatchedSomething(boolean hasMatchedSomething)
public abstract boolean hasDynamicTests()