com.puppycrawl.tools.checkstyle.checks.metrics
Class NPathComplexityCheck

java.lang.Object
  extended bycom.puppycrawl.tools.checkstyle.api.AutomaticBean
      extended bycom.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
          extended bycom.puppycrawl.tools.checkstyle.api.Check
              extended bycom.puppycrawl.tools.checkstyle.checks.metrics.AbstractComplexityCheck
                  extended bycom.puppycrawl.tools.checkstyle.checks.metrics.NPathComplexityCheck
All Implemented Interfaces:
Configurable, Contextualizable

public final class NPathComplexityCheck
extends AbstractComplexityCheck

Checks the npath complexity against a specified limt (default = 200). The npath metric computes the number of possible execution paths through a function. Similar to the cyclomatic complexity but also takes into account the nesting of conditional statements and multi-part boolean expressions.

Author:
Simon Harris, o_sukhodolsky TODO: For every or: _value += (_orCount * (nestedValue - 1)); TODO: For every and: ???

Constructor Summary
NPathComplexityCheck()
          Creates new instance of the check.
 
Method Summary
 int[] getDefaultTokens()
          Returns the default token a check is interested in. Only used if the configuration for a check does not define the tokens.
protected  java.lang.String getMessageID()
          
 void leaveToken(DetailAST aAST)
          Called after all the child nodes have been process.
 void visitToken(DetailAST aAST)
          Called to process a token.
 
Methods inherited from class com.puppycrawl.tools.checkstyle.checks.metrics.AbstractComplexityCheck
getCurrentValue, getMax, getRequiredTokens, incrementCurrentValue, leaveTokenHook, popValue, pushValue, setCurrentValue, setMax, visitTokenHook
 
Methods inherited from class com.puppycrawl.tools.checkstyle.api.Check
beginTree, destroy, finishTree, getAcceptableTokens, getClassLoader, getFileContents, getLines, getTabWidth, getTokenNames, init, log, log, setClassLoader, setFileContents, setMessages, setTabWidth, setTokens
 
Methods inherited from class com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
getMessageBundle, getSeverity, getSeverityLevel, log, log, log, log, log, log, log, log, log, setSeverity
 
Methods inherited from class com.puppycrawl.tools.checkstyle.api.AutomaticBean
configure, contextualize, finishLocalSetup, getConfiguration, setupChild
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NPathComplexityCheck

public NPathComplexityCheck()
Creates new instance of the check.

Method Detail

getDefaultTokens

public int[] getDefaultTokens()
Returns the default token a check is interested in. Only used if the configuration for a check does not define the tokens.

Specified by:
getDefaultTokens in class Check
Returns:
the default tokens
See Also:
TokenTypes

visitToken

public void visitToken(DetailAST aAST)
Called to process a token.

Overrides:
visitToken in class AbstractComplexityCheck

leaveToken

public void leaveToken(DetailAST aAST)
Called after all the child nodes have been process.

Overrides:
leaveToken in class AbstractComplexityCheck

getMessageID

protected java.lang.String getMessageID()

Specified by:
getMessageID in class AbstractComplexityCheck
Returns:
the message ID to log violations with

Back to the Checkstyle Home Page