public class UnusedImportsCheck extends AbstractCheck
Checks for unused import statements.
An example of how to configure the check is:
<module name="UnusedImports"/>Compatible with Java 1.5 source.
Modifier and Type | Field and Description |
---|---|
private static java.util.regex.Pattern |
ARGUMENT_NAME
Regex to match argument names.
|
private static java.util.regex.Pattern |
CLASS_NAME
Regex to match class names.
|
private boolean |
collect
Flag to indicate when time to start collecting references.
|
private static java.util.regex.Pattern |
FIRST_CLASS_NAME
Regex to match the first class name.
|
private java.util.Set<FullIdent> |
imports
Set of the imports.
|
private static java.util.regex.Pattern |
JAVA_LANG_PACKAGE_PATTERN
Regexp pattern to match java.lang package.
|
static java.lang.String |
MSG_KEY
A key is pointing to the warning message text in "messages.properties"
file.
|
private boolean |
processJavadoc
Flag whether to process Javadoc comments.
|
private java.util.Set<java.lang.String> |
referenced
Set of references - possibly to imports or other things.
|
private static java.lang.String |
STAR_IMPORT_SUFFIX
Suffix for the star import.
|
Constructor and Description |
---|
UnusedImportsCheck() |
Modifier and Type | Method and Description |
---|---|
void |
beginTree(DetailAST rootAST)
Called before the starting to process a tree.
|
private void |
collectReferencesFromJavadoc(DetailAST ast)
Collects references made in Javadoc comments.
|
private static java.util.Set<java.lang.String> |
collectReferencesFromJavadoc(TextBlock textBlock)
Process a javadoc
TextBlock and return the set of classes
referenced within. |
void |
finishTree(DetailAST rootAST)
Called after finished processing a tree.
|
int[] |
getAcceptableTokens()
The configurable token set.
|
int[] |
getDefaultTokens()
Returns the default token a check is interested in.
|
int[] |
getRequiredTokens()
The tokens that this check must be registered for.
|
private static java.util.List<JavadocTag> |
getValidTags(TextBlock cmt,
JavadocUtils.JavadocTagType tagType)
Returns the list of valid tags found in a javadoc
TextBlock . |
private boolean |
isUnusedImport(java.lang.String imprt)
Checks whether an import is unused.
|
private static java.util.Set<java.lang.String> |
matchPattern(java.lang.String identifier,
java.util.regex.Pattern pattern)
Extracts a list of texts matching a
Pattern from a
String . |
private void |
processIdent(DetailAST ast)
Collects references made by IDENT.
|
private void |
processImport(DetailAST ast)
Collects the details of imports.
|
private static java.util.Set<java.lang.String> |
processJavadocTag(JavadocTag tag)
Returns a list of references found in a javadoc
JavadocTag . |
private void |
processStaticImport(DetailAST ast)
Collects the details of static imports.
|
void |
setProcessJavadoc(boolean value)
Sets whether to process JavaDoc or not.
|
void |
visitToken(DetailAST ast)
Called to process a token.
|
destroy, getClassLoader, getFileContents, getLine, getLines, getTabWidth, getTokenNames, init, isCommentNodesRequired, leaveToken, log, log, setClassLoader, setFileContents, setMessages, setTabWidth, setTokens
getCustomMessages, getId, getMessageBundle, getSeverity, getSeverityLevel, log, setId, setSeverity
configure, contextualize, finishLocalSetup, getConfiguration, setupChild
public static final java.lang.String MSG_KEY
private static final java.util.regex.Pattern CLASS_NAME
private static final java.util.regex.Pattern FIRST_CLASS_NAME
private static final java.util.regex.Pattern ARGUMENT_NAME
private static final java.util.regex.Pattern JAVA_LANG_PACKAGE_PATTERN
private static final java.lang.String STAR_IMPORT_SUFFIX
private final java.util.Set<FullIdent> imports
private final java.util.Set<java.lang.String> referenced
private boolean collect
private boolean processJavadoc
public void setProcessJavadoc(boolean value)
value
- Flag for processing JavaDoc.public void beginTree(DetailAST rootAST)
AbstractCheck
beginTree
in class AbstractCheck
rootAST
- the root of the treepublic void finishTree(DetailAST rootAST)
AbstractCheck
finishTree
in class AbstractCheck
rootAST
- the root of the treepublic int[] getDefaultTokens()
AbstractCheck
getDefaultTokens
in class AbstractCheck
TokenTypes
public int[] getRequiredTokens()
AbstractCheck
getRequiredTokens
in class AbstractCheck
TokenTypes
public int[] getAcceptableTokens()
AbstractCheck
getAcceptableTokens
in class AbstractCheck
TokenTypes
public void visitToken(DetailAST ast)
AbstractCheck
visitToken
in class AbstractCheck
ast
- the token to processprivate boolean isUnusedImport(java.lang.String imprt)
imprt
- an import.private void processIdent(DetailAST ast)
ast
- the IDENT node to processprivate void processImport(DetailAST ast)
ast
- node containing the import detailsprivate void processStaticImport(DetailAST ast)
ast
- node containing the static import detailsprivate void collectReferencesFromJavadoc(DetailAST ast)
ast
- node to inspect for Javadocprivate static java.util.Set<java.lang.String> collectReferencesFromJavadoc(TextBlock textBlock)
TextBlock
and return the set of classes
referenced within.textBlock
- The javadoc block to parseprivate static java.util.List<JavadocTag> getValidTags(TextBlock cmt, JavadocUtils.JavadocTagType tagType)
TextBlock
.cmt
- The javadoc block to parsetagType
- The type of tags we're interested inprivate static java.util.Set<java.lang.String> processJavadocTag(JavadocTag tag)
JavadocTag
.tag
- The javadoc tag to parseprivate static java.util.Set<java.lang.String> matchPattern(java.lang.String identifier, java.util.regex.Pattern pattern)
Pattern
from a
String
.identifier
- The String to match the pattern againstpattern
- The Pattern used to extract the texts