Top Inners Fields Constructors Methods
org.aspectj.weaver.reflect

public Class StandardShadowMatchImpl

extends Object
implements ShadowMatch
Class Inheritance
All Implemented Interfaces
org.aspectj.weaver.tools.ShadowMatch
Imports
org.aspectj.util.FuzzyBoolean, org.aspectj.weaver.ResolvedMember, .ResolvedType, .World, org.aspectj.weaver.ast.And, .Call, .FieldGetCall, .HasAnnotation, .ITestVisitor, .Instanceof, .Literal, .Not, .Or, .Test, org.aspectj.weaver.internal.tools.MatchingContextBasedTest, org.aspectj.weaver.patterns.ExposedState, org.aspectj.weaver.tools.DefaultMatchingContext, .JoinPointMatch, .MatchingContext, .PointcutParameter, .ShadowMatch

Author
colyer Implementation of ShadowMatch for reflection based worlds.

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class

Field Summary

Modifier and TypeField and Description
private FuzzyBoolean
private MatchingContext
private PointcutParameter[]
private Test
private ExposedState
private ResolvedMember
private ResolvedMember
private ResolvedType

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public boolean
alwaysMatches()

Implements org.aspectj.weaver.tools.ShadowMatch.alwaysMatches.

True iff the pointcut expression will match any join point at this shadow (for example, any call to the given method).
private PointcutParameter[]
getPointcutParameters(Object thisObject, Object targetObject, Object[] args)

public JoinPointMatch
matchesJoinPoint(Object
the object bound to this at the join point
thisObject
,
Object
the object bound to target at the join point
targetObject
,
Object[]
the arguments at the join point
args
)

Implements org.aspectj.weaver.tools.ShadowMatch.matchesJoinPoint.

Return the result of matching a join point at this shadow with the given this, target, and args.
public boolean
maybeMatches()

Implements org.aspectj.weaver.tools.ShadowMatch.maybeMatches.

True if the pointcut expression may match some join points at this shadow (for example, some calls to the given method may match, depending on the type of the caller).
public boolean
neverMatches()

Implements org.aspectj.weaver.tools.ShadowMatch.neverMatches.

True iff the pointcut expression can never match any join point at this shadow (for example, the pointcut will never match a call to the given method).
public void
setMatchingContext(MatchingContext aMatchContext)

Implements org.aspectj.weaver.tools.ShadowMatch.setMatchingContext.

Set a matching context to be used when matching join points.
public void
public void
public void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

matchback to summary
private FuzzyBoolean match
matchContextback to summary
private MatchingContext matchContext
paramsback to summary
private PointcutParameter[] params
residualTestback to summary
private Test residualTest
stateback to summary
private ExposedState state
subjectback to summary
private ResolvedMember subject
withinCodeback to summary
private ResolvedMember withinCode
withinTypeback to summary
private ResolvedType withinType

Constructor Detail

StandardShadowMatchImplback to summary
public StandardShadowMatchImpl(FuzzyBoolean match, Test test, ExposedState state, PointcutParameter[] params)

Method Detail

alwaysMatchesback to summary
public boolean alwaysMatches()

Implements org.aspectj.weaver.tools.ShadowMatch.alwaysMatches.

Doc from org.aspectj.weaver.tools.ShadowMatch.alwaysMatches.

True iff the pointcut expression will match any join point at this shadow (for example, any call to the given method).

getPointcutParametersback to summary
private PointcutParameter[] getPointcutParameters(Object thisObject, Object targetObject, Object[] args)
matchesJoinPointback to summary
public JoinPointMatch matchesJoinPoint(Object thisObject, Object targetObject, Object[] args)

Implements org.aspectj.weaver.tools.ShadowMatch.matchesJoinPoint.

Doc from org.aspectj.weaver.tools.ShadowMatch.matchesJoinPoint.

Return the result of matching a join point at this shadow with the given this, target, and args.

