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
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 |
AnnotationVisitor
public AnnotationVisitor(SourceUnit source,
ErrorCollector errorCollector)
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 nameexpression
- the expressionattrType
- 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)