Package: org.codehaus.groovy.classgen

## [Java] Class ExtendedVerifier

- org.codehaus.groovy.classgen.ExtendedVerifier

- 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
    Modifiers | Name | Description
    --- | --- | ---
    `static String` | `JVM_ERROR_MESSAGE` |

  - ### Constructor Summary

    Constructors
    Constructor and description
    `ExtendedVerifier (SourceUnit sourceUnit)`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `void` | `addError(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)`
    `` | `void` | `visitConstructor(ConstructorNode node)`
    `` | `void` | `visitDeclarationExpression(DeclarationExpression expression)`
    `` | `void` | `visitField(FieldNode node)`
    `` | `void` | `visitGenericType(GenericsType genericsType)`
    `` | `void` | `visitMethod(MethodNode node)`
    `` | `void` | `visitProperty(PropertyNode node)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class ClassCodeVisitorSupport` | `addError, getSourceUnit, visitAnnotations, visitAssertStatement, visitBlockStatement, visitBreakStatement, visitCaseStatement, visitCatchStatement, visitClass, visitClassCodeContainer, visitConstructor, visitConstructorOrMethod, visitContinueStatement, visitDeclarationExpression, visitDoWhileLoop, visitExpressionStatement, visitField, visitForLoop, visitIfElse, visitImports, visitMethod, visitObjectInitializerStatements, visitPackage, visitProperty, visitReturnStatement, visitStatement, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitTryCatchFinally, visitWhileLoop`
    `class CodeVisitorSupport` | `visitArgumentlistExpression, visitArrayExpression, visitAssertStatement, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegationExpression, visitBlockStatement, visitBooleanExpression, visitBreakStatement, visitBytecodeExpression, visitCaseStatement, visitCastExpression, visitCatchStatement, visitClassExpression, visitClosureExpression, visitClosureListExpression, visitConstantExpression, visitConstructorCallExpression, visitContinueStatement, visitDeclarationExpression, visitDoWhileLoop, visitEmptyStatement, visitExpressionStatement, visitFieldExpression, visitForLoop, visitGStringExpression, visitIfElse, visitListExpression, visitListOfExpressions, visitMapEntryExpression, visitMapExpression, visitMethodCallExpression, visitMethodPointerExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitReturnStatement, visitShortTernaryExpression, visitSpreadExpression, visitSpreadMapExpression, visitStaticMethodCallExpression, visitSwitch, visitSynchronizedStatement, visitTernaryExpression, visitThrowStatement, visitTryCatchFinally, visitTupleExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, visitVariableExpression, visitWhileLoop`

- - ### Field Detail

    - #### public static final String JVM_ERROR_MESSAGE

  - ### Constructor Detail

    - #### public ExtendedVerifier(SourceUnit sourceUnit)

  - ### Method Detail

    - #### public void addError(String msg, ASTNode expr)

    - #### @Override protected SourceUnit getSourceUnit()

    - #### protected boolean isAnnotationCompatible()

      Check if the current runtime allows Annotation usage.

      Returns:
        true if running on a 1.5+ runtime

    - #### protected void visitAnnotations(AnnotatedNode node, int target)

    - #### public void visitClass(ClassNode node)

    - #### public void visitConstructor(ConstructorNode node)

    - #### @Override public void visitDeclarationExpression(DeclarationExpression expression)

    - #### public void visitField(FieldNode node)

    - #### public void visitGenericType(GenericsType genericsType)

    - #### public void visitMethod(MethodNode node)

    - #### public void visitProperty(PropertyNode node)