Class BugChecker

java.lang.Object
com.google.errorprone.bugpatterns.BugChecker
All Implemented Interfaces:
Suppressible, Serializable

public abstract class BugChecker
extends Object
implements Suppressible, Serializable
A base class for implementing bug checkers. The BugChecker supplies a Scanner implementation for this checker, making it easy to use a single checker. Subclasses should also implement one or more of the *Matcher interfaces in this class to declare which tree node types to match against.
Author:
Colin Decker, Eddie Aftandilian ([email protected])
See Also:
Serialized Form
  • Constructor Details

    • BugChecker

      public BugChecker()
  • Method Details

    • describeMatch

      @CheckReturnValue protected Description describeMatch​(com.sun.source.tree.Tree node, Fix fix)
      Helper to create a Description for the common case where there is a fix.
    • describeMatch

      @CheckReturnValue protected Description describeMatch​(com.sun.tools.javac.tree.JCTree node, Fix fix)
      Helper to create a Description for the common case where there is a fix.
    • describeMatch

      @CheckReturnValue protected Description describeMatch​(com.sun.tools.javac.util.JCDiagnostic.DiagnosticPosition position, Fix fix)
      Helper to create a Description for the common case where there is a fix.
    • describeMatch

      @CheckReturnValue protected Description describeMatch​(com.sun.source.tree.Tree node)
      Helper to create a Description for the common case where there is no fix.
    • describeMatch

      @CheckReturnValue protected Description describeMatch​(com.sun.source.tree.Tree node, Optional<? extends Fix> fix)
      Helper to create a Description for the common case where there is an Optional fix.
    • describeMatch

      @CheckReturnValue protected Description describeMatch​(com.sun.tools.javac.util.JCDiagnostic.DiagnosticPosition position, Optional<? extends Fix> fix)
      Helper to create a Description for the common case where there is an Optional fix.
    • buildDescription

      @CheckReturnValue public Description.Builder buildDescription​(com.sun.source.tree.Tree node)
      Returns a Description builder, which allows you to customize the diagnostic with a custom message or multiple fixes.
    • buildDescription

      @CheckReturnValue public Description.Builder buildDescription​(com.sun.tools.javac.util.JCDiagnostic.DiagnosticPosition position)
      Returns a Description builder, which allows you to customize the diagnostic with a custom message or multiple fixes.
    • buildDescription

      @CheckReturnValue public Description.Builder buildDescription​(com.sun.tools.javac.tree.JCTree tree)
      Returns a Description builder, which allows you to customize the diagnostic with a custom message or multiple fixes.
    • canonicalName

      public String canonicalName()
      Description copied from interface: Suppressible
      The canonical name of the check.
      Specified by:
      canonicalName in interface Suppressible
    • allNames

      public Set<String> allNames()
      Description copied from interface: Suppressible
      Returns all of the name strings that this checker should respect as part of a @SuppressWarnings annotation.
      Specified by:
      allNames in interface Suppressible
    • message

      public String message()
    • defaultSeverity

      public BugPattern.SeverityLevel defaultSeverity()
    • severity

      public BugPattern.SeverityLevel severity​(Map<String,​BugPattern.SeverityLevel> severities)
    • linkUrl

      public String linkUrl()
    • supportsSuppressWarnings

      public boolean supportsSuppressWarnings()
      Description copied from interface: Suppressible
      Returns true if this checker can be suppressed using @SuppressWarnings.
      Specified by:
      supportsSuppressWarnings in interface Suppressible
    • disableable

      public boolean disableable()
    • customSuppressionAnnotations

      public Set<Class<? extends Annotation>> customSuppressionAnnotations()
      Description copied from interface: Suppressible
      Returns the custom suppression annotations for this checker, if custom suppression is used.
      Specified by:
      customSuppressionAnnotations in interface Suppressible
    • suppressedByAnyOf

      public boolean suppressedByAnyOf​(Set<com.sun.tools.javac.util.Name> annotations, VisitorState s)
      Specified by:
      suppressedByAnyOf in interface Suppressible
    • isSuppressed

      public boolean isSuppressed​(com.sun.source.tree.Tree tree)
      Returns true if the given tree is annotated with a @SuppressWarnings that disables this bug checker.
    • isSuppressed

      public boolean isSuppressed​(com.sun.tools.javac.code.Symbol symbol)
      Returns true if the given symbol is annotated with a @SuppressWarnings that disables this bug checker.
    • equals

      public boolean equals​(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object