public class ReferencePointcut extends Pointcut
Pointcut.State
Modifier and Type | Field and Description |
---|---|
TypePatternList |
arguments |
java.lang.String |
name |
UnresolvedType |
onType |
TypePattern |
onTypeSymbolic |
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
end, sourceContext, start
Constructor and Description |
---|
ReferencePointcut(TypePattern onTypeSymbolic,
java.lang.String name,
TypePatternList arguments) |
ReferencePointcut(UnresolvedType onType,
java.lang.String name,
TypePatternList arguments) |
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
accept(PatternNodeVisitor visitor,
java.lang.Object data) |
Pointcut |
concretize1(ResolvedType searchStart,
ResolvedType declaringType,
IntMap bindings)
Resolves and removes ReferencePointcuts, replacing with basic ones
|
int |
couldMatchKinds()
The set of ShadowKinds that this Pointcut could possibly match - an int whose bits are set according to the Kinds specified
in Shadow.java
|
boolean |
equals(java.lang.Object other) |
FuzzyBoolean |
fastMatch(FastMatchInfo type)
Could I match any shadows in the code defined within this type?
|
protected Test |
findResidueInternal(Shadow shadow,
ExposedState state) |
int |
hashCode() |
protected FuzzyBoolean |
matchInternal(Shadow shadow)
Do I really match this shadow?
|
Pointcut |
parameterizeWith(java.util.Map<java.lang.String,UnresolvedType> typeVariableMap,
World w)
make a version of this pointcut with any refs to typeVariables replaced by their entry in the map.
|
void |
postRead(ResolvedType enclosingType) |
static Pointcut |
read(VersionedDataInputStream s,
ISourceContext context) |
void |
resolveBindings(IScope scope,
Bindings bindings) |
protected boolean |
shouldCopyLocationForConcretize() |
java.lang.String |
toString() |
void |
write(CompressingDataOutputStream s) |
assertState, check, concretize, concretize, concretize, findResidue, fromString, getPointcutKind, getTypeVariablesInScope, isDeclare, makeMatchesNothing, match, resolve, setTypeVariablesInScope
copyLocationFrom, getEnd, getFileName, getSourceContext, getSourceLocation, getStart, readLocation, setLocation, traverse, writeLocation
public UnresolvedType onType
public TypePattern onTypeSymbolic
public java.lang.String name
public TypePatternList arguments
public ReferencePointcut(TypePattern onTypeSymbolic, java.lang.String name, TypePatternList arguments)
public ReferencePointcut(UnresolvedType onType, java.lang.String name, TypePatternList arguments)
public int couldMatchKinds()
Pointcut
couldMatchKinds
in class Pointcut
public FuzzyBoolean fastMatch(FastMatchInfo type)
Pointcut
protected FuzzyBoolean matchInternal(Shadow shadow)
matchInternal
in class Pointcut
public java.lang.String toString()
toString
in class java.lang.Object
public void write(CompressingDataOutputStream s) throws java.io.IOException
write
in class PatternNode
java.io.IOException
public static Pointcut read(VersionedDataInputStream s, ISourceContext context) throws java.io.IOException
java.io.IOException
public void resolveBindings(IScope scope, Bindings bindings)
resolveBindings
in class Pointcut
public void postRead(ResolvedType enclosingType)
protected Test findResidueInternal(Shadow shadow, ExposedState state)
findResidueInternal
in class Pointcut
public Pointcut concretize1(ResolvedType searchStart, ResolvedType declaringType, IntMap bindings)
Pointcut
concretize1
in class Pointcut
searchStart
- 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 statepublic Pointcut parameterizeWith(java.util.Map<java.lang.String,UnresolvedType> typeVariableMap, World w)
parameterizeWith
in class Pointcut
protected boolean shouldCopyLocationForConcretize()
shouldCopyLocationForConcretize
in class Pointcut
public boolean equals(java.lang.Object other)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public java.lang.Object accept(PatternNodeVisitor visitor, java.lang.Object data)
accept
in class PatternNode