class RuntimeTestWalker
extends java.lang.Object
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.
Modifier and Type | Class and Description |
---|---|
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.
|
Modifier and Type | Field and Description |
---|---|
private static java.lang.reflect.Field |
myClassField |
private static java.lang.reflect.Field |
residualTestField |
private Test |
runtimeTest |
private static java.lang.reflect.Field |
varTypeField |
Constructor and Description |
---|
RuntimeTestWalker(ShadowMatch shadowMatch) |
Modifier and Type | Method and Description |
---|---|
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) |
private static final java.lang.reflect.Field residualTestField
private static final java.lang.reflect.Field varTypeField
private static final java.lang.reflect.Field myClassField
private final Test runtimeTest
public boolean testsSubtypeSensitiveVars()
public boolean testThisInstanceOfResidue(java.lang.Class<?> thisClass)
public boolean testTargetInstanceOfResidue(java.lang.Class<?> targetClass)