| Prev Class | Next Class | Frames | No Frames |
| Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Objectcom.puppycrawl.tools.checkstyle.api.AutomaticBeancom.puppycrawl.tools.checkstyle.api.AbstractViolationReportercom.puppycrawl.tools.checkstyle.api.Checkcom.puppycrawl.tools.checkstyle.checks.blocks.AvoidNestedBlocksCheckpublic class AvoidNestedBlocksCheckextends Check
public void guessTheOutput()
{
int whichIsWich = 0;
{
int whichIsWhich = 2;
}
System.out.println("value = " + whichIsWhich);
}
and debugging / refactoring leftovers such as
// if (someOldCondition)
{
System.out.println("unconditional");
}
A case in a switch statement does not implicitly form a block.
Thus to be able to introduce local variables that have case scope
it is necessary to open a nested block. This is supported, set
the allowInSwitchCase property to true and include all statements
of the case in the block.
switch (a)
{
case 0:
// Never OK, break outside block
{
x = 1;
}
break;
case 1:
// Never OK, statement outside block
System.out.println("Hello");
{
x = 2;
break;
}
case 1:
// OK if allowInSwitchCase is true
{
System.out.println("Hello");
x = 2;
break;
}
}
Method Summary | |
int[] | |
void |
|
void |
|
Methods inherited from class com.puppycrawl.tools.checkstyle.api.Check | |
beginTree, destroy, finishTree, getAcceptableTokens, getClassLoader, getDefaultTokens, getFileContents, getLines, getRequiredTokens, getTabWidth, getTokenNames, init, leaveToken, log, log, setClassLoader, setFileContents, setMessages, setTabWidth, setTokens, visitToken | |
Methods inherited from class com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter | |
getId, getMessageBundle, getSeverity, getSeverityLevel, log, log, log, log, log, log, log, log, log, log, log, setId, setSeverity | |
Methods inherited from class com.puppycrawl.tools.checkstyle.api.AutomaticBean | |
configure, contextualize, finishLocalSetup, getConfiguration, setupChild | |
public void setAllowInSwitchCase(boolean aAllowInSwitchCase)
Setter for allowInSwitchCase property.
- Parameters:
aAllowInSwitchCase- whether nested blocks are allowed if they are the only child of a switch case.
| Back to the Checkstyle Home Page |