|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.puppycrawl.tools.checkstyle.api.AutomaticBean
com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
com.puppycrawl.tools.checkstyle.api.Check
com.puppycrawl.tools.checkstyle.checks.AbstractTypeAwareCheck
public abstract class AbstractTypeAwareCheck
Abstract class that endeavours to maintain type information for the Java file being checked. It provides helper methods for performing type information functions.
Nested Class Summary | |
---|---|
protected static class |
AbstractTypeAwareCheck.ClassInfo
Contains class's Token . |
protected static class |
AbstractTypeAwareCheck.Token
Represents text element with location in the text. |
Constructor Summary | |
---|---|
AbstractTypeAwareCheck()
|
Method Summary | |
---|---|
void |
beginTree(DetailAST aRootAST)
Called before the starting to process a tree. |
protected AbstractTypeAwareCheck.ClassInfo |
createClassInfo(AbstractTypeAwareCheck.Token aName,
String aSurroundingClass)
Creates class info for given name. |
protected AbstractTypeAwareCheck.ClassInfo |
findClassAlias(String aName)
Looking if a given name is alias. |
protected String |
getCurrentClassName()
Returns current class. |
int[] |
getRequiredTokens()
The tokens that this check must be registered for. |
protected boolean |
isSameType(String aFirst,
String aSecond)
Return if two Strings represent the same type, inspecting the import statements if necessary |
protected boolean |
isShortName(String aShortName,
String aFullName)
Calculate if one type name is a shortname for another type name. |
protected boolean |
isSubclass(Class aChild,
Class aParent)
Checks if one class is subclass of another |
protected boolean |
isUnchecked(Class aException)
Is exception is unchecked (subclass of RuntimeException
or Error |
protected void |
leaveAST(DetailAST aAST)
Called when exiting an AST. |
void |
leaveToken(DetailAST aAST)
Called after all the child nodes have been process. |
protected abstract void |
logLoadError(AbstractTypeAwareCheck.Token aIdent)
Logs error if unable to load class information. |
protected void |
logLoadErrorImpl(int aLineNo,
int aColumnNo,
String aMsgKey,
Object[] aValues)
Common implementation for logLoadError() method. |
protected abstract void |
processAST(DetailAST aAST)
Called to process an AST when visiting it. |
protected Class |
resolveClass(String aClassName,
String aCurrentClass)
Attempts to resolve the Class for a specified name. |
protected Class |
tryLoadClass(AbstractTypeAwareCheck.Token aIdent,
String aCurrentClass)
Tries to load class. |
void |
visitToken(DetailAST aAST)
Called to process a token. |
Methods inherited from class com.puppycrawl.tools.checkstyle.api.Check |
---|
destroy, finishTree, getAcceptableTokens, getClassLoader, getDefaultTokens, 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 |
---|
public AbstractTypeAwareCheck()
Method Detail |
---|
protected abstract void processAST(DetailAST aAST)
aAST
- the AST to process. Guaranteed to not be PACKAGE_DEF or
IMPORT tokens.public final int[] getRequiredTokens()
getRequiredTokens
in class Check
TokenTypes
public void beginTree(DetailAST aRootAST)
beginTree
in class Check
aRootAST
- the root of the treepublic final void visitToken(DetailAST aAST)
visitToken
in class Check
aAST
- the token to processpublic final void leaveToken(DetailAST aAST)
leaveToken
in class Check
aAST
- the token leavingprotected void leaveAST(DetailAST aAST)
aAST
- the AST we are departing. Guaranteed to not be PACKAGE_DEF,
CLASS_DEF, or IMPORTprotected boolean isShortName(String aShortName, String aFullName)
aShortName
- a shorthand, such as IOException
aFullName
- a full name, such as java.io.IOException
protected boolean isUnchecked(Class aException)
RuntimeException
or Error
aException
- Class
of exception to check
protected boolean isSubclass(Class aChild, Class aParent)
aChild
- Class
of class
which should be childaParent
- Class
of class
which should be parent
protected boolean isSameType(String aFirst, String aSecond)
aFirst
- first type declared in throws clauseaSecond
- second type declared in thros tag
protected final Class resolveClass(String aClassName, String aCurrentClass)
aClassName
- name of the class to resolveaCurrentClass
- name of surrounding class.
null
if unable to resolve the class.protected final Class tryLoadClass(AbstractTypeAwareCheck.Token aIdent, String aCurrentClass)
aIdent
- name of class which we try to load.aCurrentClass
- name of surrounding class.
Class
for a ident.protected abstract void logLoadError(AbstractTypeAwareCheck.Token aIdent)
aIdent
- class name for which we can no load class.protected final void logLoadErrorImpl(int aLineNo, int aColumnNo, String aMsgKey, Object[] aValues)
aLineNo
- line number of the problem.aColumnNo
- column number of the problem.aMsgKey
- message key to use.aValues
- values to fill the message out.protected final String getCurrentClassName()
protected final AbstractTypeAwareCheck.ClassInfo createClassInfo(AbstractTypeAwareCheck.Token aName, String aSurroundingClass)
aName
- name of type.aSurroundingClass
- name of surrounding class.
protected final AbstractTypeAwareCheck.ClassInfo findClassAlias(String aName)
aName
- given name
|
Back to the Checkstyle Home Page | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |