ASTTransformationCollectorCodeVisitor (groovy 2.5.0 API)
Date: 2018-05-27

Package: org.codehaus.groovy.transform

## [Java] Class ASTTransformationCollectorCodeVisitor

- org.codehaus.groovy.transform.ASTTransformationCollectorCodeVisitor

- 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)
    Jochen Theodorou (blackdrag)

- - ### Constructor Summary

    Constructors
    Constructor and description
    `ASTTransformationCollectorCodeVisitor (org.codehaus.groovy.control.SourceUnit source, GroovyClassLoader transformLoader)`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `protected org.codehaus.groovy.control.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)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `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`
    `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`
    `class Object` | `wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll`

- - ### Constructor Detail

    - #### public ASTTransformationCollectorCodeVisitor(org.codehaus.groovy.control.SourceUnit source, GroovyClassLoader transformLoader)

  - ### Method Detail

    - #### protected org.codehaus.groovy.control.SourceUnit getSourceUnit()

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

    - #### public void visitClass(ClassNode klassNode)