org.codehaus.groovy.control
Class GenericsVisitor

java.lang.Object
  extended by org.codehaus.groovy.ast.CodeVisitorSupport
      extended by org.codehaus.groovy.ast.ClassCodeVisitorSupport
          extended by org.codehaus.groovy.control.GenericsVisitor
All Implemented Interfaces:
GroovyClassVisitor, GroovyCodeVisitor

public class GenericsVisitor
extends ClassCodeVisitorSupport

class used to verify correct usage of generics in class header (class and superclass declaration)

Author:
Jochen Theodorou

Field Summary
private  SourceUnit source
           
 
Constructor Summary
GenericsVisitor(SourceUnit source)
           
 
Method Summary
private  void checkBounds(ClassNode[] given, ClassNode[] restrictions)
           
private  void checkGenericsUsage(ClassNode n, ClassNode cn)
           
private  boolean checkWildcard(ClassNode cn)
           
private  java.lang.String getPrintName(ClassNode cn)
           
private  java.lang.String getPrintName(GenericsType gt)
           
protected  SourceUnit getSourceUnit()
           
 void visitClass(ClassNode node)
           
 
Methods inherited from class org.codehaus.groovy.ast.ClassCodeVisitorSupport
addError, visitAnnotations, visitAssertStatement, visitBlockStatement, visitBreakStatement, visitCaseStatement, visitCatchStatement, visitClassCodeContainer, visitConstructor, visitConstructorOrMethod, visitContinueStatement, visitDoWhileLoop, visitExpressionStatement, visitField, visitForLoop, visitIfElse, visitMethod, visitProperty, visitReturnStatement, visitStatement, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitTryCatchFinally, visitWhileLoop
 
Methods inherited from class org.codehaus.groovy.ast.CodeVisitorSupport
visitArgumentlistExpression, visitArrayExpression, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegationExpression, visitBooleanExpression, visitCastExpression, visitClassExpression, visitClosureExpression, visitClosureListExpression, visitConstantExpression, visitConstructorCallExpression, visitDeclarationExpression, visitFieldExpression, visitGStringExpression, visitListExpression, visitListOfExpressions, visitMapEntryExpression, visitMapExpression, visitMethodCallExpression, visitMethodPointerExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitRegexExpression, 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

source

private SourceUnit source
Constructor Detail

GenericsVisitor

public GenericsVisitor(SourceUnit source)
Method Detail

getSourceUnit

protected SourceUnit getSourceUnit()
Specified by:
getSourceUnit in class ClassCodeVisitorSupport

visitClass

public void visitClass(ClassNode node)
Specified by:
visitClass in interface GroovyClassVisitor
Overrides:
visitClass in class ClassCodeVisitorSupport

checkWildcard

private boolean checkWildcard(ClassNode cn)

checkGenericsUsage

private void checkGenericsUsage(ClassNode n,
                                ClassNode cn)

getPrintName

private java.lang.String getPrintName(GenericsType gt)

getPrintName

private java.lang.String getPrintName(ClassNode cn)

checkBounds

private void checkBounds(ClassNode[] given,
                         ClassNode[] restrictions)


Copyright © ${year} The Codehaus. All Rights Reserved.