Top Description Fields Constructors Methods
org.codehaus.groovy.classgen

public Class AnnotationVisitor

extends Object
Class Inheritance
Imports
org.codehaus.groovy.ast.ASTNode, .AnnotationNode, .ClassHelper, .ClassNode, .FieldNode, .MethodNode, org.codehaus.groovy.ast.expr.AnnotationConstantExpression, .ClassExpression, .ClosureExpression, .ConstantExpression, .Expression, .ListExpression, .PropertyExpression, .VariableExpression, org.codehaus.groovy.ast.stmt.ReturnStatement, org.codehaus.groovy.control.ErrorCollector, .SourceUnit, org.codehaus.groovy.control.messages.SyntaxErrorMessage, org.codehaus.groovy.syntax.SyntaxException, org.codehaus.groovy.vmplugin.VMPluginFactory, java.util.List, .Map

An Annotation visitor responsible for:

Field Summary

Modifier and TypeField and Description
private AnnotationNode
private final ErrorCollector
private ClassNode
private final SourceUnit

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
protected void
protected void
addError(String msg, ASTNode expr)

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

private boolean
private boolean
public void
private ClassNode
private ConstantExpression
private static boolean
hasCompatibleType(ClassNode attrType, ClassNode wrapperType)

private static boolean
public void
private boolean
public AnnotationNode
protected void
protected void
protected void
protected void
visitExpression(String attrName, Expression attrExp, ClassNode attrType)

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

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

annotationback to summary
private AnnotationNode annotation
errorCollectorback to summary
private final ErrorCollector errorCollector
reportClassback to summary
private ClassNode reportClass
sourceback to summary
private final SourceUnit source

Constructor Detail

AnnotationVisitorback to summary
public AnnotationVisitor(SourceUnit source, ErrorCollector errorCollector)

Method Detail

addErrorback to summary
protected void addError(String msg)
addErrorback to summary
protected void addError(String msg, ASTNode expr)
checkCircularReferenceback to summary
public void checkCircularReference(ClassNode searchClass, ClassNode attrType, Expression startExp)
checkIfMandatoryAnnotationValuesPassedback to summary
private boolean checkIfMandatoryAnnotationValuesPassed(AnnotationNode node)
checkIfValidEnumConstsAreUsedback to summary
private boolean checkIfValidEnumConstsAreUsed(AnnotationNode node)
checkReturnTypeback to summary
public void checkReturnType(ClassNode attrType, ASTNode node)
getAttributeTypeback to summary
private ClassNode getAttributeType(AnnotationNode node, String attrName)
getConstantExpressionback to summary
private ConstantExpression getConstantExpression(Expression exp, ClassNode attrType)
hasCompatibleTypeback to summary
private static boolean hasCompatibleType(ClassNode attrType, ClassNode wrapperType)
isValidAnnotationClassback to summary
private static boolean isValidAnnotationClass(ClassNode node)
setReportClassback to summary
public void setReportClass(ClassNode cn)
validateEnumConstantback to summary
private boolean validateEnumConstant(Expression exp)
visitback to summary
public AnnotationNode visit(AnnotationNode node)
visitAnnotationExpressionback to summary
protected void visitAnnotationExpression(String attrName, AnnotationConstantExpression expression, ClassNode attrType)
visitConstantExpressionback to summary
protected void visitConstantExpression(String attrName, ConstantExpression constExpr, ClassNode attrType)
visitEnumExpressionback to summary
protected void visitEnumExpression(String attrName, PropertyExpression propExpr, ClassNode attrType)
visitExpressionback to summary
protected void visitExpression(String attrName, Expression attrExp, ClassNode attrType)
visitListExpressionback to summary
protected void visitListExpression(String attrName, ListExpression listExpr, ClassNode elementType)