Class ModifiedControlVariableCheck
- java.lang.Object
- 
- com.puppycrawl.tools.checkstyle.api.AutomaticBean
- 
- com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
- 
- com.puppycrawl.tools.checkstyle.api.AbstractCheck
- 
- com.puppycrawl.tools.checkstyle.checks.coding.ModifiedControlVariableCheck
 
 
 
 
- 
- All Implemented Interfaces:
- Configurable,- Contextualizable
 
 public final class ModifiedControlVariableCheck extends AbstractCheck Checks that for loop control variables are not modified inside the for block. An example is: for (int i = 0; i < 1; i++) { i++; //violation }Rationale: If the control variable is modified inside the loop body, the program flow becomes more difficult to follow. See FOR statement specification for more details. Such loop would be suppressed: for (int i = 0; i < 10;) { i++; }- 
 Property skipEnhancedForLoopVariable- Control whether to check enhanced for-loop variable. Type isboolean. Default value isfalse.
 To configure the check: <module name="ModifiedControlVariable"/> By default, This Check validates Enhanced For-Loop. Option 'skipEnhancedForLoopVariable' could be used to skip check of variable from Enhanced For Loop. An example of how to configure the check so that it skips enhanced For Loop Variable is: <module name="ModifiedControlVariable"> <property name="skipEnhancedForLoopVariable" value="true"/> </module> Example: for (String line: lines) { line = line.trim(); // it will skip this violation }Parent is com.puppycrawl.tools.checkstyle.TreeWalkerViolation Message Keys: - 
 modified.control.variable
 - Since:
- 3.5
 
- 
- 
Nested Class Summary- 
Nested classes/interfaces inherited from class com.puppycrawl.tools.checkstyle.api.AutomaticBeanAutomaticBean.OutputStreamOptions
 
- 
 - 
Field SummaryFields Modifier and Type Field Description static java.lang.StringMSG_KEYA key is pointing to the warning message text in "messages.properties" file.
 - 
Constructor SummaryConstructors Constructor Description ModifiedControlVariableCheck()
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbeginTree(DetailAST rootAST)Called before the starting to process a tree.int[]getAcceptableTokens()The configurable token set.int[]getDefaultTokens()Returns the default token a check is interested in.int[]getRequiredTokens()The tokens that this check must be registered for.voidleaveToken(DetailAST ast)Called after all the child nodes have been process.voidsetSkipEnhancedForLoopVariable(boolean skipEnhancedForLoopVariable)Setter to control whether to check enhanced for-loop variable.voidvisitToken(DetailAST ast)Called to process a token.- 
Methods inherited from class com.puppycrawl.tools.checkstyle.api.AbstractCheckclearMessages, destroy, finishTree, getFileContents, getLine, getLines, getMessages, getTabWidth, getTokenNames, init, isCommentNodesRequired, log, log, log, setFileContents, setTabWidth, setTokens
 - 
Methods inherited from class com.puppycrawl.tools.checkstyle.api.AbstractViolationReporterfinishLocalSetup, getCustomMessages, getId, getMessageBundle, getSeverity, getSeverityLevel, setId, setSeverity
 - 
Methods inherited from class com.puppycrawl.tools.checkstyle.api.AutomaticBeanconfigure, contextualize, getConfiguration, setupChild
 
- 
 
- 
- 
- 
Field Detail- 
MSG_KEYpublic static final java.lang.String MSG_KEY A key is pointing to the warning message text in "messages.properties" file.- See Also:
- Constant Field Values
 
 
- 
 - 
Method Detail- 
setSkipEnhancedForLoopVariablepublic void setSkipEnhancedForLoopVariable(boolean skipEnhancedForLoopVariable) Setter to control whether to check enhanced for-loop variable.- Parameters:
- skipEnhancedForLoopVariable- whether to skip enhanced for-loop variable
 
 - 
getDefaultTokenspublic int[] getDefaultTokens() Description copied from class:AbstractCheckReturns the default token a check is interested in. Only used if the configuration for a check does not define the tokens.- Specified by:
- getDefaultTokensin class- AbstractCheck
- Returns:
- the default tokens
- See Also:
- TokenTypes
 
 - 
getRequiredTokenspublic int[] getRequiredTokens() Description copied from class:AbstractCheckThe tokens that this check must be registered for.- Specified by:
- getRequiredTokensin class- AbstractCheck
- Returns:
- the token set this must be registered for.
- See Also:
- TokenTypes
 
 - 
getAcceptableTokenspublic int[] getAcceptableTokens() Description copied from class:AbstractCheckThe configurable token set. Used to protect Checks against malicious users who specify an unacceptable token set in the configuration file. The default implementation returns the check's default tokens.- Specified by:
- getAcceptableTokensin class- AbstractCheck
- Returns:
- the token set this check is designed for.
- See Also:
- TokenTypes
 
 - 
beginTreepublic void beginTree(DetailAST rootAST) Description copied from class:AbstractCheckCalled before the starting to process a tree. Ideal place to initialize information that is to be collected whilst processing a tree.- Overrides:
- beginTreein class- AbstractCheck
- Parameters:
- rootAST- the root of the tree
 
 - 
visitTokenpublic void visitToken(DetailAST ast) Description copied from class:AbstractCheckCalled to process a token.- Overrides:
- visitTokenin class- AbstractCheck
- Parameters:
- ast- the token to process
 
 - 
leaveTokenpublic void leaveToken(DetailAST ast) Description copied from class:AbstractCheckCalled after all the child nodes have been process.- Overrides:
- leaveTokenin class- AbstractCheck
- Parameters:
- ast- the token leaving
 
 
- 
 
-