diff --git a/docgen/src/main/java/com/google/errorprone/BugPatternInstance.java b/docgen/src/main/java/com/google/errorprone/BugPatternInstance.java index 2d8514cd4da..a25b19f2509 100644 --- a/docgen/src/main/java/com/google/errorprone/BugPatternInstance.java +++ b/docgen/src/main/java/com/google/errorprone/BugPatternInstance.java @@ -17,6 +17,7 @@ package com.google.errorprone; import static com.google.common.base.MoreObjects.firstNonNull; +import static com.google.common.base.Verify.verifyNotNull; import com.google.errorprone.BugPattern.Category; import com.google.errorprone.BugPattern.MaturityLevel; @@ -38,7 +39,7 @@ public final class BugPatternInstance { public String summary; public String explanation; public String[] altNames; - public Category category; + public String category; public MaturityLevel maturity; public SeverityLevel severity; public Suppressibility suppressibility; @@ -52,22 +53,17 @@ public static BugPatternInstance fromElement(Element element) { BugPattern annotation = element.getAnnotation(BugPattern.class); instance.name = annotation.name(); instance.altNames = annotation.altNames(); - instance.category = annotation.category(); instance.maturity = annotation.maturity(); instance.severity = annotation.severity(); instance.suppressibility = annotation.suppressibility(); instance.summary = annotation.summary(); instance.explanation = annotation.explanation(); + instance.documentSuppression = annotation.documentSuppression(); Map keyValues = getAnnotation(element, BugPattern.class.getName()); - // Avoid MirroredTypeException hacks: + instance.category = verifyNotNull(keyValues.get("category")).toString(); instance.customSuppressionAnnotation = firstNonNull(keyValues.get("customSuppressionAnnotation"), "").toString(); - // TODO(cushon): access directly once documentSuppression is in the released BugPattern - if (keyValues.containsKey("documentSuppression")) { - instance.documentSuppression = - Boolean.parseBoolean(keyValues.get("documentSuppression").toString()); - } return instance; } diff --git a/docgen/src/test/java/com/google/errorprone/BugPatternFileGeneratorTest.java b/docgen/src/test/java/com/google/errorprone/BugPatternFileGeneratorTest.java index f3cf3d7717e..86a1df9b1be 100644 --- a/docgen/src/test/java/com/google/errorprone/BugPatternFileGeneratorTest.java +++ b/docgen/src/test/java/com/google/errorprone/BugPatternFileGeneratorTest.java @@ -68,7 +68,7 @@ private static BugPatternInstance deadExceptionTestInfo() { instance.explanation = "The exception is created with new, but is not thrown, and the reference is lost."; instance.altNames = new String[] {"ThrowableInstanceNeverThrown"}; - instance.category = Category.JDK; + instance.category = Category.JDK.toString(); instance.severity = SeverityLevel.ERROR; instance.maturity = MaturityLevel.MATURE; instance.suppressibility = Suppressibility.SUPPRESS_WARNINGS;