Package org.aspectj.weaver.patterns
Class ThisOrTargetPointcut
java.lang.Object
org.aspectj.weaver.patterns.PatternNode
org.aspectj.weaver.patterns.Pointcut
org.aspectj.weaver.patterns.NameBindingPointcut
org.aspectj.weaver.patterns.ThisOrTargetPointcut
- All Implemented Interfaces:
IHasPosition,IHasSourceLocation
Corresponds to target or this pcd.
type is initially a WildTypePattern. If it stays that way, it's a this(Foo) type deal. however, the resolveBindings method may convert it to a BindingTypePattern, in which case, it's a this(foo) type deal.
- Author:
- Erik Hilsdale, Jim Hugunin
-
Nested Class Summary
Nested classes/interfaces inherited from class org.aspectj.weaver.patterns.Pointcut
Pointcut.State -
Field Summary
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, WITHINCODEFields inherited from class org.aspectj.weaver.patterns.PatternNode
end, sourceContext, start -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaccept(PatternNodeVisitor visitor, Object data)concretize1(ResolvedType inAspect, ResolvedType declaringType, IntMap bindings)Resolves and removes ReferencePointcuts, replacing with basic onesintThe set of ShadowKinds that this Pointcut could possibly match - an int whose bits are set according to the Kinds specified in Shadow.javabooleanfastMatch(FastMatchInfo type)Could I match any shadows in the code defined within this type?protected TestfindResidueInternal(Shadow shadow, ExposedState state)Residue is the remainder of the pointcut match that couldn't be performed with the purely static information at compile time and this method returns the residue of a pointcut at a particular shadow.getType()inthashCode()booleanbooleanisThis()protected FuzzyBooleanmatchInternal(Shadow shadow)parameterizeWith(Map<String,UnresolvedType> typeVariableMap, World w)voidpostRead(ResolvedType enclosingType)static Pointcutread(VersionedDataInputStream s, ISourceContext context)voidresolveBindings(IScope scope, Bindings bindings)toString()voidMethods inherited from class org.aspectj.weaver.patterns.NameBindingPointcut
exposeStateForVarMethods inherited from class org.aspectj.weaver.patterns.Pointcut
assertState, check, concretize, concretize, concretize, findResidue, fromString, getPointcutKind, getTypeVariablesInScope, isDeclare, makeMatchesNothing, match, resolve, setTypeVariablesInScope, shouldCopyLocationForConcretizeMethods inherited from class org.aspectj.weaver.patterns.PatternNode
copyLocationFrom, getEnd, getFileName, getSourceContext, getSourceLocation, getStart, readLocation, setLocation, traverse, writeLocation
-
Constructor Details
-
ThisOrTargetPointcut
-
-
Method Details
-
isBinding
public boolean isBinding() -
getType
-
isThis
public boolean isThis() -
parameterizeWith
- Specified by:
parameterizeWithin classPointcut
-
couldMatchKinds
public int couldMatchKinds()Description copied from class:PointcutThe 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:
couldMatchKindsin classPointcut
-
fastMatch
Description copied from class:PointcutCould I match any shadows in the code defined within this type? -
matchInternal
- Specified by:
matchInternalin classPointcut
-
write
- Specified by:
writein classPatternNode- Throws:
IOException
-
read
- Throws:
IOException
-
resolveBindings
- Specified by:
resolveBindingsin classPointcut
-
postRead
-
getBindingAnnotationTypePatterns
- Specified by:
getBindingAnnotationTypePatternsin classNameBindingPointcut
-
getBindingTypePatterns
- Specified by:
getBindingTypePatternsin classNameBindingPointcut
-
equals
-
hashCode
public int hashCode() -
toString
-
findResidueInternal
Residue is the remainder of the pointcut match that couldn't be performed with the purely static information at compile time and this method returns the residue of a pointcut at a particular shadow.- Specified by:
findResidueInternalin classPointcut
-
concretize1
Description copied from class:PointcutResolves and removes ReferencePointcuts, replacing with basic ones- Specified by:
concretize1in classPointcut- 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
- Specified by:
acceptin classPatternNode
-