org.aspectj.weaver.patterns
Class PerThisOrTargetPointcutVisitor
java.lang.Object
org.aspectj.weaver.patterns.AbstractPatternNodeVisitor
org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor
- All Implemented Interfaces:
- PatternNodeVisitor
public class PerThisOrTargetPointcutVisitor
- extends AbstractPatternNodeVisitor
A visitor that turns a pointcut into a type pattern equivalent for a perthis or pertarget matching: - pertarget(target(Foo)) =>
Foo+ (this one is a special case..) - pertarget(execution(* Foo.do()) => Foo - perthis(call(* Foo.do()) => * - perthis(!call(*
Foo.do()) => * (see how the ! has been absorbed here..)
- Author:
- Alexandre Vasseur
Method Summary |
TypePattern |
getPerTypePointcut(Pointcut perClausePointcut)
|
java.lang.Object |
visit(AndPointcut node,
java.lang.Object data)
|
java.lang.Object |
visit(AnnotationPointcut node,
java.lang.Object data)
|
java.lang.Object |
visit(ArgsAnnotationPointcut node,
java.lang.Object data)
|
java.lang.Object |
visit(ArgsPointcut node,
java.lang.Object data)
|
java.lang.Object |
visit(CflowPointcut node,
java.lang.Object data)
|
java.lang.Object |
visit(ConcreteCflowPointcut node,
java.lang.Object data)
|
java.lang.Object |
visit(HandlerPointcut node,
java.lang.Object data)
|
java.lang.Object |
visit(IfPointcut node,
java.lang.Object data)
|
java.lang.Object |
visit(KindedPointcut node,
java.lang.Object data)
|
java.lang.Object |
visit(NotPointcut node,
java.lang.Object data)
|
java.lang.Object |
visit(OrPointcut node,
java.lang.Object data)
|
java.lang.Object |
visit(org.aspectj.weaver.patterns.Pointcut.MatchesNothingPointcut node,
java.lang.Object data)
|
java.lang.Object |
visit(ReferencePointcut node,
java.lang.Object data)
|
java.lang.Object |
visit(ThisOrTargetAnnotationPointcut node,
java.lang.Object data)
|
java.lang.Object |
visit(ThisOrTargetPointcut node,
java.lang.Object data)
|
java.lang.Object |
visit(WithinAnnotationPointcut node,
java.lang.Object data)
|
java.lang.Object |
visit(WithinCodeAnnotationPointcut node,
java.lang.Object data)
|
java.lang.Object |
visit(WithincodePointcut node,
java.lang.Object data)
|
java.lang.Object |
visit(WithinPointcut node,
java.lang.Object data)
|
Methods inherited from class org.aspectj.weaver.patterns.AbstractPatternNodeVisitor |
visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
PerThisOrTargetPointcutVisitor
public PerThisOrTargetPointcutVisitor(boolean isTarget,
ResolvedType fromAspectType)
getPerTypePointcut
public TypePattern getPerTypePointcut(Pointcut perClausePointcut)
visit
public java.lang.Object visit(WithinPointcut node,
java.lang.Object data)
- Specified by:
visit
in interface PatternNodeVisitor
- Overrides:
visit
in class AbstractPatternNodeVisitor
visit
public java.lang.Object visit(WithincodePointcut node,
java.lang.Object data)
- Specified by:
visit
in interface PatternNodeVisitor
- Overrides:
visit
in class AbstractPatternNodeVisitor
visit
public java.lang.Object visit(WithinAnnotationPointcut node,
java.lang.Object data)
- Specified by:
visit
in interface PatternNodeVisitor
- Overrides:
visit
in class AbstractPatternNodeVisitor
visit
public java.lang.Object visit(WithinCodeAnnotationPointcut node,
java.lang.Object data)
- Specified by:
visit
in interface PatternNodeVisitor
- Overrides:
visit
in class AbstractPatternNodeVisitor
visit
public java.lang.Object visit(KindedPointcut node,
java.lang.Object data)
- Specified by:
visit
in interface PatternNodeVisitor
- Overrides:
visit
in class AbstractPatternNodeVisitor
visit
public java.lang.Object visit(AndPointcut node,
java.lang.Object data)
- Specified by:
visit
in interface PatternNodeVisitor
- Overrides:
visit
in class AbstractPatternNodeVisitor
visit
public java.lang.Object visit(OrPointcut node,
java.lang.Object data)
- Specified by:
visit
in interface PatternNodeVisitor
- Overrides:
visit
in class AbstractPatternNodeVisitor
visit
public java.lang.Object visit(NotPointcut node,
java.lang.Object data)
- Specified by:
visit
in interface PatternNodeVisitor
- Overrides:
visit
in class AbstractPatternNodeVisitor
visit
public java.lang.Object visit(ThisOrTargetAnnotationPointcut node,
java.lang.Object data)
- Specified by:
visit
in interface PatternNodeVisitor
- Overrides:
visit
in class AbstractPatternNodeVisitor
visit
public java.lang.Object visit(ThisOrTargetPointcut node,
java.lang.Object data)
- Specified by:
visit
in interface PatternNodeVisitor
- Overrides:
visit
in class AbstractPatternNodeVisitor
visit
public java.lang.Object visit(ReferencePointcut node,
java.lang.Object data)
- Specified by:
visit
in interface PatternNodeVisitor
- Overrides:
visit
in class AbstractPatternNodeVisitor
visit
public java.lang.Object visit(IfPointcut node,
java.lang.Object data)
- Specified by:
visit
in interface PatternNodeVisitor
- Overrides:
visit
in class AbstractPatternNodeVisitor
visit
public java.lang.Object visit(HandlerPointcut node,
java.lang.Object data)
- Specified by:
visit
in interface PatternNodeVisitor
- Overrides:
visit
in class AbstractPatternNodeVisitor
visit
public java.lang.Object visit(CflowPointcut node,
java.lang.Object data)
- Specified by:
visit
in interface PatternNodeVisitor
- Overrides:
visit
in class AbstractPatternNodeVisitor
visit
public java.lang.Object visit(ConcreteCflowPointcut node,
java.lang.Object data)
- Specified by:
visit
in interface PatternNodeVisitor
- Overrides:
visit
in class AbstractPatternNodeVisitor
visit
public java.lang.Object visit(ArgsPointcut node,
java.lang.Object data)
- Specified by:
visit
in interface PatternNodeVisitor
- Overrides:
visit
in class AbstractPatternNodeVisitor
visit
public java.lang.Object visit(ArgsAnnotationPointcut node,
java.lang.Object data)
- Specified by:
visit
in interface PatternNodeVisitor
- Overrides:
visit
in class AbstractPatternNodeVisitor
visit
public java.lang.Object visit(AnnotationPointcut node,
java.lang.Object data)
- Specified by:
visit
in interface PatternNodeVisitor
- Overrides:
visit
in class AbstractPatternNodeVisitor
visit
public java.lang.Object visit(org.aspectj.weaver.patterns.Pointcut.MatchesNothingPointcut node,
java.lang.Object data)
- Specified by:
visit
in interface PatternNodeVisitor
- Overrides:
visit
in class AbstractPatternNodeVisitor