From aacde8e09920b4a7dd524926a7a1872e2aefd6f3 Mon Sep 17 00:00:00 2001 From: Gijs de Jong Date: Fri, 30 Sep 2022 08:24:41 +0200 Subject: [PATCH] Filter out bug pattern tests --- .../picnic/errorprone/plugin/DocgenTaskListener.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/docgen/src/main/java/tech/picnic/errorprone/plugin/DocgenTaskListener.java b/docgen/src/main/java/tech/picnic/errorprone/plugin/DocgenTaskListener.java index 225484d2..51a04cf4 100644 --- a/docgen/src/main/java/tech/picnic/errorprone/plugin/DocgenTaskListener.java +++ b/docgen/src/main/java/tech/picnic/errorprone/plugin/DocgenTaskListener.java @@ -6,6 +6,8 @@ import com.fasterxml.jackson.databind.SerializationFeature; import com.google.errorprone.BugPattern; import com.google.errorprone.util.ASTHelpers; import com.sun.source.tree.ClassTree; +import com.sun.source.tree.Tree; +import com.sun.source.tree.VariableTree; import com.sun.source.util.TaskEvent; import com.sun.source.util.TaskEvent.Kind; import com.sun.source.util.TaskListener; @@ -40,7 +42,7 @@ final class DocgenTaskListener implements TaskListener { } ClassTree tree = JavacTrees.instance(context).getTree(taskEvent.getTypeElement()); - if (tree == null || !isBugPattern(tree)) { + if (tree == null || !isBugPatternTest(tree)) { return; } @@ -62,4 +64,11 @@ final class DocgenTaskListener implements TaskListener { private static boolean isBugPattern(ClassTree tree) { return ASTHelpers.hasDirectAnnotationWithSimpleName(tree, BugPattern.class.getSimpleName()); } + + private static boolean isBugPatternTest(ClassTree tree) { + return tree.getMembers().stream() + .filter(VariableTree.class::isInstance) + .map(VariableTree.class::cast) + .anyMatch(member -> member.getType().toString().equals("BugCheckerRefactoringTestHelper")); + } }