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.ClassCodeVisitorSupportHack
              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, CrapMetricAstVisitor, CyclomaticComplexityAstVisitor

public abstract class AbstractMethodMetricAstVisitor
extends AbstractAstVisitor
implements groovy.lang.GroovyObject


Field Summary
protected  org.gmetrics.metric.Metric metric
           
 
Constructor Summary
AbstractMethodMetricAstVisitor()
           
 
Method Summary
protected abstract  Object createMetric()
           
protected  String extractMethodName(Object method)
           
protected  Object getLineNumber(Object methodResults)
           
protected abstract  Object getMaxClassMetricValue()
           
protected abstract  Object getMaxMethodMetricValue()
           
 groovy.lang.MetaClass getMetaClass()
           
protected  Object getMethodNode(org.codehaus.groovy.ast.ClassNode classNode, String methodName, Object results)
           
protected abstract  String getMetricShortDescription()
           
 Object getProperty(String property)
           
protected  String getSourceLine(Object lineNumber)
           
 Object invokeMethod(String method, Object arguments)
           
protected  boolean isIgnoredMethodName(String methodName)
           
 void setMetaClass(groovy.lang.MetaClass mc)
           
 void setProperty(String property, Object value)
           
 void visitClassEx(org.codehaus.groovy.ast.ClassNode classNode)
           
 
Methods inherited from class org.codenarc.rule.AbstractAstVisitor
addViolation, addViolation, addViolation, getCurrentClassName, getCurrentClassNode, getRule, getSourceCode, getSourceUnit, getViolations, getVisited, isFirstVisit, lastSourceLine, setRule, setSourceCode, setVisited, sourceLine, visitClass, visitClassComplete, visitMethod, visitMethodComplete, visitMethodEx
 
Methods inherited from class org.codenarc.rule.ClassCodeVisitorSupportHack
addError, visitAnnotations, visitArgumentlistExpression, visitArrayExpression, visitAssertStatement, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegationExpression, visitBlockStatement, visitBooleanExpression, visitBreakStatement, visitBytecodeExpression, visitCaseStatement, visitCastExpression, visitCatchStatement, visitClassCodeContainer, visitClassExpression, visitClosureExpression, visitClosureListExpression, visitConstantExpression, visitConstructor, visitConstructorCallExpression, visitConstructorOrMethod, visitContinueStatement, visitDeclarationExpression, visitDoWhileLoop, visitEmptyStatement, visitExpressionStatement, visitField, visitFieldExpression, visitForLoop, visitGStringExpression, visitIfElse, visitImports, visitListExpression, visitListOfExpressions, visitMapEntryExpression, visitMapExpression, 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.CodeVisitorSupport
visitRegexExpression
 
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
visitConstructor, visitField, visitProperty
 

Field Detail

metric

protected org.gmetrics.metric.Metric metric
Constructor Detail

AbstractMethodMetricAstVisitor

public AbstractMethodMetricAstVisitor()
Method Detail

getMetaClass

public groovy.lang.MetaClass getMetaClass()
Specified by:
getMetaClass in interface groovy.lang.GroovyObject

setMetaClass

public void setMetaClass(groovy.lang.MetaClass mc)
Specified by:
setMetaClass in interface groovy.lang.GroovyObject

invokeMethod

public Object invokeMethod(String method,
                           Object arguments)
Specified by:
invokeMethod in interface groovy.lang.GroovyObject

getProperty

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

setProperty

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

createMetric

protected abstract Object createMetric()

getMetricShortDescription

protected abstract String getMetricShortDescription()

getMaxMethodMetricValue

protected abstract Object getMaxMethodMetricValue()

getMaxClassMetricValue

protected abstract Object getMaxClassMetricValue()

visitClassEx

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

extractMethodName

protected String extractMethodName(Object method)

getMethodNode

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

getLineNumber

protected Object getLineNumber(Object methodResults)

getSourceLine

protected String getSourceLine(Object lineNumber)

isIgnoredMethodName

protected boolean isIgnoredMethodName(String methodName)


Copyright © 2012. All Rights Reserved.