Top Description Inners Fields Constructors Methods
org.aspectj.weaver.patterns

public Class PerThisOrTargetPointcutVisitor

extends AbstractPatternNodeVisitor
Class Inheritance
Imports
org.aspectj.weaver.BCException, .ResolvedPointcutDefinition, .ResolvedType, .Shadow

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 (alex AT gnilux DOT com)

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class
PerThisOrTargetPointcutVisitor.TypePatternMayBe

A MayBe type pattern that acts as ANY except that !MAYBE = MAYBE

Field Summary

Modifier and TypeField and Description
private final ResolvedType
private final boolean
private static final TypePattern
MAYBE

A maybe marker

Constructor Summary

AccessConstructor and Description
public
PerThisOrTargetPointcutVisitor(boolean isTarget, ResolvedType fromAspectType)

Method Summary

Modifier and TypeMethod and Description
public TypePattern
getPerTypePointcut(Pointcut perClausePointcut)

public Object
public Object
public Object
public Object
public Object
public Object
public Object
public Object
public Object
public Object
public Object
public Object
public Object
public Object
public Object
public Object
public Object
public Object
public Object
Inherited from org.aspectj.weaver.patterns.AbstractPatternNodeVisitor:
visitvisitvisitvisitvisitvisitvisitvisitvisitvisitvisitvisitvisitvisitvisitvisitvisitvisitvisitvisitvisitvisitvisitvisitvisitvisitvisitvisitvisitvisitvisitvisitvisitvisitvisitvisitvisitvisitvisit

Field Detail

m_fromAspectTypeback to summary
private final ResolvedType m_fromAspectType
m_isTargetback to summary
private final boolean m_isTarget
MAYBEback to summary
private static final TypePattern MAYBE

A maybe marker

Constructor Detail

PerThisOrTargetPointcutVisitorback to summary
public PerThisOrTargetPointcutVisitor(boolean isTarget, ResolvedType fromAspectType)

Method Detail

getPerTypePointcutback to summary
public TypePattern getPerTypePointcut(Pointcut perClausePointcut)
visitback to summary
public Object visit(WithinPointcut node, Object data)

Overrides org.aspectj.weaver.patterns.AbstractPatternNodeVisitor.visit.

Implements org.aspectj.weaver.patterns.PatternNodeVisitor.visit.

visitback to summary
public Object visit(WithincodePointcut node, Object data)

Overrides org.aspectj.weaver.patterns.AbstractPatternNodeVisitor.visit.

Implements org.aspectj.weaver.patterns.PatternNodeVisitor.visit.

visitback to summary
public Object visit(WithinAnnotationPointcut node, Object data)

Overrides org.aspectj.weaver.patterns.AbstractPatternNodeVisitor.visit.

Implements org.aspectj.weaver.patterns.PatternNodeVisitor.visit.

visitback to summary
public Object visit(WithinCodeAnnotationPointcut node, Object data)

Overrides org.aspectj.weaver.patterns.AbstractPatternNodeVisitor.visit.

Implements org.aspectj.weaver.patterns.PatternNodeVisitor.visit.

visitback to summary
public Object visit(KindedPointcut node, Object data)

Overrides org.aspectj.weaver.patterns.AbstractPatternNodeVisitor.visit.

Implements org.aspectj.weaver.patterns.PatternNodeVisitor.visit.

visitback to summary
public Object visit(AndPointcut node, Object data)

Overrides org.aspectj.weaver.patterns.AbstractPatternNodeVisitor.visit.

Implements org.aspectj.weaver.patterns.PatternNodeVisitor.visit.

visitback to summary
public Object visit(OrPointcut node, Object data)

Overrides org.aspectj.weaver.patterns.AbstractPatternNodeVisitor.visit.

Implements org.aspectj.weaver.patterns.PatternNodeVisitor.visit.

visitback to summary
public Object visit(NotPointcut node, Object data)

Overrides org.aspectj.weaver.patterns.AbstractPatternNodeVisitor.visit.

Implements org.aspectj.weaver.patterns.PatternNodeVisitor.visit.

visitback to summary
public Object visit(ThisOrTargetAnnotationPointcut node, Object data)

Overrides org.aspectj.weaver.patterns.AbstractPatternNodeVisitor.visit.

Implements org.aspectj.weaver.patterns.PatternNodeVisitor.visit.

visitback to summary
public Object visit(ThisOrTargetPointcut node, Object data)

Overrides org.aspectj.weaver.patterns.AbstractPatternNodeVisitor.visit.

Implements org.aspectj.weaver.patterns.PatternNodeVisitor.visit.

visitback to summary
public Object visit(ReferencePointcut node, Object data)

Overrides org.aspectj.weaver.patterns.AbstractPatternNodeVisitor.visit.

Implements org.aspectj.weaver.patterns.PatternNodeVisitor.visit.

visitback to summary
public Object visit(IfPointcut node, Object data)

Overrides org.aspectj.weaver.patterns.AbstractPatternNodeVisitor.visit.

Implements org.aspectj.weaver.patterns.PatternNodeVisitor.visit.

visitback to summary
public Object visit(HandlerPointcut node, Object data)

Overrides org.aspectj.weaver.patterns.AbstractPatternNodeVisitor.visit.

Implements org.aspectj.weaver.patterns.PatternNodeVisitor.visit.

visitback to summary
public Object visit(CflowPointcut node, Object data)

Overrides org.aspectj.weaver.patterns.AbstractPatternNodeVisitor.visit.

Implements org.aspectj.weaver.patterns.PatternNodeVisitor.visit.

visitback to summary
public Object visit(ConcreteCflowPointcut node, Object data)

Overrides org.aspectj.weaver.patterns.AbstractPatternNodeVisitor.visit.

Implements org.aspectj.weaver.patterns.PatternNodeVisitor.visit.

visitback to summary
public Object visit(ArgsPointcut node, Object data)

Overrides org.aspectj.weaver.patterns.AbstractPatternNodeVisitor.visit.

Implements org.aspectj.weaver.patterns.PatternNodeVisitor.visit.

visitback to summary
public Object visit(ArgsAnnotationPointcut node, Object data)

Overrides org.aspectj.weaver.patterns.AbstractPatternNodeVisitor.visit.

Implements org.aspectj.weaver.patterns.PatternNodeVisitor.visit.

visitback to summary
public Object visit(AnnotationPointcut node, Object data)

Overrides org.aspectj.weaver.patterns.AbstractPatternNodeVisitor.visit.

Implements org.aspectj.weaver.patterns.PatternNodeVisitor.visit.

visitback to summary
public Object visit(Pointcut.MatchesNothingPointcut node, Object data)

Overrides org.aspectj.weaver.patterns.AbstractPatternNodeVisitor.visit.

Implements org.aspectj.weaver.patterns.PatternNodeVisitor.visit.

org.aspectj.weaver.patterns back to summary

private Class PerThisOrTargetPointcutVisitor.TypePatternMayBe

extends AnyTypePattern
Class Inheritance

A MayBe type pattern that acts as ANY except that !MAYBE = MAYBE
Author
Alexandre Vasseur

Constructor Summary

AccessConstructor and Description
private

Method Summary

Inherited from org.aspectj.weaver.patterns.AnyTypePattern:
acceptcouldEverMatchSameTypesAsequalshashCodeisStarmatchesArraymatchesExactlymatchesExactlymatchesInstanceofmatchesSubtypesparameterizeWithtoStringwrite

Constructor Detail

TypePatternMayBeback to summary
private TypePatternMayBe()