org.codehaus.groovy.classgen
Class AnnotationVisitor

java.lang.Object
  extended by 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 -
expression -
attrType -

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-2010 The Codehaus. All rights reserved.