Class 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 within SuppressWarnings. Type is java.lang.String[]. Default value is null.

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 without Check suffix if present.

If aliasList property was provided you can use your own names e.g below code will work if there was provided a ParameterNumberCheck=paramnum in the aliasList:

 @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
  • Constructor Details

    • SuppressWarningsHolder

      public SuppressWarningsHolder()
  • Method Details

    • getDefaultAlias

      public static String getDefaultAlias(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 String getAlias(String sourceName)
      Returns the alias for the source name of a check. If an alias has been explicitly registered via setAliasList(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(String... aliasList)
      Setter to specify aliases for check names that can be used in code within SuppressWarnings.
      Parameters:
      aliasList - the list of comma-separated alias assignments
      Throws:
      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 class AbstractCheck
      Returns:
      the default tokens
      See Also:
    • 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 class AbstractCheck
      Returns:
      the token set this check is designed for.
      See Also:
    • getRequiredTokens

      public int[] getRequiredTokens()
      Description copied from class: AbstractCheck
      The tokens that this check must be registered for.
      Specified by:
      getRequiredTokens in class AbstractCheck
      Returns:
      the token set this must be registered for.
      See Also:
    • 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 class AbstractCheck
      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 class AbstractCheck
      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 class AbstractCheck