com.puppycrawl.tools.checkstyle.checks.coding
Class ReturnCountCheck

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.AbstractFormatCheck
                  extended bycom.puppycrawl.tools.checkstyle.checks.coding.ReturnCountCheck
All Implemented Interfaces:
Configurable, Contextualizable

public final class ReturnCountCheck
extends AbstractFormatCheck

Restricts return statements to a specified count (default = 2). Ignores specified methods (equals() by default).

Rationale: Too many return points can be indication that code is attempting to do too much or may be difficult to understand.

Author:
Simon Harris TODO: Test for inside a static block

Constructor Summary
ReturnCountCheck()
          Creates new instance of the checks.
 
Method Summary
 void beginTree(DetailAST aRootAST)
          Called before the starting to process a tree. Ideal place to initialise information that is to be collected whilst processing a tree.
 int[] getDefaultTokens()
          Returns the default token a check is interested in. Only used if the configuration for a check does not define the tokens.
 int getMax()
          Getter for max property.
 int[] getRequiredTokens()
          The tokens that this check must be registered for.
 void leaveToken(DetailAST aAST)
          Called after all the child nodes have been process.
 void setMax(int aMax)
          Setter for max property.
 void visitToken(DetailAST aAST)
          Called to process a token.
 
Methods inherited from class com.puppycrawl.tools.checkstyle.checks.AbstractFormatCheck
getFormat, getRegexp, setFormat
 
Methods inherited from class com.puppycrawl.tools.checkstyle.api.Check
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

ReturnCountCheck

public ReturnCountCheck()
Creates new instance of the checks.

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

getRequiredTokens

public int[] getRequiredTokens()
The tokens that this check must be registered for.

Overrides:
getRequiredTokens in class Check
Returns:
the token set this must be registered for.
See Also:
TokenTypes

getMax

public int getMax()
Getter for max property.

Returns:
maximum allowed number of return statements.

setMax

public void setMax(int aMax)
Setter for max property.

Parameters:
aMax - maximum allowed number of return statements.

beginTree

public void beginTree(DetailAST aRootAST)
Called before the starting to process a tree. Ideal place to initialise information that is to be collected whilst processing a tree.

Overrides:
beginTree in class Check
Parameters:
aRootAST - the root of the tree

visitToken

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

Overrides:
visitToken in class Check
Parameters:
aAST - the token to process

leaveToken

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

Overrides:
leaveToken in class Check
Parameters:
aAST - the token leaving

Back to the Checkstyle Home Page