Class SuppressWarningsHolder
- java.lang.Object
-
- com.puppycrawl.tools.checkstyle.api.AutomaticBean
-
- com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
-
- com.puppycrawl.tools.checkstyle.api.AbstractCheck
-
- com.puppycrawl.tools.checkstyle.checks.SuppressWarningsHolder
-
- All Implemented Interfaces:
Configurable
,Contextualizable
public class SuppressWarningsHolder extends AbstractCheck
Maintains a set of check suppressions from
@SuppressWarnings
annotations. It allows to prevent Checkstyle from reporting violations from parts of code that were annotated with@SuppressWarnings
and using name of the check to be excluded. You can also define aliases for check names that need to be suppressed.-
Property
aliasList
- Specify aliases for check names that can be used in code withinSuppressWarnings
. Type isjava.lang.String[]
. Default value isnull
.
To prevent
FooCheck
violations from being reported write:@SuppressWarnings("foo") interface I { } @SuppressWarnings("foo") enum E { } @SuppressWarnings("foo") InputSuppressWarningsFilter() { }
Some real check examples:
This will prevent from invocation of the MemberNameCheck:
@SuppressWarnings({"membername"}) private int J;
You can also use a
checkstyle
prefix to prevent compiler from processing this annotations. For example this will prevent ConstantNameCheck:@SuppressWarnings("checkstyle:constantname") private static final int m = 0;
The general rule is that the argument of the
@SuppressWarnings
will be matched against class name of the checker in lower case and withoutCheck
suffix if present.If
aliasList
property was provided you can use your own names e.g below code will work if there was provided aParameterNumberCheck=paramnum
in thealiasList
:@SuppressWarnings("paramnum") public void needsLotsOfParameters(@SuppressWarnings("unused") int a, int b, int c, int d, int e, int f, int g, int h) { ... }
It is possible to suppress all the checkstyle warnings with the argument
"all"
:@SuppressWarnings("all") public void someFunctionWithInvalidStyle() { //... }
Parent is
com.puppycrawl.tools.checkstyle.TreeWalker
- Since:
- 5.7
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.puppycrawl.tools.checkstyle.api.AutomaticBean
AutomaticBean.OutputStreamOptions
-
-
Constructor Summary
Constructors Constructor Description SuppressWarningsHolder()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
beginTree(DetailAST rootAST)
Called before the starting to process a tree.void
destroy()
Destroy the check.int[]
getAcceptableTokens()
The configurable token set.static java.lang.String
getAlias(java.lang.String sourceName)
Returns the alias for the source name of a check.static java.lang.String
getDefaultAlias(java.lang.String sourceName)
Returns the default alias for the source name of a check, which is the source name in lower case with any dotted prefix or "Check" suffix removed.int[]
getDefaultTokens()
Returns the default token a check is interested in.int[]
getRequiredTokens()
The tokens that this check must be registered for.static boolean
isSuppressed(AuditEvent event)
Checks for a suppression of a check with the given source name and location in the last file processed.void
setAliasList(java.lang.String... aliasList)
Setter to specify aliases for check names that can be used in code withinSuppressWarnings
.void
visitToken(DetailAST ast)
Called to process a token.-
Methods inherited from class com.puppycrawl.tools.checkstyle.api.AbstractCheck
clearMessages, finishTree, getFileContents, getLine, getLines, getMessages, getTabWidth, getTokenNames, init, isCommentNodesRequired, leaveToken, log, log, log, setFileContents, setTabWidth, setTokens
-
Methods inherited from class com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
finishLocalSetup, getCustomMessages, getId, getMessageBundle, getSeverity, getSeverityLevel, setId, setSeverity
-
Methods inherited from class com.puppycrawl.tools.checkstyle.api.AutomaticBean
configure, contextualize, getConfiguration, setupChild
-
-
-
-
Method Detail
-
getDefaultAlias
public static java.lang.String getDefaultAlias(java.lang.String sourceName)
Returns the default alias for the source name of a check, which is the source name in lower case with any dotted prefix or "Check" suffix removed.- Parameters:
sourceName
- the source name of the check (generally the class name)- Returns:
- the default alias for the given check
-
getAlias
public static java.lang.String getAlias(java.lang.String sourceName)
Returns the alias for the source name of a check. If an alias has been explicitly registered viasetAliasList(String...)
, that alias is returned; otherwise, the default alias is used.- Parameters:
sourceName
- the source name of the check (generally the class name)- Returns:
- the current alias for the given check
-
setAliasList
public void setAliasList(java.lang.String... aliasList)
Setter to specify aliases for check names that can be used in code withinSuppressWarnings
.- Parameters:
aliasList
- the list of comma-separated alias assignments- Throws:
java.lang.IllegalArgumentException
- when alias item does not have '='
-
isSuppressed
public static boolean isSuppressed(AuditEvent event)
Checks for a suppression of a check with the given source name and location in the last file processed.- Parameters:
event
- audit event.- Returns:
- whether the check with the given name is suppressed at the given source location
-
getDefaultTokens
public int[] getDefaultTokens()
Description copied from class:AbstractCheck
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 classAbstractCheck
- Returns:
- the default tokens
- See Also:
TokenTypes
-
getAcceptableTokens
public int[] getAcceptableTokens()
Description copied from class:AbstractCheck
The configurable token set. Used to protect Checks against malicious users who specify an unacceptable token set in the configuration file. The default implementation returns the check's default tokens.- Specified by:
getAcceptableTokens
in classAbstractCheck
- Returns:
- the token set this check is designed for.
- See Also:
TokenTypes
-
getRequiredTokens
public int[] getRequiredTokens()
Description copied from class:AbstractCheck
The tokens that this check must be registered for.- Specified by:
getRequiredTokens
in classAbstractCheck
- Returns:
- the token set this must be registered for.
- See Also:
TokenTypes
-
beginTree
public void beginTree(DetailAST rootAST)
Description copied from class:AbstractCheck
Called before the starting to process a tree. Ideal place to initialize information that is to be collected whilst processing a tree.- Overrides:
beginTree
in classAbstractCheck
- Parameters:
rootAST
- the root of the tree
-
visitToken
public void visitToken(DetailAST ast)
Description copied from class:AbstractCheck
Called to process a token.- Overrides:
visitToken
in classAbstractCheck
- Parameters:
ast
- the token to process
-
destroy
public void destroy()
Description copied from class:AbstractCheck
Destroy the check. It is being retired from service.- Overrides:
destroy
in classAbstractCheck
-
-