org.codehaus.groovy.classgen

## Class ExtendedVerifier

- java.lang.Object
- - org.codehaus.groovy.ast.CodeVisitorSupport
  - - org.codehaus.groovy.ast.ClassCodeVisitorSupport
    - - org.codehaus.groovy.classgen.ExtendedVerifier

All Implemented Interfaces:
  GroovyClassVisitor, GroovyCodeVisitor

    public class ExtendedVerifier
    extends ClassCodeVisitorSupport

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

Fields
`static java.lang.String` `JVM_ERROR_MESSAGE`

### Constructor Summary

Constructors
Constructor and Description
`ExtendedVerifier(SourceUnit sourceUnit)`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected void` `addError(java.lang.String msg, ASTNode expr)`
`protected SourceUnit` `getSourceUnit()`
`protected boolean` `isAnnotationCompatible()` Check if the current runtime allows Annotation usage.
`protected void` `visitAnnotations(AnnotatedNode node, int target)`
`void` `visitClass(ClassNode node)` Visit a ClassNode.
`void` `visitConstructor(ConstructorNode node)` Visit a ConstructorNode.
`void` `visitDeclarationExpression(DeclarationExpression expression)`
`void` `visitField(FieldNode node)` Visit a FieldNode.
`void` `visitGenericType(GenericsType genericsType)`
`void` `visitMethod(MethodNode node)` Visit a MethodNode.
`void` `visitProperty(PropertyNode node)` Visit a PropertyNode.

### Methods inherited from class org.codehaus.groovy.ast.ClassCodeVisitorSupport

`visitAnnotations, visitAssertStatement, visitBlockStatement, visitBreakStatement, visitCaseStatement, visitCatchStatement, visitClassCodeContainer, visitConstructorOrMethod, visitContinueStatement, visitDoWhileLoop, visitExpressionStatement, visitForLoop, visitIfElse, visitImports, visitObjectInitializerStatements, visitPackage, visitReturnStatement, visitStatement, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitTryCatchFinally, visitWhileLoop`

### Methods inherited from class org.codehaus.groovy.ast.CodeVisitorSupport

`visitArgumentlistExpression, visitArrayExpression, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegationExpression, visitBooleanExpression, visitBytecodeExpression, visitCastExpression, visitClassExpression, visitClosureExpression, visitClosureListExpression, visitConstantExpression, visitConstructorCallExpression, visitEmptyStatement, visitFieldExpression, visitGStringExpression, visitListExpression, visitListOfExpressions, visitMapEntryExpression, visitMapExpression, visitMethodCallExpression, visitMethodPointerExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitShortTernaryExpression, visitSpreadExpression, visitSpreadMapExpression, visitStaticMethodCallExpression, visitTernaryExpression, visitTupleExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, visitVariableExpression`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### JVM_ERROR_MESSAGE

    public static final java.lang.String JVM_ERROR_MESSAGE

See Also:
  Constant Field Values

### Constructor Detail

#### ExtendedVerifier

    public ExtendedVerifier(SourceUnit sourceUnit)

### Method Detail

#### visitClass

    public void visitClass(ClassNode node)

Description copied from interface: `GroovyClassVisitor`
Visit a ClassNode.

Specified by:
  `visitClass` in interface `GroovyClassVisitor`
Overrides:
  `visitClass` in class `ClassCodeVisitorSupport`

#### visitField

    public void visitField(FieldNode node)

Description copied from interface: `GroovyClassVisitor`
Visit a FieldNode.

Specified by:
  `visitField` in interface `GroovyClassVisitor`
Overrides:
  `visitField` in class `ClassCodeVisitorSupport`

#### visitDeclarationExpression

    public void visitDeclarationExpression(DeclarationExpression expression)

Specified by:
  `visitDeclarationExpression` in interface `GroovyCodeVisitor`
Overrides:
  `visitDeclarationExpression` in class `ClassCodeVisitorSupport`

#### visitConstructor

    public void visitConstructor(ConstructorNode node)

Description copied from interface: `GroovyClassVisitor`
Visit a ConstructorNode.

Specified by:
  `visitConstructor` in interface `GroovyClassVisitor`
Overrides:
  `visitConstructor` in class `ClassCodeVisitorSupport`

#### visitMethod

    public void visitMethod(MethodNode node)

Description copied from interface: `GroovyClassVisitor`
Visit a MethodNode.

Specified by:
  `visitMethod` in interface `GroovyClassVisitor`
Overrides:
  `visitMethod` in class `ClassCodeVisitorSupport`

#### visitProperty

    public void visitProperty(PropertyNode node)

Description copied from interface: `GroovyClassVisitor`
Visit a PropertyNode.

Specified by:
  `visitProperty` in interface `GroovyClassVisitor`
Overrides:
  `visitProperty` in class `ClassCodeVisitorSupport`

#### visitAnnotations

    protected void visitAnnotations(AnnotatedNode node,
                                    int target)

#### isAnnotationCompatible

    protected boolean isAnnotationCompatible()

Check if the current runtime allows Annotation usage.

Returns:
  true if running on a 1.5+ runtime

#### addError

    protected void addError(java.lang.String msg,
                            ASTNode expr)

Overrides:
  `addError` in class `ClassCodeVisitorSupport`

#### getSourceUnit

    protected SourceUnit getSourceUnit()

Specified by:
  `getSourceUnit` in class `ClassCodeVisitorSupport`

#### visitGenericType

    public void visitGenericType(GenericsType genericsType)