public class SimplifyBooleanReturnCheck extends AbstractCheck
Checks for over-complicated boolean return statements. For example the following code
if (valid()) return false; else return true;
could be written as
return !valid();
The idea for this Check has been shamelessly stolen from the equivalent PMD rule.
To configure the check:
<module name="SimplifyBooleanReturn"/>
Example:
public class Test {
private boolean cond;
private Foo a;
private Foo b;
public boolean check1() {
if (cond) { // violation, can be simplified
return true;
}
else {
return false;
}
}
// Ok, simplified version of check1()
public boolean check2() {
return cond;
}
// violations, can be simplified
public boolean check3() {
if (cond == true) { // can be simplified to "if (cond)"
return false;
}
else {
return true; // can be simplified to "return !cond"
}
}
// Ok, can be simplified but doesn't return a Boolean
public Foo choose1() {
if (cond) {
return a;
}
else {
return b;
}
}
// Ok, simplified version of choose1()
public Foo choose2() {
return cond ? a: b;
}
}
Parent is com.puppycrawl.tools.checkstyle.TreeWalker
Violation Message Keys:
simplify.boolReturn
AutomaticBean.OutputStreamOptions| Modifier and Type | Field and Description |
|---|---|
static String |
MSG_KEY
A key is pointing to the warning message text in "messages.properties"
file.
|
| Constructor and Description |
|---|
SimplifyBooleanReturnCheck() |
| Modifier and Type | Method and Description |
|---|---|
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.
|
void |
visitToken(DetailAST ast)
Called to process a token.
|
beginTree, clearMessages, destroy, finishTree, getFileContents, getLine, getLines, getMessages, getTabWidth, getTokenNames, init, isCommentNodesRequired, leaveToken, log, log, log, setFileContents, setTabWidth, setTokensfinishLocalSetup, getCustomMessages, getId, getMessageBundle, getSeverity, getSeverityLevel, setId, setSeverityconfigure, contextualize, getConfiguration, setupChildpublic static final String MSG_KEY
public SimplifyBooleanReturnCheck()
public int[] getAcceptableTokens()
AbstractCheckgetAcceptableTokens in class AbstractCheckTokenTypespublic int[] getDefaultTokens()
AbstractCheckgetDefaultTokens in class AbstractCheckTokenTypespublic int[] getRequiredTokens()
AbstractCheckgetRequiredTokens in class AbstractCheckTokenTypespublic void visitToken(DetailAST ast)
AbstractCheckvisitToken in class AbstractCheckast - the token to processCopyright © 2001–2020. All rights reserved.