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)
| Methods inherited from class org.codehaus.groovy.ast.ClassCodeVisitorSupport |
addError, visitAssertStatement, visitBlockStatement, visitBreakStatement, visitCaseStatement, visitCatchStatement, visitClassCodeContainer, visitConstructor, visitConstructorOrMethod, visitContinueStatement, visitDoWhileLoop, visitExpressionStatement, visitField, visitForLoop, visitIfElse, visitMethod, visitProperty, visitReturnStatement, visitStatement, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitTryCatchFinally, visitWhileLoop |
| Methods inherited from class org.codehaus.groovy.ast.CodeVisitorSupport |
visitArgumentlistExpression, visitArrayExpression, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegationExpression, visitBooleanExpression, visitBytecodeExpression, visitCastExpression, visitClassExpression, visitClosureExpression, visitClosureListExpression, visitConstantExpression, visitConstructorCallExpression, visitDeclarationExpression, visitFieldExpression, visitGStringExpression, visitListExpression, visitListOfExpressions, visitMapEntryExpression, visitMapExpression, visitMethodCallExpression, visitMethodPointerExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitRegexExpression, visitShortTernaryExpression, visitSpreadExpression, visitSpreadMapExpression, visitStaticMethodCallExpression, visitTernaryExpression, visitTupleExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, visitVariableExpression |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
source
private SourceUnit source
classNode
private ClassNode classNode
transformLoader
private GroovyClassLoader transformLoader
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
getTransformClassAnnotation
private static java.lang.annotation.Annotation getTransformClassAnnotation(ClassNode annotatedType)
getTransformClasses
private java.lang.String[] getTransformClasses(java.lang.annotation.Annotation transformClassAnnotation)
Copyright © ${year} The Codehaus. All Rights Reserved.