public class UnnecessaryParenthesesCheck extends Check
Checks if unnecessary parentheses are used in a statement or expression. The check will flag the following with warnings:
return (x); // parens around identifier return (x + 1); // parens around return value int x = (y / 2 + 1); // parens around assignment rhs for (int i = (0); i < 10; i++) { // parens around literal t -= (z + 1); // parens around assignment rhs
The check is not "type aware", that is to say, it can't tell if parentheses are unnecessary based on the types in an expression. It also doesn't know about operator precedence and associatvity; therefore it won't catch something like
int x = (a + b) + c;
In the above case, given that a, b, and c are
all int
variables, the parentheses around a + b
are not needed.
Constructor and Description |
---|
UnnecessaryParenthesesCheck() |
Modifier and Type | Method and Description |
---|---|
int[] |
getDefaultTokens()
Returns the default token a check is interested in.
|
void |
leaveToken(DetailAST aAST)
Called after all the child nodes have been process.
|
void |
visitToken(DetailAST aAST)
Called to process a token.
|
beginTree, destroy, finishTree, getAcceptableTokens, getClassLoader, getFileContents, getLines, getRequiredTokens, getTabWidth, getTokenNames, init, log, log, setClassLoader, setFileContents, setMessages, setTabWidth, setTokens
getId, getMessageBundle, getSeverity, getSeverityLevel, log, log, log, log, log, log, log, log, log, setId, setSeverity
configure, contextualize, finishLocalSetup, getConfiguration, setupChild
public int[] getDefaultTokens()
getDefaultTokens
in class Check
TokenTypes
public void visitToken(DetailAST aAST)
visitToken
in class Check
aAST
- the token to processpublic void leaveToken(DetailAST aAST)
leaveToken
in class Check
aAST
- the token leaving