Groovy Documentation

java.org.codenarc.rule
[Java] Class AbstractAstVisitor

java.lang.Object
  org.codehaus.groovy.ast.CodeVisitorSupport
      org.codehaus.groovy.ast.ClassCodeVisitorSupport
          java.org.codenarc.rule.ClassCodeVisitorSupportHack
              java.org.codenarc.rule.AbstractAstVisitor
All Implemented Interfaces:
AstVisitor

public class AbstractAstVisitor
extends ClassCodeVisitorSupportHack

Abstract superclass for Groovy AST Visitors used with Rules

Authors:
Chris Mair
Hamlet D'Arcy


Method Summary
protected void addViolation(org.codehaus.groovy.ast.ASTNode node)

Add a new Violation to the list of violations found by this visitor.

protected void addViolation(org.codehaus.groovy.ast.ASTNode node, String message)

Add a new Violation to the list of violations found by this visitor.

protected void addViolation(Violation violation)

Add a new Violation to the list of violations found by this visitor.

protected String getCurrentClassName()

protected org.codehaus.groovy.ast.ClassNode getCurrentClassNode()

Rule getRule()

SourceCode getSourceCode()

protected org.codehaus.groovy.control.SourceUnit getSourceUnit()

List getViolations()

Set getVisited()

protected boolean isFirstVisit(Object expression)

Return true if the AST expression has not already been visited.

protected String lastSourceLine(org.codehaus.groovy.ast.ASTNode node)

Return the last source line corresponding to the specified AST node

void setRule(Rule rule)

void setSourceCode(SourceCode sourceCode)

void setVisited(Set visited)

protected String sourceLine(org.codehaus.groovy.ast.ASTNode node)

Return the source line corresponding to the specified AST node

void visitClass(org.codehaus.groovy.ast.ClassNode node)

protected void visitClassComplete(org.codehaus.groovy.ast.ClassNode node)

protected void visitClassEx(org.codehaus.groovy.ast.ClassNode node)

void visitMethod(org.codehaus.groovy.ast.MethodNode node)

protected void visitMethodComplete(org.codehaus.groovy.ast.MethodNode node)

protected void visitMethodEx(org.codehaus.groovy.ast.MethodNode node)

 
Methods inherited from class ClassCodeVisitorSupportHack
addError, visitAnnotations, visitArgumentlistExpression, visitArrayExpression, visitAssertStatement, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegationExpression, visitBlockStatement, visitBooleanExpression, visitBreakStatement, visitBytecodeExpression, visitCaseStatement, visitCastExpression, visitCatchStatement, visitClass, visitClassCodeContainer, visitClassExpression, visitClosureExpression, visitClosureListExpression, visitConstantExpression, visitConstructor, visitConstructorCallExpression, visitConstructorOrMethod, visitContinueStatement, visitDeclarationExpression, visitDoWhileLoop, visitEmptyStatement, visitExpressionStatement, visitField, visitFieldExpression, visitForLoop, visitGStringExpression, visitIfElse, visitImports, visitListExpression, visitListOfExpressions, visitMapEntryExpression, visitMapExpression, visitMethod, visitMethodCallExpression, visitMethodPointerExpression, visitNotExpression, visitObjectInitializerStatements, visitPackage, visitPostfixExpression, visitPrefixExpression, visitProperty, visitPropertyExpression, visitRangeExpression, visitReturnStatement, visitShortTernaryExpression, visitSpreadExpression, visitSpreadMapExpression, visitStatement, visitStaticMethodCallExpression, visitSwitch, visitSynchronizedStatement, visitTernaryExpression, visitThrowStatement, visitTryCatchFinally, visitTupleExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, visitVariableExpression, visitWhileLoop
 
