Package 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,ErrorCollecting
Walks the AST 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
CompilePhase.SEMANTIC_ANALYSIS phase of compilation.
-
Constructor Summary
ConstructorsConstructorDescriptionASTTransformationCollectorCodeVisitor(SourceUnit source, GroovyClassLoader transformLoader) -
Method Summary
Modifier and TypeMethodDescriptionprotected SourceUnitProvides access to theSourceUnitfor error reporting during visitation.voidVisits annotations on anAnnotatedNode, delegating toClassCodeVisitorSupport.visitAnnotation(AnnotationNode).voidvisitClass(ClassNode classNode) Visits aClassNode, processing its annotations, package, imports, contents, and object initializers.protected voidvisitStatementAnnotations(Statement statement) Collects AST transforms from statement-level annotations (e.g.Methods inherited from class org.codehaus.groovy.ast.ClassCodeVisitorSupport
addError, visitAnnotation, visitAnnotations, visitAssertStatement, visitBlockStatement, visitBreakStatement, visitCaseStatement, visitCatchStatement, visitClassCodeContainer, visitClosureExpression, visitConstructor, visitConstructorOrMethod, visitContinueStatement, visitDeclarationExpression, visitDoWhileLoop, visitExpressionStatement, visitField, visitForLoop, visitIfElse, visitImports, visitMethod, visitObjectInitializerStatements, visitPackage, visitProperty, visitReturnStatement, visitStatement, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitTryCatchFinally, visitWhileLoopMethods inherited from class org.codehaus.groovy.ast.CodeVisitorSupport
afterSwitchCaseStatementsVisited, afterSwitchConditionExpressionVisited, visitArgumentlistExpression, visitArrayExpression, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegationExpression, visitBooleanExpression, visitBytecodeExpression, visitCastExpression, visitClassExpression, visitClosureListExpression, visitConstantExpression, visitConstructorCallExpression, visitEmptyStatement, visitFieldExpression, visitGStringExpression, visitLambdaExpression, visitListExpression, visitMapEntryExpression, visitMapExpression, visitMethodCallExpression, visitMethodPointerExpression, visitMethodReferenceExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitShortTernaryExpression, visitSpreadExpression, visitSpreadMapExpression, visitStaticMethodCallExpression, visitTernaryExpression, visitTupleExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, visitVariableExpressionMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.codehaus.groovy.ast.GroovyCodeVisitor
visit, visit, visitEmptyExpression, visitListOfExpressions
-
Constructor Details
-
ASTTransformationCollectorCodeVisitor
-
-
Method Details
-
getSourceUnit
Description copied from class:ClassCodeVisitorSupportProvides access to theSourceUnitfor error reporting during visitation. Implementations must override this method.- Specified by:
getSourceUnitin classClassCodeVisitorSupport- Returns:
- the source unit for this visitor
-
visitClass
Description copied from class:ClassCodeVisitorSupportVisits aClassNode, processing its annotations, package, imports, contents, and object initializers.- Specified by:
visitClassin interfaceGroovyClassVisitor- Overrides:
visitClassin classClassCodeVisitorSupport- Parameters:
classNode- the class node to visit
-
visitAnnotations
Description copied from class:ClassCodeVisitorSupportVisits annotations on anAnnotatedNode, delegating toClassCodeVisitorSupport.visitAnnotation(AnnotationNode).- Overrides:
visitAnnotationsin classClassCodeVisitorSupport- Parameters:
node- the annotated node containing annotations to visit
-
visitStatementAnnotations
Collects AST transforms from statement-level annotations (e.g. annotations placed directly onfor/while/do-whileloop statements).- Overrides:
visitStatementAnnotationsin classClassCodeVisitorSupport- Parameters:
statement- the loop statement that may have statement-level annotations
-