org.springframework.aop.aspectj
Class RuntimeTestWalker

java.lang.Object
  extended by org.springframework.aop.aspectj.RuntimeTestWalker

 class RuntimeTestWalker
extends java.lang.Object

This class encapsulates some AspectJ internal knowledge that should be pushed back into the AspectJ project in a future release.

It relies on implementation specific knowledge in AspectJ to break encapsulation and do something AspectJ was not designed to do: query the types of runtime tests that will be performed. The code here should migrate to ShadowMatch.getVariablesInvolvedInRuntimeTest() or some similar operation.

See .

Since:
2.0
Author:
Adrian Colyer, Ramnivas Laddad

Nested Class Summary
private static class RuntimeTestWalker.InstanceOfResidueTestVisitor
           
private static class RuntimeTestWalker.SubtypeSensitiveVarTypeTestVisitor
           
private static class RuntimeTestWalker.TargetInstanceOfResidueTestVisitor
          Check if residue of target(TYPE) kind.
private static class RuntimeTestWalker.TestVisitorAdapter
           
private static class RuntimeTestWalker.ThisInstanceOfResidueTestVisitor
          Check if residue of this(TYPE) kind.
 
Field Summary
private  Test runtimeTest
           
 
Constructor Summary
RuntimeTestWalker(ShadowMatch shadowMatch)
           
 
Method Summary
 boolean testsSubtypeSensitiveVars()
          If the test uses any of the this, target, at_this, at_target, and at_annotation vars, then it tests subtype sensitive vars.
 boolean testTargetInstanceOfResidue(java.lang.Class targetClass)
           
 boolean testThisInstanceOfResidue(java.lang.Class thisClass)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

runtimeTest

private final Test runtimeTest
Constructor Detail

RuntimeTestWalker

public RuntimeTestWalker(ShadowMatch shadowMatch)
Method Detail

testsSubtypeSensitiveVars

public boolean testsSubtypeSensitiveVars()
If the test uses any of the this, target, at_this, at_target, and at_annotation vars, then it tests subtype sensitive vars.


testThisInstanceOfResidue

public boolean testThisInstanceOfResidue(java.lang.Class thisClass)

testTargetInstanceOfResidue

public boolean testTargetInstanceOfResidue(java.lang.Class targetClass)