Class CyclomaticComplexityAstVisitor

java.lang.Object
org.codehaus.groovy.ast.CodeVisitorSupport
org.codehaus.groovy.ast.ClassCodeVisitorSupport
org.gmetrics.metric.AbstractAstVisitor
org.gmetrics.metric.cyclomatic.CyclomaticComplexityAstVisitor
All Implemented Interfaces:
groovy.lang.GroovyObject, org.codehaus.groovy.ast.GroovyClassVisitor, org.codehaus.groovy.ast.GroovyCodeVisitor, AstVisitor

public class CyclomaticComplexityAstVisitor extends AbstractAstVisitor
  • Field Summary

    Fields inherited from class org.gmetrics.metric.AbstractAstVisitor

    MAX_SOURCE_LINE_LENGTH, SOURCE_LINE_LAST_SEGMENT_LENGTH
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
     
    groovy.lang.MetaClass
     
    getProperty(String property)
     
    invokeMethod(String method, Object arguments)
     
    void
     
    void
    setMetaClass(groovy.lang.MetaClass mc)
     
    void
    setProperty(String property, Object value)
     
    void
    visitBinaryExpression(org.codehaus.groovy.ast.expr.BinaryExpression expression)
     
    void
    visitCatchStatement(org.codehaus.groovy.ast.stmt.CatchStatement statement)
     
    void
    visitForLoop(org.codehaus.groovy.ast.stmt.ForStatement forLoop)
     
    void
    visitIfElse(org.codehaus.groovy.ast.stmt.IfStatement ifElse)
     
    void
    visitMethod(org.codehaus.groovy.ast.MethodNode methodNode)
     
    void
    visitMethodCallExpression(org.codehaus.groovy.ast.expr.MethodCallExpression call)
     
    void
    visitPropertyExpression(org.codehaus.groovy.ast.expr.PropertyExpression expression)
     
    void
    visitSwitch(org.codehaus.groovy.ast.stmt.SwitchStatement statement)
     
    void
    visitTernaryExpression(org.codehaus.groovy.ast.expr.TernaryExpression expression)
     
    void
    visitWhileLoop(org.codehaus.groovy.ast.stmt.WhileStatement loop)
     

    Methods inherited from class org.codehaus.groovy.ast.ClassCodeVisitorSupport

    addError, visitAnnotations, visitAssertStatement, visitBlockStatement, visitBreakStatement, visitCaseStatement, visitClass, visitClassCodeContainer, visitConstructor, visitConstructorOrMethod, visitContinueStatement, visitDeclarationExpression, visitDoWhileLoop, visitExpressionStatement, visitField, visitImports, visitObjectInitializerStatements, visitPackage, visitProperty, visitReturnStatement, visitStatement, visitSynchronizedStatement, visitThrowStatement, visitTryCatchFinally

    Methods inherited from class org.codehaus.groovy.ast.CodeVisitorSupport

    visitArgumentlistExpression, visitArrayExpression, visitAttributeExpression, visitBitwiseNegationExpression, visitBooleanExpression, visitBytecodeExpression, visitCastExpression, visitClassExpression, visitClosureExpression, visitClosureListExpression, visitConstantExpression, visitConstructorCallExpression, visitEmptyStatement, visitFieldExpression, visitGStringExpression, visitListExpression, visitListOfExpressions, visitMapEntryExpression, visitMapExpression, visitMethodPointerExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitRangeExpression, visitShortTernaryExpression, visitSpreadExpression, visitSpreadMapExpression, visitStaticMethodCallExpression, visitTupleExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, visitVariableExpression

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.codehaus.groovy.ast.GroovyClassVisitor

    visitClass, visitConstructor, visitField, visitProperty
  • Constructor Details

    • CyclomaticComplexityAstVisitor

      public CyclomaticComplexityAstVisitor()
  • Method Details

    • getMetaClass

      public groovy.lang.MetaClass getMetaClass()
      Specified by:
      getMetaClass in interface groovy.lang.GroovyObject
      Overrides:
      getMetaClass in class AbstractAstVisitor
    • setMetaClass

      public void setMetaClass(groovy.lang.MetaClass mc)
      Specified by:
      setMetaClass in interface groovy.lang.GroovyObject
      Overrides:
      setMetaClass in class AbstractAstVisitor
    • invokeMethod

      public Object invokeMethod(String method, Object arguments)
      Specified by:
      invokeMethod in interface groovy.lang.GroovyObject
      Overrides:
      invokeMethod in class AbstractAstVisitor
    • getProperty

      public Object getProperty(String property)
      Specified by:
      getProperty in interface groovy.lang.GroovyObject
      Overrides:
      getProperty in class AbstractAstVisitor
    • setProperty

      public void setProperty(String property, Object value)
      Specified by:
      setProperty in interface groovy.lang.GroovyObject
      Overrides:
      setProperty in class AbstractAstVisitor
    • getComplexity

      public Integer getComplexity()
    • setComplexity

      public void setComplexity(Integer value)
    • visitMethod

      public void visitMethod(org.codehaus.groovy.ast.MethodNode methodNode)
      Specified by:
      visitMethod in interface org.codehaus.groovy.ast.GroovyClassVisitor
      Overrides:
      visitMethod in class org.codehaus.groovy.ast.ClassCodeVisitorSupport
    • visitIfElse

      public void visitIfElse(org.codehaus.groovy.ast.stmt.IfStatement ifElse)
      Specified by:
      visitIfElse in interface org.codehaus.groovy.ast.GroovyCodeVisitor
      Overrides:
      visitIfElse in class org.codehaus.groovy.ast.ClassCodeVisitorSupport
    • visitWhileLoop

      public void visitWhileLoop(org.codehaus.groovy.ast.stmt.WhileStatement loop)
      Specified by:
      visitWhileLoop in interface org.codehaus.groovy.ast.GroovyCodeVisitor
      Overrides:
      visitWhileLoop in class org.codehaus.groovy.ast.ClassCodeVisitorSupport
    • visitForLoop

      public void visitForLoop(org.codehaus.groovy.ast.stmt.ForStatement forLoop)
      Specified by:
      visitForLoop in interface org.codehaus.groovy.ast.GroovyCodeVisitor
      Overrides:
      visitForLoop in class org.codehaus.groovy.ast.ClassCodeVisitorSupport
    • visitSwitch

      public void visitSwitch(org.codehaus.groovy.ast.stmt.SwitchStatement statement)
      Specified by:
      visitSwitch in interface org.codehaus.groovy.ast.GroovyCodeVisitor
      Overrides:
      visitSwitch in class org.codehaus.groovy.ast.ClassCodeVisitorSupport
    • visitCatchStatement

      public void visitCatchStatement(org.codehaus.groovy.ast.stmt.CatchStatement statement)
      Specified by:
      visitCatchStatement in interface org.codehaus.groovy.ast.GroovyCodeVisitor
      Overrides:
      visitCatchStatement in class org.codehaus.groovy.ast.ClassCodeVisitorSupport
    • visitBinaryExpression

      public void visitBinaryExpression(org.codehaus.groovy.ast.expr.BinaryExpression expression)
      Specified by:
      visitBinaryExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
      Overrides:
      visitBinaryExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
    • visitTernaryExpression

      public void visitTernaryExpression(org.codehaus.groovy.ast.expr.TernaryExpression expression)
      Specified by:
      visitTernaryExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
      Overrides:
      visitTernaryExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
    • visitMethodCallExpression

      public void visitMethodCallExpression(org.codehaus.groovy.ast.expr.MethodCallExpression call)
      Specified by:
      visitMethodCallExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
      Overrides:
      visitMethodCallExpression in class org.codehaus.groovy.ast.CodeVisitorSupport
    • visitPropertyExpression

      public void visitPropertyExpression(org.codehaus.groovy.ast.expr.PropertyExpression expression)
      Specified by:
      visitPropertyExpression in interface org.codehaus.groovy.ast.GroovyCodeVisitor
      Overrides:
      visitPropertyExpression in class org.codehaus.groovy.ast.CodeVisitorSupport