org.codehaus.groovy.grails.compiler.injection.test
Class TestMixinTransformation
java.lang.Object
org.codehaus.groovy.grails.compiler.injection.test.TestMixinTransformation
- All Implemented Interfaces:
- org.codehaus.groovy.transform.ASTTransformation
- Direct Known Subclasses:
- TestForTransformation
public class TestMixinTransformation
- extends java.lang.Object
- implements org.codehaus.groovy.transform.ASTTransformation
An AST transformation to be applied to tests for adding behavior to a target test class.
- Since:
- 2.0
|
Method Summary |
protected void |
addMethodCallsToMethod(org.codehaus.groovy.ast.ClassNode classNode,
java.lang.String name,
java.util.List<org.codehaus.groovy.ast.MethodNode> methods)
|
protected void |
error(org.codehaus.groovy.control.SourceUnit source,
java.lang.String me)
|
protected org.codehaus.groovy.ast.expr.ListExpression |
getListOfClasses(org.codehaus.groovy.ast.AnnotationNode node)
|
protected org.codehaus.groovy.ast.stmt.BlockStatement |
getOrCreateMethodBody(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.MethodNode setupMethod,
java.lang.String name)
|
protected org.codehaus.groovy.ast.stmt.BlockStatement |
getOrCreateNoArgsMethodBody(org.codehaus.groovy.ast.ClassNode classNode,
java.lang.String name)
|
protected boolean |
hasAnnotation(org.codehaus.groovy.ast.MethodNode mixinMethod,
java.lang.Class<?> beforeClass)
|
protected boolean |
hasDeclaredMethod(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.MethodNode mixinMethod)
|
static boolean |
isAddableMethod(org.codehaus.groovy.ast.MethodNode declaredMethod)
|
protected boolean |
isCandidateMethod(org.codehaus.groovy.ast.MethodNode declaredMethod)
|
static boolean |
isJunit3Test(org.codehaus.groovy.ast.ClassNode classNode)
|
static boolean |
isSpockTest(org.codehaus.groovy.ast.ClassNode classNode)
|
void |
visit(org.codehaus.groovy.ast.ASTNode[] astNodes,
org.codehaus.groovy.control.SourceUnit source)
|
void |
weaveMixinsIntoClass(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.expr.ListExpression values)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MIXIN_METHOD_ANNOTATION
public static final org.codehaus.groovy.ast.AnnotationNode MIXIN_METHOD_ANNOTATION
OBJECT_CLASS
public static final java.lang.String OBJECT_CLASS
- See Also:
- Constant Field Values
SPEC_CLASS
public static final java.lang.String SPEC_CLASS
- See Also:
- Constant Field Values
SET_UP_METHOD
public static final java.lang.String SET_UP_METHOD
- See Also:
- Constant Field Values
THIS_EXPRESSION
public static final org.codehaus.groovy.ast.expr.VariableExpression THIS_EXPRESSION
TEAR_DOWN_METHOD
public static final java.lang.String TEAR_DOWN_METHOD
- See Also:
- Constant Field Values
GROOVY_OBJECT_CLASS_NODE
public static final org.codehaus.groovy.ast.ClassNode GROOVY_OBJECT_CLASS_NODE
TestMixinTransformation
public TestMixinTransformation()
visit
public void visit(org.codehaus.groovy.ast.ASTNode[] astNodes,
org.codehaus.groovy.control.SourceUnit source)
- Specified by:
visit in interface org.codehaus.groovy.transform.ASTTransformation
getListOfClasses
protected org.codehaus.groovy.ast.expr.ListExpression getListOfClasses(org.codehaus.groovy.ast.AnnotationNode node)
weaveMixinsIntoClass
public void weaveMixinsIntoClass(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.expr.ListExpression values)
hasDeclaredMethod
protected boolean hasDeclaredMethod(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.MethodNode mixinMethod)
hasAnnotation
protected boolean hasAnnotation(org.codehaus.groovy.ast.MethodNode mixinMethod,
java.lang.Class<?> beforeClass)
addMethodCallsToMethod
protected void addMethodCallsToMethod(org.codehaus.groovy.ast.ClassNode classNode,
java.lang.String name,
java.util.List<org.codehaus.groovy.ast.MethodNode> methods)
getOrCreateNoArgsMethodBody
protected org.codehaus.groovy.ast.stmt.BlockStatement getOrCreateNoArgsMethodBody(org.codehaus.groovy.ast.ClassNode classNode,
java.lang.String name)
getOrCreateMethodBody
protected org.codehaus.groovy.ast.stmt.BlockStatement getOrCreateMethodBody(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.MethodNode setupMethod,
java.lang.String name)
isJunit3Test
public static boolean isJunit3Test(org.codehaus.groovy.ast.ClassNode classNode)
isSpockTest
public static boolean isSpockTest(org.codehaus.groovy.ast.ClassNode classNode)
isCandidateMethod
protected boolean isCandidateMethod(org.codehaus.groovy.ast.MethodNode declaredMethod)
isAddableMethod
public static boolean isAddableMethod(org.codehaus.groovy.ast.MethodNode declaredMethod)
error
protected void error(org.codehaus.groovy.control.SourceUnit source,
java.lang.String me)