## 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)

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 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`

Constructor Detail

### ASTTransformationCollectorCodeVisitor

    public ASTTransformationCollectorCodeVisitor(SourceUnit source,
                                                 GroovyClassLoader transformLoader)

Method Detail

### 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

Copyright © 2003-2009 The Codehaus. All rights reserved.