com.puppycrawl.tools.checkstyle.checks.coding

Class ExplicitInitializationCheck

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()
int[]
getRequiredTokens()
void
visitToken(DetailAST aAST)

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

getMessageBundle, getSeverity, getSeverityLevel, log, log, log, log, log, log, log, log, log, log, log, setSeverity

Methods inherited from class com.puppycrawl.tools.checkstyle.api.AutomaticBean

configure, contextualize, finishLocalSetup, getConfiguration, setupChild

Method Details

getDefaultTokens

public final int[] getDefaultTokens()
Overrides:
getDefaultTokens in interface Check


getRequiredTokens

public final int[] getRequiredTokens()
Overrides:
getRequiredTokens in interface Check


visitToken

public void visitToken(DetailAST aAST)
Overrides:
visitToken in interface Check