## org.codehaus.groovy.classgen
Class AnnotationVisitor

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

    public class AnnotationVisitor

extends Object

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

Author:
  Alex Popescu

Constructor Summary
`AnnotationVisitor(SourceUnit source, ErrorCollector errorCollector)`

Method Summary
`protected void` `addError(String msg)`
`protected void` `addError(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(String attrName, AnnotationConstantExpression expression, ClassNode attrType)`
`protected void` `visitConstantExpression(String attrName, ConstantExpression constExpr, ClassNode attrType)`
`protected void` `visitEnumExpression(String attrName, PropertyExpression propExpr, ClassNode attrType)`
`protected void` `visitExpression(String attrName, Expression attrExp, ClassNode attrType)`
`protected void` `visitListExpression(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 Detail

### AnnotationVisitor

    public AnnotationVisitor(SourceUnit source,
                             ErrorCollector errorCollector)

Method Detail

### setReportClass

    public void setReportClass(ClassNode cn)

### visit

    public AnnotationNode visit(AnnotationNode node)

### visitExpression

    protected void visitExpression(String attrName,
                                   Expression attrExp,
                                   ClassNode attrType)

### checkReturnType

    public void checkReturnType(ClassNode attrType,
                                ASTNode node)

### visitAnnotationExpression

    protected void visitAnnotationExpression(String attrName,
                                             AnnotationConstantExpression expression,
                                             ClassNode attrType)

  Parameters:
    `attrName` - the name
    `expression` - the expression
    `attrType` - the type

### visitListExpression

    protected void visitListExpression(String attrName,
                                       ListExpression listExpr,
                                       ClassNode elementType)

### visitConstantExpression

    protected void visitConstantExpression(String attrName,
                                           ConstantExpression constExpr,
                                           ClassNode attrType)

### visitEnumExpression

    protected void visitEnumExpression(String attrName,
                                       PropertyExpression propExpr,
                                       ClassNode attrType)

### addError

    protected void addError(String msg)

### addError

    protected void addError(String msg,
                            ASTNode expr)

### checkCircularReference

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

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