org.codenarc.rule.size
Class AbstractMethodMetricAstVisitor

java.lang.Object
  extended by org.codehaus.groovy.ast.CodeVisitorSupport
      extended by org.codehaus.groovy.ast.ClassCodeVisitorSupport
          extended by org.codenarc.rule.AbstractAstVisitor
              extended by org.codenarc.rule.size.AbstractMethodMetricAstVisitor
All Implemented Interfaces:
groovy.lang.GroovyObject, org.codehaus.groovy.ast.GroovyClassVisitor, org.codehaus.groovy.ast.GroovyCodeVisitor, AstVisitor
Direct Known Subclasses:
AbcComplexityAstVisitor, CyclomaticComplexityAstVisitor

public abstract class AbstractMethodMetricAstVisitor
extends AbstractAstVisitor


Field Summary
protected  java.lang.Object metric
           
 
Fields inherited from class org.codenarc.rule.AbstractAstVisitor
BOOLEAN_CLASS, CONSTANT_EXPRESSION_VALUES, MAX_SOURCE_LINE_LENGTH, SOURCE_LINE_LAST_SEGMENT_LENGTH
 
Constructor Summary
AbstractMethodMetricAstVisitor()
           
 
Method Summary
protected abstract  java.lang.Object createMetric()
           
protected  java.lang.Object getLineNumber(java.lang.Object methodResults)
           
protected abstract  java.lang.Object getMaxClassMetricValue()
           
protected abstract  java.lang.Object getMaxMethodMetricValue()
           
 groovy.lang.MetaClass getMetaClass()
           
protected  java.lang.Object getMethodNode(org.codehaus.groovy.ast.ClassNode classNode, java.lang.String methodName, java.lang.Object results)
           
protected abstract  java.lang.String getMetricShortDescription()
           
 java.lang.Object getProperty(java.lang.String property)
           
protected  java.lang.String getSourceLine(java.lang.Object lineNumber)
           
 java.lang.Object invokeMethod(java.lang.String method, java.lang.Object arguments)
           
protected  boolean isIgnoredMethodName(java.lang.String methodName)
           
 void setMetaClass(groovy.lang.MetaClass mc)
           
 void setProperty(java.lang.String property, java.lang.Object value)
           
 void visitClassEx(org.codehaus.groovy.ast.ClassNode classNode)
           
 
Methods inherited from class org.codenarc.rule.AbstractAstVisitor
addViolation, addViolation, addViolation, getIsSuppressed, getRule, getSourceCode, getSourceUnit, getViolations, getVisited, isFirstVisit, setIsSuppressed, setRule, setSourceCode, setViolations, setVisited, sourceLine, suppressionIsPresent, visitClass, visitClassComplete, visitConstructor, visitConstructorEx, visitConstructorOrMethod, visitConstructorOrMethodEx, visitField, visitFieldEx, visitMethod, visitMethodComplete, visitMethodEx, visitProperty, visitPropertyEx
 
Methods inherited from class org.codehaus.groovy.ast.ClassCodeVisitorSupport
addError, visitAnnotations, visitAssertStatement, visitBlockStatement, visitBreakStatement, visitCaseStatement, visitCatchStatement, visitClassCodeContainer, visitContinueStatement, visitDoWhileLoop, visitExpressionStatement, visitForLoop, visitIfElse, visitImports, visitObjectInitializerStatements, visitPackage, visitReturnStatement, visitStatement, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitTryCatchFinally, visitVariableExpression, visitWhileLoop
 
Methods inherited from class org.codehaus.groovy.ast.CodeVisitorSupport
visitArgumentlistExpression, visitArrayExpression, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegationExpression, visitBooleanExpression, visitBytecodeExpression, visitCastExpression, visitClassExpression, visitClosureExpression, visitClosureListExpression, visitConstantExpression, visitConstructorCallExpression, visitDeclarationExpression, visitEmptyStatement, visitFieldExpression, visitGStringExpression, visitListExpression, visitListOfExpressions, visitMapEntryExpression, visitMapExpression, visitMethodCallExpression, visitMethodPointerExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitRegexExpression, visitShortTernaryExpression, visitSpreadExpression, visitSpreadMapExpression, visitStaticMethodCallExpression, visitTernaryExpression, visitTupleExpression, visitUnaryMinusExpression, visitUnaryPlusExpression
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

metric

protected java.lang.Object metric
Constructor Detail

AbstractMethodMetricAstVisitor

public AbstractMethodMetricAstVisitor()
Method Detail

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 java.lang.Object invokeMethod(java.lang.String method,
                                     java.lang.Object arguments)
Specified by:
invokeMethod in interface groovy.lang.GroovyObject
Overrides:
invokeMethod in class AbstractAstVisitor

getProperty

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

setProperty

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

createMetric

protected abstract java.lang.Object createMetric()

getMetricShortDescription

protected abstract java.lang.String getMetricShortDescription()

getMaxMethodMetricValue

protected abstract java.lang.Object getMaxMethodMetricValue()

getMaxClassMetricValue

protected abstract java.lang.Object getMaxClassMetricValue()

visitClassEx

public void visitClassEx(org.codehaus.groovy.ast.ClassNode classNode)
Overrides:
visitClassEx in class AbstractAstVisitor

getMethodNode

protected java.lang.Object getMethodNode(org.codehaus.groovy.ast.ClassNode classNode,
                                         java.lang.String methodName,
                                         java.lang.Object results)

getLineNumber

protected java.lang.Object getLineNumber(java.lang.Object methodResults)

getSourceLine

protected java.lang.String getSourceLine(java.lang.Object lineNumber)

isIgnoredMethodName

protected boolean isIgnoredMethodName(java.lang.String methodName)


Copyright © 2011. All Rights Reserved.