com.puppycrawl.tools.checkstyle.checks.coding
Class RequireThisCheck

java.lang.Object
  extended bycom.puppycrawl.tools.checkstyle.api.AutomaticBean
      extended bycom.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
          extended bycom.puppycrawl.tools.checkstyle.api.Check
              extended bycom.puppycrawl.tools.checkstyle.checks.coding.RequireThisCheck
All Implemented Interfaces:
Configurable, Contextualizable

public class RequireThisCheck
extends Check

Checks that code doesn't rely on the "this." default, i.e. references to instance variables and methods of the present object are explicitly of the form "this.varName" or "this.methodName(args)".

Examples of use:

 <module name="RequireThis"/>
 
An example of how to configure to check this qualifier for methods only:
 <module name="RequireThis">
   <property name="checkFields" value="false"/>
   <property name="checkMethods" value="true"/>
 </module>
 

Limitations: I'm not currently doing anything about static variables or catch-blocks. Static methods invoked on a class name seem to be OK; both the class name and the method name have a DOT parent. Non-static methods invoked on either this or a variable name seem to be OK, likewise.

Much of the code for this check was cribbed from Rick Giles's HiddenFieldCheck.

Author:
Stephen Bloch, o_sukhodolsky

Constructor Summary
RequireThisCheck()
          Creates new instance of the check.
 
Method Summary
 void beginTree(DetailAST aRootAST)
          Called before the starting to process a tree. Ideal place to initialise information that is to be collected whilst processing a tree.
 boolean getCheckFields()
           
 boolean getCheckMethods()
           
 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 leaveToken(DetailAST aAST)
          Called after all the child nodes have been process.
 void setCheckFields(boolean aCheckFields)
          Setter for checkFields property.
 void setCheckMethods(boolean aCheckMethods)
          Setter for checkMethods property.
 void visitToken(DetailAST aAST)
          Called to process a token.
 
Methods inherited from class com.puppycrawl.tools.checkstyle.api.Check
destroy, finishTree, getAcceptableTokens, getClassLoader, getFileContents, getLines, getTabWidth, getTokenNames, init, 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 com.puppycrawl.tools.checkstyle.api.AutomaticBean
configure, contextualize, finishLocalSetup, getConfiguration, setupChild
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RequireThisCheck

public RequireThisCheck()
Creates new instance of the check.

Method Detail

setCheckFields

public void setCheckFields(boolean aCheckFields)
Setter for checkFields property.

Parameters:
aCheckFields - should we check fields usage or not.

getCheckFields

public boolean getCheckFields()
Returns:
true if we should check fields usage false overwise.

setCheckMethods

public void setCheckMethods(boolean aCheckMethods)
Setter for checkMethods property.

Parameters:
aCheckMethods - should we check methods usage or not.

getCheckMethods

public boolean getCheckMethods()
Returns:
true if we should check methods usage false overwise.

getDefaultTokens

public 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 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

beginTree

public void beginTree(DetailAST aRootAST)
Called before the starting to process a tree. Ideal place to initialise information that is to be collected whilst processing a tree.

Overrides:
beginTree in class Check
Parameters:
aRootAST - the root of the tree

leaveToken

public void leaveToken(DetailAST aAST)
Called after all the child nodes have been process.

Overrides:
leaveToken in class Check
Parameters:
aAST - the token leaving

visitToken

public void visitToken(DetailAST aAST)
Called to process a token.

Overrides:
visitToken in class Check
Parameters:
aAST - the token to process

Back to the Checkstyle Home Page