Groovy Documentation

org.codehaus.groovy.transform
[Java] Class ASTTransformationCollectorCodeVisitor

java.lang.Object
  org.codehaus.groovy.ast.CodeVisitorSupport
      org.codehaus.groovy.ast.ClassCodeVisitorSupport
          org.codehaus.groovy.transform.ASTTransformationCollectorCodeVisitor

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.

Authors:
Danno Ferrin (shemnon)
Roshan Dawrani (roshandawrani)


Constructor Summary
ASTTransformationCollectorCodeVisitor(SourceUnit source, GroovyClassLoader transformLoader)

 
Method Summary
protected SourceUnit getSourceUnit()

void visitAnnotations(AnnotatedNode node)

If the annotation is annotated with GroovyASTTransformation the annotation is added to stageVisitors at the appropriate processor visitor.

void visitClass(ClassNode klassNode)

 
Methods inherited from class ClassCodeVisitorSupport
addError, getSourceUnit, visitAnnotations, visitAssertStatement, visitBlockStatement, visitBreakStatement, visitCaseStatement, visitCatchStatement, visitClass, visitClassCodeContainer, visitConstructor, visitConstructorOrMethod, visitContinueStatement, visitDeclarationExpression, visitDoWhileLoop, visitExpressionStatement, visitField, visitForLoop, visitIfElse, visitImports, visitMethod, visitObjectInitializerStatements, visitPackage, visitProperty, visitReturnStatement, visitStatement, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitTryCatchFinally, visitWhileLoop
 
Methods inherited from class CodeVisitorSupport
visitArgumentlistExpression, visitArrayExpression, visitAssertStatement, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegationExpression, visitBlockStatement, visitBooleanExpression, visitBreakStatement, visitBytecodeExpression, visitCaseStatement, visitCastExpression, visitCatchStatement, visitClassExpression, visitClosureExpression, visitClosureListExpression, visitConstantExpression, visitConstructorCallExpression, visitContinueStatement, visitDeclarationExpression, visitDoWhileLoop, visitEmptyStatement, visitExpressionStatement, visitFieldExpression, visitForLoop, visitGStringExpression, visitIfElse, visitListExpression, visitListOfExpressions, visitMapEntryExpression, visitMapExpression, visitMethodCallExpression, visitMethodPointerExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitReturnStatement, visitShortTernaryExpression, visitSpreadExpression, visitSpreadMapExpression, visitStaticMethodCallExpression, visitSwitch, visitSynchronizedStatement, visitTernaryExpression, visitThrowStatement, visitTryCatchFinally, visitTupleExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, visitVariableExpression, visitWhileLoop
 
Methods inherited from class java.lang.Object
java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
 

Constructor Detail

ASTTransformationCollectorCodeVisitor

public ASTTransformationCollectorCodeVisitor(SourceUnit source, GroovyClassLoader transformLoader)


 
Method Detail

getSourceUnit

protected SourceUnit getSourceUnit()


visitAnnotations

public void visitAnnotations(AnnotatedNode node)
If the annotation is annotated with GroovyASTTransformation the annotation is added to stageVisitors at the appropriate processor visitor.
Parameters:
node - the node to process


visitClass

public void visitClass(ClassNode klassNode)


 

Groovy Documentation