Package org.codehaus.groovy.control
Class GenericsVisitor
java.lang.Object
org.codehaus.groovy.ast.CodeVisitorSupport
org.codehaus.groovy.ast.ClassCodeVisitorSupport
org.codehaus.groovy.control.GenericsVisitor
- All Implemented Interfaces:
GroovyClassVisitor,GroovyCodeVisitor,ErrorCollecting
Verify correct usage of generics.
This includes:
- class header (class and superclass declaration)
- arity of type parameters for fields, parameters, local variables
- invalid diamond
<>usage
-
Constructor Summary
ConstructorsConstructorDescriptionGenericsVisitor(SourceUnit source) Creates a visitor that validates generic type usage for one source unit. -
Method Summary
Modifier and TypeMethodDescriptionprotected SourceUnitReturns the source unit currently being verified.voidvisitArrayExpression(ArrayExpression expression) Validates generic usage for array element types.voidvisitCastExpression(CastExpression expression) Validates generic usage for cast target types.voidvisitClass(ClassNode node) Validates generic usage in a class header and its contents.voidValidates generic usage on constructor call types.protected voidvisitConstructorOrMethod(MethodNode node, boolean isConstructor) Validates generic usage for a constructor or method signature.voidvisitDeclarationExpression(DeclarationExpression expression) Validates generic usage in declared variable types.voidvisitField(FieldNode node) Validates generic usage for a field declaration.Methods inherited from class org.codehaus.groovy.ast.ClassCodeVisitorSupport
addError, visitAnnotation, visitAnnotations, visitAnnotations, visitAssertStatement, visitBlockStatement, visitBreakStatement, visitCaseStatement, visitCatchStatement, visitClassCodeContainer, visitClosureExpression, visitConstructor, visitContinueStatement, visitDoWhileLoop, visitExpressionStatement, visitForLoop, visitIfElse, visitImports, visitMethod, visitObjectInitializerStatements, visitPackage, visitProperty, visitReturnStatement, visitStatement, visitStatementAnnotations, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitTryCatchFinally, visitWhileLoopMethods inherited from class org.codehaus.groovy.ast.CodeVisitorSupport
afterSwitchCaseStatementsVisited, afterSwitchConditionExpressionVisited, visitArgumentlistExpression, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegationExpression, visitBooleanExpression, visitBytecodeExpression, visitClassExpression, visitClosureListExpression, visitConstantExpression, visitEmptyStatement, visitFieldExpression, visitGStringExpression, visitLambdaExpression, visitListExpression, visitMapEntryExpression, visitMapExpression, visitMethodCallExpression, visitMethodPointerExpression, visitMethodReferenceExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitShortTernaryExpression, visitSpreadExpression, visitSpreadMapExpression, visitStaticMethodCallExpression, visitTernaryExpression, visitTupleExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, visitVariableExpressionMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.codehaus.groovy.ast.GroovyCodeVisitor
visit, visit, visitEmptyExpression, visitListOfExpressions
-
Constructor Details
-
GenericsVisitor
Creates a visitor that validates generic type usage for one source unit.- Parameters:
source- the source unit being verified
-
-
Method Details
-
getSourceUnit
Returns the source unit currently being verified.- Specified by:
getSourceUnitin classClassCodeVisitorSupport- Returns:
- the active source unit
-
visitClass
Validates generic usage in a class header and its contents.- Specified by:
visitClassin interfaceGroovyClassVisitor- Overrides:
visitClassin classClassCodeVisitorSupport- Parameters:
node- the class to inspect
-
visitField
Validates generic usage for a field declaration.- Specified by:
visitFieldin interfaceGroovyClassVisitor- Overrides:
visitFieldin classClassCodeVisitorSupport- Parameters:
node- the field to inspect
-
visitConstructorOrMethod
Validates generic usage for a constructor or method signature.- Overrides:
visitConstructorOrMethodin classClassCodeVisitorSupport- Parameters:
node- the executable member to inspectisConstructor- whethernodeis a constructor
-
visitConstructorCallExpression
Validates generic usage on constructor call types.- Specified by:
visitConstructorCallExpressionin interfaceGroovyCodeVisitor- Overrides:
visitConstructorCallExpressionin classCodeVisitorSupport- Parameters:
expression- the constructor call to inspect
-
visitDeclarationExpression
Validates generic usage in declared variable types.- Specified by:
visitDeclarationExpressionin interfaceGroovyCodeVisitor- Overrides:
visitDeclarationExpressionin classClassCodeVisitorSupport- Parameters:
expression- the declaration expression to inspect
-
visitArrayExpression
Validates generic usage for array element types.- Specified by:
visitArrayExpressionin interfaceGroovyCodeVisitor- Overrides:
visitArrayExpressionin classCodeVisitorSupport- Parameters:
expression- the array expression to inspect
-
visitCastExpression
Validates generic usage for cast target types.- Specified by:
visitCastExpressionin interfaceGroovyCodeVisitor- Overrides:
visitCastExpressionin classCodeVisitorSupport- Parameters:
expression- the cast expression to inspect
-