org.codehaus.groovy.transform
Class ASTTransformationCollectorCodeVisitor
java.lang.Object
org.codehaus.groovy.ast.CodeVisitorSupport
org.codehaus.groovy.ast.ClassCodeVisitorSupport
org.codehaus.groovy.transform.ASTTransformationCollectorCodeVisitor
- All Implemented Interfaces:
- GroovyClassVisitor, GroovyCodeVisitor
public class ASTTransformationCollectorCodeVisitor
- extends ClassCodeVisitorSupport
This visitor walks the AST tree and collects references to Annotations that
are annotated themselves by GroovyASTTransformation
. Each such
annotation is added.
This visitor is only intended to be executed once, during the
SEMANTIC_ANALYSIS phase of compilation.
- Author:
- Danno Ferrin (shemnon), Roshan Dawrani (roshandawrani)
Methods inherited from class org.codehaus.groovy.ast.ClassCodeVisitorSupport |
addError, visitAssertStatement, visitBlockStatement, visitBreakStatement, visitCaseStatement, visitCatchStatement, visitClassCodeContainer, visitConstructor, visitConstructorOrMethod, visitContinueStatement, visitDoWhileLoop, visitExpressionStatement, visitField, visitForLoop, visitIfElse, visitImports, visitMethod, visitPackage, visitProperty, visitReturnStatement, visitStatement, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitTryCatchFinally, visitVariableExpression, visitWhileLoop |
Methods inherited from class org.codehaus.groovy.ast.CodeVisitorSupport |
visitArgumentlistExpression, visitArrayExpression, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegationExpression, visitBooleanExpression, visitBytecodeExpression, visitCastExpression, visitClassExpression, visitClosureExpression, visitClosureListExpression, visitConstantExpression, visitConstructorCallExpression, visitDeclarationExpression, visitEmptyStatement, visitFieldExpression, visitGStringExpression, visitListExpression, visitListOfExpressions, visitMapEntryExpression, visitMapExpression, visitMethodCallExpression, visitMethodPointerExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitRegexExpression, visitShortTernaryExpression, visitSpreadExpression, visitSpreadMapExpression, visitStaticMethodCallExpression, visitTernaryExpression, visitTupleExpression, visitUnaryMinusExpression, visitUnaryPlusExpression |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ASTTransformationCollectorCodeVisitor
public ASTTransformationCollectorCodeVisitor(SourceUnit source,
GroovyClassLoader transformLoader)
getSourceUnit
protected SourceUnit getSourceUnit()
- Specified by:
getSourceUnit
in class ClassCodeVisitorSupport
visitClass
public void visitClass(ClassNode klassNode)
- Specified by:
visitClass
in interface GroovyClassVisitor
- Overrides:
visitClass
in class ClassCodeVisitorSupport
visitAnnotations
public void visitAnnotations(AnnotatedNode node)
- If the annotation is annotated with
GroovyASTTransformation
the annotation is added to stageVisitors
at the appropriate processor visitor.
- Overrides:
visitAnnotations
in class ClassCodeVisitorSupport
- Parameters:
node
- the node to process