org.codehaus.groovy.classgen
Class ClassCompletionVerifier

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

public class ClassCompletionVerifier
extends ClassCodeVisitorSupport

ClassCompletionVerifier


Field Summary
private  ClassNode currentClass
           
private  SourceUnit source
           
 
Constructor Summary
ClassCompletionVerifier(SourceUnit source)
           
 
Method Summary
private  void addErrorIfParamsAndReturnTypeEqual(Parameter[] p2, Parameter[] p1, MethodNode node, MethodNode element)
           
private  void addInvalidUseOfFinalError(MethodNode method, Parameter[] parameters, ClassNode superCN)
           
private  void checkAbstractDeclaration(MethodNode methodNode)
           
private  void checkClassForAbstractAndFinal(ClassNode node)
           
private  void checkClassForIncorrectModifiers(ClassNode node)
           
private  void checkClassForModifier(ClassNode node, boolean condition, java.lang.String modifierName)
           
private  void checkClassForOtherModifiers(ClassNode node)
           
private  void checkClassForOverwritingFinal(ClassNode cn)
           
private  void checkImplementsAndExtends(ClassNode node)
           
private  void checkInterfaceFieldModifiers(FieldNode node)
           
private  void checkMethodForModifier(MethodNode node, boolean condition, java.lang.String modifierName)
           
private  void checkMethodModifiers(MethodNode node)
           
private  void checkMethodsForIncorrectModifiers(ClassNode cn)
           
private  void checkMethodsForOverwritingFinal(ClassNode cn)
           
private  void checkNoAbstractMethodsNonabstractClass(ClassNode node)
           
private  void checkOverloadingPrivateAndPublic(MethodNode node)
           
private  void checkRepetitiveMethod(MethodNode node)
           
 ClassNode getClassNode()
           
private  java.lang.String getDescription(ClassNode node)
           
private  java.lang.String getDescription(FieldNode node)
           
private  java.lang.String getDescription(MethodNode node)
           
protected  SourceUnit getSourceUnit()
           
private  boolean hasEqualParameterTypes(Parameter[] first, Parameter[] second)
           
private  boolean isConstructor(MethodNode method)
           
 void visitBinaryExpression(BinaryExpression expression)
           
 void visitCatchStatement(CatchStatement cs)
           
 void visitClass(ClassNode node)
           
 void visitConstructorCallExpression(ConstructorCallExpression call)
           
 void visitField(FieldNode node)
           
 void visitMethod(MethodNode node)
           
 
Methods inherited from class org.codehaus.groovy.ast.ClassCodeVisitorSupport
addError, visitAnnotations, visitAssertStatement, visitBlockStatement, visitBreakStatement, visitCaseStatement, visitClassCodeContainer, visitConstructor, visitConstructorOrMethod, visitContinueStatement, visitDoWhileLoop, visitExpressionStatement, visitForLoop, visitIfElse, visitProperty, visitReturnStatement, visitStatement, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitTryCatchFinally, visitWhileLoop
 
Methods inherited from class org.codehaus.groovy.ast.CodeVisitorSupport
visitArgumentlistExpression, visitArrayExpression, visitAttributeExpression, visitBitwiseNegationExpression, visitBooleanExpression, visitCastExpression, visitClassExpression, visitClosureExpression, visitClosureListExpression, visitConstantExpression, 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

currentClass

private ClassNode currentClass

source

private SourceUnit source
Constructor Detail

ClassCompletionVerifier

public ClassCompletionVerifier(SourceUnit source)
Method Detail

getClassNode

public ClassNode getClassNode()

visitClass

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

checkNoAbstractMethodsNonabstractClass

private void checkNoAbstractMethodsNonabstractClass(ClassNode node)

checkClassForIncorrectModifiers

private void checkClassForIncorrectModifiers(ClassNode node)

checkClassForAbstractAndFinal

private void checkClassForAbstractAndFinal(ClassNode node)

checkClassForOtherModifiers

private void checkClassForOtherModifiers(ClassNode node)

checkMethodForModifier

private void checkMethodForModifier(MethodNode node,
                                    boolean condition,
                                    java.lang.String modifierName)

checkClassForModifier

private void checkClassForModifier(ClassNode node,
                                   boolean condition,
                                   java.lang.String modifierName)

getDescription

private java.lang.String getDescription(ClassNode node)

getDescription

private java.lang.String getDescription(MethodNode node)

getDescription

private java.lang.String getDescription(FieldNode node)

checkAbstractDeclaration

private void checkAbstractDeclaration(MethodNode methodNode)

checkClassForOverwritingFinal

private void checkClassForOverwritingFinal(ClassNode cn)

checkImplementsAndExtends

private void checkImplementsAndExtends(ClassNode node)

checkMethodsForIncorrectModifiers

private void checkMethodsForIncorrectModifiers(ClassNode cn)

isConstructor

private boolean isConstructor(MethodNode method)

checkMethodsForOverwritingFinal

private void checkMethodsForOverwritingFinal(ClassNode cn)

addInvalidUseOfFinalError

private void addInvalidUseOfFinalError(MethodNode method,
                                       Parameter[] parameters,
                                       ClassNode superCN)

hasEqualParameterTypes

private boolean hasEqualParameterTypes(Parameter[] first,
                                       Parameter[] second)

getSourceUnit

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

visitConstructorCallExpression

public void visitConstructorCallExpression(ConstructorCallExpression call)
Specified by:
visitConstructorCallExpression in interface GroovyCodeVisitor
Overrides:
visitConstructorCallExpression in class CodeVisitorSupport

visitMethod

public void visitMethod(MethodNode node)
Specified by:
visitMethod in interface GroovyClassVisitor
Overrides:
visitMethod in class ClassCodeVisitorSupport

checkMethodModifiers

private void checkMethodModifiers(MethodNode node)

checkOverloadingPrivateAndPublic

private void checkOverloadingPrivateAndPublic(MethodNode node)

checkRepetitiveMethod

private void checkRepetitiveMethod(MethodNode node)

addErrorIfParamsAndReturnTypeEqual

private void addErrorIfParamsAndReturnTypeEqual(Parameter[] p2,
                                                Parameter[] p1,
                                                MethodNode node,
                                                MethodNode element)

visitField

public void visitField(FieldNode node)
Specified by:
visitField in interface GroovyClassVisitor
Overrides:
visitField in class ClassCodeVisitorSupport

checkInterfaceFieldModifiers

private void checkInterfaceFieldModifiers(FieldNode node)

visitBinaryExpression

public void visitBinaryExpression(BinaryExpression expression)
Specified by:
visitBinaryExpression in interface GroovyCodeVisitor
Overrides:
visitBinaryExpression in class CodeVisitorSupport

visitCatchStatement

public void visitCatchStatement(CatchStatement cs)
Specified by:
visitCatchStatement in interface GroovyCodeVisitor
Overrides:
visitCatchStatement in class ClassCodeVisitorSupport


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