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
-
Nested Class Summary
-
Constructor Summary
Constructors Constructor Description BugChecker()
-
Method Summary
Modifier and Type Method Description Set<String>
allNames()
Returns all of the name strings that this checker should respect as part of a@SuppressWarnings
annotation.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.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.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.String
canonicalName()
The canonical name of the check.Set<Class<? extends Annotation>>
customSuppressionAnnotations()
Returns the custom suppression annotations for this checker, if custom suppression is used.BugPattern.SeverityLevel
defaultSeverity()
protected Description
describeMatch(com.sun.source.tree.Tree node)
Helper to create a Description for the common case where there is no fix.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.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 anOptional
fix.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.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.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 anOptional
fix.boolean
disableable()
boolean
equals(Object obj)
int
hashCode()
boolean
isSuppressed(com.sun.source.tree.Tree tree)
Returns true if the given tree is annotated with a@SuppressWarnings
that disables this bug checker.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.String
linkUrl()
String
message()
BugPattern.SeverityLevel
severity(Map<String,BugPattern.SeverityLevel> severities)
boolean
supportsSuppressWarnings()
Returns true if this checker can be suppressed using@SuppressWarnings
.boolean
suppressedByAnyOf(Set<com.sun.tools.javac.util.Name> annotations, VisitorState s)
-
Constructor Details
-
BugChecker
public BugChecker()
-
-
Method Details
-
describeMatch
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
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 anOptional
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 anOptional
fix. -
buildDescription
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
Description copied from interface:Suppressible
The canonical name of the check.- Specified by:
canonicalName
in interfaceSuppressible
-
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 interfaceSuppressible
-
message
-
defaultSeverity
-
severity
-
linkUrl
-
supportsSuppressWarnings
public boolean supportsSuppressWarnings()Description copied from interface:Suppressible
Returns true if this checker can be suppressed using@SuppressWarnings
.- Specified by:
supportsSuppressWarnings
in interfaceSuppressible
-
disableable
public boolean disableable() -
customSuppressionAnnotations
Description copied from interface:Suppressible
Returns the custom suppression annotations for this checker, if custom suppression is used.- Specified by:
customSuppressionAnnotations
in interfaceSuppressible
-
suppressedByAnyOf
- Specified by:
suppressedByAnyOf
in interfaceSuppressible
-
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
-
hashCode
public int hashCode()
-