Package org.codehaus.groovy.classgen

# Class AnnotationVisitor

java.lang.Object
org.codehaus.groovy.classgen.AnnotationVisitor

    public class AnnotationVisitor
    extends java.lang.Object

An Annotation visitor responsible for:

- reading annotation metadata (@Retention, @Target, attribute types)
- verify that an `AnnotationNode` conforms to annotation meta
- enhancing an `AnnotationNode` AST to reflect real annotation meta

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `AnnotationVisitor​(SourceUnit source, ErrorCollector errorCollector)` |

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `protected void` | `addError​(java.lang.String msg)` |
  `protected void` | `addError​(java.lang.String msg, ASTNode expr)` |
  `void` | `checkCircularReference​(ClassNode searchClass, ClassNode attrType, Expression startExp)` |
  `void` | `checkReturnType​(ClassNode attrType, ASTNode node)` |
  `void` | `setReportClass​(ClassNode cn)` |
  `AnnotationNode` | `visit​(AnnotationNode node)` |
  `protected void` | `visitAnnotationExpression​(java.lang.String attrName, AnnotationConstantExpression expression, ClassNode attrType)` |
  `protected void` | `visitConstantExpression​(java.lang.String attrName, ConstantExpression constExpr, ClassNode attrType)` |
  `protected void` | `visitEnumExpression​(java.lang.String attrName, PropertyExpression propExpr, ClassNode attrType)` |
  `protected void` | `visitExpression​(java.lang.String attrName, Expression attrExp, ClassNode attrType)` |
  `protected void` | `visitListExpression​(java.lang.String attrName, ListExpression listExpr, ClassNode elementType)` |

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### AnnotationVisitor

    public AnnotationVisitor​(SourceUnit source, ErrorCollector errorCollector)

- ## Method Details

  - ### setReportClass

    public void setReportClass​(ClassNode cn)

  - ### visit

    public AnnotationNode visit​(AnnotationNode node)

  - ### visitExpression

    protected void visitExpression​(java.lang.String attrName, Expression attrExp, ClassNode attrType)

  - ### checkReturnType

    public void checkReturnType​(ClassNode attrType, ASTNode node)

  - ### visitAnnotationExpression

    protected void visitAnnotationExpression​(java.lang.String attrName, AnnotationConstantExpression expression, ClassNode attrType)

  - ### visitListExpression

    protected void visitListExpression​(java.lang.String attrName, ListExpression listExpr, ClassNode elementType)

  - ### visitConstantExpression

    protected void visitConstantExpression​(java.lang.String attrName, ConstantExpression constExpr, ClassNode attrType)

  - ### visitEnumExpression

    protected void visitEnumExpression​(java.lang.String attrName, PropertyExpression propExpr, ClassNode attrType)

  - ### addError

    protected void addError​(java.lang.String msg)

  - ### addError

    protected void addError​(java.lang.String msg, ASTNode expr)

  - ### checkCircularReference

    public void checkCircularReference​(ClassNode searchClass, ClassNode attrType, Expression startExp)