BugPatternLink
SUGGESTION
LikelyError
Summary
Error Prone Support checks must reference their online documentation
Suppression
Suppress false positives by adding the suppression annotation
@SuppressWarnings("BugPatternLink")to the enclosing element.Disable this pattern completely by adding
-Xep:BugPatternLink:OFFas compiler argument. Learn more.
Samples
Replacement
Shows the difference in example code before and after the bug pattern is applied.
 package tech.picnic.errorprone;
 
+import static com.google.errorprone.BugPattern.LinkType.CUSTOM;
+import static tech.picnic.errorprone.utils.Documentation.BUG_PATTERNS_BASE_URL;
+
 import com.google.errorprone.BugPattern;
 
 @BugPattern(
+    link = BUG_PATTERNS_BASE_URL + "A",
+    linkType = CUSTOM,
     summary = "Error Prone Support class lacking link",
     severity = BugPattern.SeverityLevel.ERROR)
 class A {}
  package tech.picnic.errorprone;
 
 import static com.google.errorprone.BugPattern.LinkType.CUSTOM;
 import static com.google.errorprone.BugPattern.SeverityLevel.ERROR;
+import static tech.picnic.errorprone.utils.Documentation.BUG_PATTERNS_BASE_URL;
 
 import com.google.errorprone.BugPattern;
 
 @BugPattern(
     summary = "Error Prone Support class with incorrect link",
-    link = "Not the right link",
+    link = BUG_PATTERNS_BASE_URL + "B",
     linkType = CUSTOM,
     severity = ERROR)
 class B {}
 Identification
Shows code lines which will (not) be flagged by this bug pattern. 
A //BUG: Diagnostic contains: comment is placed above any violating line.
package tech.picnic.errorprone;
import com.google.errorprone.BugPattern;
// BUG: Diagnostic contains:
@BugPattern(
    summary = "Error Prone Support class lacking link",
    severity = BugPattern.SeverityLevel.ERROR)
class G {}package tech.picnic.errorprone;
import com.google.errorprone.BugPattern;
import tech.picnic.errorprone.utils.Documentation;
// BUG: Diagnostic contains:
@BugPattern(
    summary = "Error Prone Support class with incorrect link",
    link = Documentation.BUG_PATTERNS_BASE_URL + "NotH",
    linkType = BugPattern.LinkType.CUSTOM,
    severity = BugPattern.SeverityLevel.ERROR)
class H {}package tech.picnic.errorprone;
import com.google.errorprone.BugPattern;
// BUG: Diagnostic contains:
@BugPattern(
    summary = "Error Prone Support class with non-canonical link",
    link = "https://error-prone.picnic.tech/bugpatterns/I",
    linkType = BugPattern.LinkType.CUSTOM,
    severity = BugPattern.SeverityLevel.ERROR)
class I {}package tech.picnic.errorprone;
import com.google.errorprone.BugPattern;
// BUG: Diagnostic contains:
@BugPattern(
    summary = "Error Prone Support class in with non-canonical link",
    link = "https://error-prone.picnic.tech/bugpatterns/" + "J",
    linkType = BugPattern.LinkType.CUSTOM,
    severity = BugPattern.SeverityLevel.ERROR)
class J {}