Methods inherited from class org.codehaus.groovy.ast.ClassCodeVisitorSupport
org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitReturnStatement(org.codehaus.groovy.ast.stmt.ReturnStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitProperty(org.codehaus.groovy.ast.PropertyNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitField(org.codehaus.groovy.ast.FieldNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitConstructor(org.codehaus.groovy.ast.ConstructorNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitMethod(org.codehaus.groovy.ast.MethodNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitClass(org.codehaus.groovy.ast.ClassNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitAnnotations(org.codehaus.groovy.ast.AnnotatedNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitPackage(org.codehaus.groovy.ast.PackageNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitImports(org.codehaus.groovy.ast.ModuleNode), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitDeclarationExpression(org.codehaus.groovy.ast.expr.DeclarationExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitAssertStatement(org.codehaus.groovy.ast.stmt.AssertStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitBlockStatement(org.codehaus.groovy.ast.stmt.BlockStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitBreakStatement(org.codehaus.groovy.ast.stmt.BreakStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitCaseStatement(org.codehaus.groovy.ast.stmt.CaseStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitCatchStatement(org.codehaus.groovy.ast.stmt.CatchStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitContinueStatement(org.codehaus.groovy.ast.stmt.ContinueStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitDoWhileLoop(org.codehaus.groovy.ast.stmt.DoWhileStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitExpressionStatement(org.codehaus.groovy.ast.stmt.ExpressionStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitForLoop(org.codehaus.groovy.ast.stmt.ForStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitIfElse(org.codehaus.groovy.ast.stmt.IfStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitSwitch(org.codehaus.groovy.ast.stmt.SwitchStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitSynchronizedStatement(org.codehaus.groovy.ast.stmt.SynchronizedStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitThrowStatement(org.codehaus.groovy.ast.stmt.ThrowStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitTryCatchFinally(org.codehaus.groovy.ast.stmt.TryCatchStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitWhileLoop(org.codehaus.groovy.ast.stmt.WhileStatement), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitConstantExpression(org.codehaus.groovy.ast.expr.ConstantExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitClassExpression(org.codehaus.groovy.ast.expr.ClassExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitListExpression(org.codehaus.groovy.ast.expr.ListExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitPropertyExpression(org.codehaus.groovy.ast.expr.PropertyExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitMethodCallExpression(org.codehaus.groovy.ast.expr.MethodCallExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitStaticMethodCallExpression(org.codehaus.groovy.ast.expr.StaticMethodCallExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitConstructorCallExpression(org.codehaus.groovy.ast.expr.ConstructorCallExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitBinaryExpression(org.codehaus.groovy.ast.expr.BinaryExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitTernaryExpression(org.codehaus.groovy.ast.expr.TernaryExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitShortTernaryExpression(org.codehaus.groovy.ast.expr.ElvisOperatorExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitPostfixExpression(org.codehaus.groovy.ast.expr.PostfixExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitPrefixExpression(org.codehaus.groovy.ast.expr.PrefixExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitBooleanExpression(org.codehaus.groovy.ast.expr.BooleanExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitNotExpression(org.codehaus.groovy.ast.expr.NotExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitClosureExpression(org.codehaus.groovy.ast.expr.ClosureExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitTupleExpression(org.codehaus.groovy.ast.expr.TupleExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitArrayExpression(org.codehaus.groovy.ast.expr.ArrayExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitMapExpression(org.codehaus.groovy.ast.expr.MapExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitMapEntryExpression(org.codehaus.groovy.ast.expr.MapEntryExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitRangeExpression(org.codehaus.groovy.ast.expr.RangeExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitSpreadExpression(org.codehaus.groovy.ast.expr.SpreadExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitSpreadMapExpression(org.codehaus.groovy.ast.expr.SpreadMapExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitMethodPointerExpression(org.codehaus.groovy.ast.expr.MethodPointerExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitUnaryMinusExpression(org.codehaus.groovy.ast.expr.UnaryMinusExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitUnaryPlusExpression(org.codehaus.groovy.ast.expr.UnaryPlusExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitBitwiseNegationExpression(org.codehaus.groovy.ast.expr.BitwiseNegationExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitCastExpression(org.codehaus.groovy.ast.expr.CastExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitVariableExpression(org.codehaus.groovy.ast.expr.VariableExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitAttributeExpression(org.codehaus.groovy.ast.expr.AttributeExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitFieldExpression(org.codehaus.groovy.ast.expr.FieldExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitGStringExpression(org.codehaus.groovy.ast.expr.GStringExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitArgumentlistExpression(org.codehaus.groovy.ast.expr.ArgumentListExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitClosureListExpression(org.codehaus.groovy.ast.expr.ClosureListExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#visitBytecodeExpression(org.codehaus.groovy.classgen.BytecodeExpression), org.codehaus.groovy.ast.ClassCodeVisitorSupport#wait(long), org.codehaus.groovy.ast.ClassCodeVisitorSupport#wait(long, int), org.codehaus.groovy.ast.ClassCodeVisitorSupport#wait(), org.codehaus.groovy.ast.ClassCodeVisitorSupport#equals(java.lang.Object), org.codehaus.groovy.ast.ClassCodeVisitorSupport#toString(), org.codehaus.groovy.ast.ClassCodeVisitorSupport#hashCode(), org.codehaus.groovy.ast.ClassCodeVisitorSupport#getClass(), org.codehaus.groovy.ast.ClassCodeVisitorSupport#notify(), org.codehaus.groovy.ast.ClassCodeVisitorSupport#notifyAll()
 

Method Detail

addViolation

@Deprecated
protected void addViolation(org.codehaus.groovy.ast.ASTNode node)
Add a new Violation to the list of violations found by this visitor. Only add the violation if the node lineNumber >= 0.
deprecated:
Always define a message. Use the other addViolation method instead of this one.
Parameters:
node - - the Groovy AST Node


addViolation

protected void addViolation(org.codehaus.groovy.ast.ASTNode node, String message)
Add a new Violation to the list of violations found by this visitor. Only add the violation if the node lineNumber >= 0.
Parameters:
node - - the Groovy AST Node
message - - the message for the violation; defaults to null


addViolation

protected void addViolation(Violation violation)
Add a new Violation to the list of violations found by this visitor.
Parameters:
violation - - the violation to add


getCurrentClassName

protected String getCurrentClassName()


getCurrentClassNode

protected org.codehaus.groovy.ast.ClassNode getCurrentClassNode()


getRule

public Rule getRule()


getSourceCode

public SourceCode getSourceCode()


getSourceUnit

protected org.codehaus.groovy.control.SourceUnit getSourceUnit()


getViolations

public List getViolations()


getVisited

public Set getVisited()


isFirstVisit

protected boolean isFirstVisit(Object expression)
Return true if the AST expression has not already been visited. If it is the first visit, register the expression so that the next visit will return false.
Parameters:
expression - - the AST expression to check
Returns:
true if the AST expression has NOT already been visited


lastSourceLine

protected String lastSourceLine(org.codehaus.groovy.ast.ASTNode node)
Return the last source line corresponding to the specified AST node
Parameters:
node - - the Groovy AST node


setRule

public void setRule(Rule rule)


setSourceCode

public void setSourceCode(SourceCode sourceCode)


setVisited

public void setVisited(Set visited)


sourceLine

protected String sourceLine(org.codehaus.groovy.ast.ASTNode node)
Return the source line corresponding to the specified AST node
Parameters:
node - - the Groovy AST node


visitClass

public final void visitClass(org.codehaus.groovy.ast.ClassNode node)


visitClassComplete

protected void visitClassComplete(org.codehaus.groovy.ast.ClassNode node)


visitClassEx

protected void visitClassEx(org.codehaus.groovy.ast.ClassNode node)


visitMethod

public final void visitMethod(org.codehaus.groovy.ast.MethodNode node)


visitMethodComplete

protected void visitMethodComplete(org.codehaus.groovy.ast.MethodNode node)


visitMethodEx

protected void visitMethodEx(org.codehaus.groovy.ast.MethodNode node)


 

Groovy Documentation