com.puppycrawl.tools.checkstyle.checks.coding
Class ExplicitInitializationCheck
java.lang.Object
com.puppycrawl.tools.checkstyle.api.AutomaticBean
com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
com.puppycrawl.tools.checkstyle.api.Check
com.puppycrawl.tools.checkstyle.checks.coding.ExplicitInitializationCheck
- All Implemented Interfaces:
- Configurable, Contextualizable
- public class ExplicitInitializationCheck
- extends Check
Checks if any class or object member explicitly initialized
to default for its type value (null
for object
references, zero for numeric types and char
and false
for boolean
.
Rationale: each instance variable gets
initialized twice, to the same value. Java
initializes each instance variable to its default
value (0 or null) before performing any
initialization specified in the code. So in this case,
x gets initialized to 0 twice, and bar gets initialized
to null twice. So there is a minor inefficiency. This style of
coding is a hold-over from C/C++ style coding,
and it shows that the developer isn't really confident that
Java really initializes instance variables to default
values.
- Author:
- o_sukhodolsky
Method Summary |
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[] |
getRequiredTokens()
The tokens that this check must be registered for. |
void |
visitToken(DetailAST aAST)
Called to process a token. |
Methods inherited from class com.puppycrawl.tools.checkstyle.api.Check |
beginTree, destroy, finishTree, getAcceptableTokens, getClassLoader, getFileContents, getLines, getTabWidth, getTokenNames, init, leaveToken, 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 java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ExplicitInitializationCheck
public ExplicitInitializationCheck()
getDefaultTokens
public final 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 final 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
visitToken
public void visitToken(DetailAST aAST)
- Called to process a token.
- Overrides:
visitToken
in class Check
- Parameters:
aAST
- the token to process