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

public Class ExtendedVerifier

extends ClassCodeVisitorSupport
Class Inheritance
Imports
org.codehaus.groovy.ast.AnnotatedNode, .AnnotationNode, .ClassCodeVisitorSupport, .ClassNode, .ConstructorNode, .FieldNode, .MethodNode, .PackageNode, .Parameter, .PropertyNode, org.codehaus.groovy.ast.expr.AnnotationConstantExpression, .ClassExpression, .DeclarationExpression, .Expression, .PropertyExpression, org.codehaus.groovy.ast.stmt.ReturnStatement, .Statement, org.codehaus.groovy.control.AnnotationConstantsVisitor, .CompilerConfiguration, .ErrorCollector, .SourceUnit, org.objectweb.asm.Opcodes, java.lang.annotation.Retention, java.util.ArrayList, .LinkedHashMap, .List, .Map

A specialized Groovy AST visitor meant to perform additional verifications upon the current AST. Currently it does checks on annotated nodes and annotations itself.

Current limitations: - annotations on local variables are not supported

Field Summary

Modifier and TypeField and Description
private ClassNode
public static final String
private final SourceUnit

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
private void
private static MethodNode
getDeclaredMethodCorrected(final Map<String, ClassNode> genericsSpec, final MethodNode mn, final ClassNode cn)

protected SourceUnit
protected boolean

Returns:

true if running on a 1.5+ runtime
isAnnotationCompatible
()

Check if the current runtime allows Annotation usage.

private static boolean
protected void
visitAnnotations(AnnotatedNode node, int target)

public void
public void
private void
visitConstructorOrMethod(MethodNode node, int methodTarget)

public void
private static void
public void
public void
private void
public void
Inherited from org.codehaus.groovy.ast.ClassCodeVisitorSupport:
addErrorvisitAnnotationvisitAnnotationsvisitAssertStatementvisitBlockStatementvisitBreakStatementvisitCaseStatementvisitCatchStatementvisitClassCodeContainervisitConstructorOrMethodvisitContinueStatementvisitDoWhileLoopvisitExpressionStatementvisitForLoopvisitIfElsevisitImportsvisitObjectInitializerStatementsvisitPackagevisitReturnStatementvisitStatementvisitSwitchvisitSynchronizedStatementvisitThrowStatementvisitTryCatchFinallyvisitWhileLoop

Field Detail

currentClassback to summary
private ClassNode currentClass
JVM_ERROR_MESSAGEback to summary
public static final String JVM_ERROR_MESSAGE
sourceback to summary
private final SourceUnit source

Constructor Detail

ExtendedVerifierback to summary
public ExtendedVerifier(SourceUnit sourceUnit)

Method Detail

checkForDuplicateAnnotationsback to summary
private void checkForDuplicateAnnotations(AnnotatedNode node, Map<String, List<AnnotationNode>> nonSourceAnnotations)
getDeclaredMethodCorrectedback to summary
private static MethodNode getDeclaredMethodCorrected(final Map<String, ClassNode> genericsSpec, final MethodNode mn, final ClassNode cn)
getSourceUnitback to summary
protected SourceUnit getSourceUnit()

Implements abstract org.codehaus.groovy.ast.ClassCodeVisitorSupport.getSourceUnit.

Annotations
@Override
isAnnotationCompatibleback to summary
protected boolean isAnnotationCompatible()

Check if the current runtime allows Annotation usage.

Returns:boolean

true if running on a 1.5+ runtime

isOverrideMethodback to summary
private static boolean isOverrideMethod(final MethodNode method)
visitAnnotationsback to summary
protected void visitAnnotations(AnnotatedNode node, int target)
visitClassback to summary
public void visitClass(ClassNode node)

Overrides org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClass.

Implements org.codehaus.groovy.ast.GroovyClassVisitor.visitClass.

Doc from org.codehaus.groovy.ast.GroovyClassVisitor.visitClass.

Visit a ClassNode.

Annotations
@Override
visitConstructorback to summary
public void visitConstructor(ConstructorNode node)

Overrides org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitConstructor.

Implements org.codehaus.groovy.ast.GroovyClassVisitor.visitConstructor.

Doc from org.codehaus.groovy.ast.GroovyClassVisitor.visitConstructor.

Visit a ConstructorNode.

Annotations
@Override
visitConstructorOrMethodback to summary
private void visitConstructorOrMethod(MethodNode node, int methodTarget)
visitDeclarationExpressionback to summary
public void visitDeclarationExpression(DeclarationExpression expression)

Overrides org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitDeclarationExpression.

Implements org.codehaus.groovy.ast.GroovyCodeVisitor.visitDeclarationExpression.

Annotations
@Override
visitDeprecationback to summary
private static void visitDeprecation(AnnotatedNode node, AnnotationNode visited)
visitFieldback to summary
public void visitField(FieldNode node)

Overrides org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitField.

Implements org.codehaus.groovy.ast.GroovyClassVisitor.visitField.

Doc from org.codehaus.groovy.ast.GroovyClassVisitor.visitField.

Visit a FieldNode.

Annotations
@Override
visitMethodback to summary
public void visitMethod(MethodNode node)

Overrides org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitMethod.

Implements org.codehaus.groovy.ast.GroovyClassVisitor.visitMethod.

Doc from org.codehaus.groovy.ast.GroovyClassVisitor.visitMethod.

Visit a MethodNode.

Annotations
@Override
visitOverrideback to summary
private void visitOverride(AnnotatedNode node, AnnotationNode visited)
visitPropertyback to summary
public void visitProperty(PropertyNode node)

Overrides org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitProperty.

Implements org.codehaus.groovy.ast.GroovyClassVisitor.visitProperty.

Doc from org.codehaus.groovy.ast.GroovyClassVisitor.visitProperty.

Visit a PropertyNode.

Annotations
@Override