org.aspectj.weaver.patterns
Class CflowPointcut
java.lang.Object
org.aspectj.weaver.patterns.PatternNode
org.aspectj.weaver.patterns.Pointcut
org.aspectj.weaver.patterns.CflowPointcut
- All Implemented Interfaces:
- IHasPosition, IHasSourceLocation
public class CflowPointcut
- extends Pointcut
|
Field Summary |
static ResolvedPointcutDefinition |
CFLOW_MARKER
Used to indicate that we're in the context of a cflow when concretizing if's
Will be removed or replaced with something better when we handle this as a non-error |
| Fields inherited from class org.aspectj.weaver.patterns.Pointcut |
AND, ANNOTATION, ARGS, ATARGS, ATTHIS_OR_TARGET, ATWITHIN, ATWITHINCODE, CFLOW, CONCRETE, EMPTY_STRING_ARRAY, HANDLER, hasBeenParameterized, IF, IF_FALSE, IF_TRUE, KINDED, lastMatchedShadowId, m_ignoreUnboundBindingForNames, NONE, NOT, OR, pointcutKind, REFERENCE, RESOLVED, state, SYMBOLIC, THIS_OR_TARGET, USER_EXTENSION, WITHIN, WITHINCODE |
| Methods inherited from class org.aspectj.weaver.patterns.Pointcut |
assertState, check, concretize, concretize, concretize, findResidue, fromString, getPointcutKind, getTypeVariablesInScope, isDeclare, makeMatchesNothing, match, postRead, resolve, setTypeVariablesInScope, shouldCopyLocationForConcretize |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
CFLOW_MARKER
public static final ResolvedPointcutDefinition CFLOW_MARKER
- Used to indicate that we're in the context of a cflow when concretizing if's
Will be removed or replaced with something better when we handle this as a non-error
CflowPointcut
public CflowPointcut(Pointcut entry,
boolean isBelow,
int[] freeVars)
isCflowBelow
public boolean isCflowBelow()
- Returns:
- Returns true is this is a cflowbelow pointcut
couldMatchKinds
public int couldMatchKinds()
- Description copied from class:
Pointcut
- The set of ShadowKinds that this Pointcut could possibly match - an int whose bits are set according to the Kinds specified
in Shadow.java
- Specified by:
couldMatchKinds in class Pointcut
getEntry
public Pointcut getEntry()
fastMatch
public FuzzyBoolean fastMatch(FastMatchInfo type)
- Description copied from class:
Pointcut
- Could I match any shadows in the code defined within this type?
- Specified by:
fastMatch in class Pointcut
matchInternal
protected FuzzyBoolean matchInternal(Shadow shadow)
- Specified by:
matchInternal in class Pointcut
write
public void write(CompressingDataOutputStream s)
throws java.io.IOException
- Specified by:
write in class PatternNode
- Throws:
java.io.IOException
read
public static Pointcut read(VersionedDataInputStream s,
ISourceContext context)
throws java.io.IOException
- Throws:
java.io.IOException
parameterizeWith
public Pointcut parameterizeWith(java.util.Map typeVariableMap,
World w)
- Specified by:
parameterizeWith in class Pointcut
resolveBindings
public void resolveBindings(IScope scope,
Bindings bindings)
- Specified by:
resolveBindings in class Pointcut
equals
public boolean equals(java.lang.Object other)
- Overrides:
equals in class java.lang.Object
hashCode
public int hashCode()
- Overrides:
hashCode in class java.lang.Object
toString
public java.lang.String toString()
- Overrides:
toString in class java.lang.Object
findResidueInternal
protected Test findResidueInternal(Shadow shadow,
ExposedState state)
- Specified by:
findResidueInternal in class Pointcut
concretize1
public Pointcut concretize1(ResolvedType inAspect,
ResolvedType declaringType,
IntMap bindings)
- Description copied from class:
Pointcut
- Resolves and removes ReferencePointcuts, replacing with basic ones
- Specified by:
concretize1 in class Pointcut
- Parameters:
inAspect - the aspect to resolve relative tobindings - a Map from formal index in the current lexical context -> formal index in the concrete advice that will run
This must always return a new Pointcut object (even if the concretized Pointcut is identical to the resolved one).
That behavior is assumed in many places. XXX fix implementors to handle state
accept
public java.lang.Object accept(PatternNodeVisitor visitor,
java.lang.Object data)
- Specified by:
accept in class PatternNode