Parameters
thisObject:Object

the object bound to this at the join point

targetObject:Object

the object bound to target at the join point

args:Object[]

the arguments at the join point

maybeMatchesback to summary
public boolean maybeMatches()

Implements org.aspectj.weaver.tools.ShadowMatch.maybeMatches.

Doc from org.aspectj.weaver.tools.ShadowMatch.maybeMatches.

True if the pointcut expression may match some join points at this shadow (for example, some calls to the given method may match, depending on the type of the caller).

If alwaysMatches is true, then maybeMatches is always true.

neverMatchesback to summary
public boolean neverMatches()

Implements org.aspectj.weaver.tools.ShadowMatch.neverMatches.

Doc from org.aspectj.weaver.tools.ShadowMatch.neverMatches.

True iff the pointcut expression can never match any join point at this shadow (for example, the pointcut will never match a call to the given method).

setMatchingContextback to summary
public void setMatchingContext(MatchingContext aMatchContext)

Implements org.aspectj.weaver.tools.ShadowMatch.setMatchingContext.

Doc from org.aspectj.weaver.tools.ShadowMatch.setMatchingContext.

Set a matching context to be used when matching join points.

setSubjectback to summary
public void setSubject(ResolvedMember aMember)
setWithinCodeback to summary
public void setWithinCode(ResolvedMember aMember)
setWithinTypeback to summary
public void setWithinType(ResolvedType aClass)
org.aspectj.weaver.reflect back to summary

private Class StandardShadowMatchImpl.RuntimeTestEvaluator

extends Object
implements ITestVisitor
Class Inheritance
  • java.lang.Object
  • org.aspectj.weaver.reflect.StandardShadowMatchImpl.RuntimeTestEvaluator
All Implemented Interfaces
org.aspectj.weaver.ast.ITestVisitor

Field Summary

Modifier and TypeField and Description
private final Object[]
private final MatchingContext
private boolean
private final Object
private final Test
private final Object

Constructor Summary

AccessConstructor and Description
public
RuntimeTestEvaluator(Test aTest, Object thisObject, Object targetObject, Object[] args, MatchingContext context)

Method Summary

Modifier and TypeMethod and Description
public boolean
public void
public void
public void
public void
public void
public void
public void
public void
public void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

argsback to summary
private final Object[] args
matchContextback to summary
private final MatchingContext matchContext
matchesback to summary
private boolean matches
targetObjectback to summary
private final Object targetObject
testback to summary
private final Test test
thisObjectback to summary
private final Object thisObject

Constructor Detail

RuntimeTestEvaluatorback to summary
public RuntimeTestEvaluator(Test aTest, Object thisObject, Object targetObject, Object[] args, MatchingContext context)

Method Detail

matchesback to summary
public boolean matches()
visitback to summary
public void visit(And e)

Implements org.aspectj.weaver.ast.ITestVisitor.visit.

visitback to summary
public void visit(Instanceof i)

Implements org.aspectj.weaver.ast.ITestVisitor.visit.

visitback to summary
public void visit(MatchingContextBasedTest matchingContextTest)

Implements org.aspectj.weaver.ast.ITestVisitor.visit.

visitback to summary
public void visit(Not not)

Implements org.aspectj.weaver.ast.ITestVisitor.visit.

visitback to summary
public void visit(Or or)

Implements org.aspectj.weaver.ast.ITestVisitor.visit.

visitback to summary
public void visit(Literal literal)

Implements org.aspectj.weaver.ast.ITestVisitor.visit.

visitback to summary
public void visit(Call call)

Implements org.aspectj.weaver.ast.ITestVisitor.visit.

visitback to summary
public void visit(FieldGetCall fieldGetCall)

Implements org.aspectj.weaver.ast.ITestVisitor.visit.

visitback to summary
public void visit(HasAnnotation hasAnnotation)

Implements org.aspectj.weaver.ast.ITestVisitor.visit.