Compare commits

...

1 Commits

Author SHA1 Message Date
Stephan Schroevers
b19befcacb TEST: Doesn't work
Investigate why.
2022-12-04 18:45:29 +01:00
4 changed files with 75 additions and 1 deletions

View File

@@ -13,10 +13,15 @@ import com.google.common.collect.Iterables;
import com.google.common.collect.Iterators;
import com.google.common.collect.Sets;
import com.google.common.collect.Streams;
import com.google.errorprone.bugpatterns.BugChecker;
import com.google.errorprone.matchers.Description;
import com.google.errorprone.refaster.Refaster;
import com.google.errorprone.refaster.annotation.AfterTemplate;
import com.google.errorprone.refaster.annotation.BeforeTemplate;
import com.google.errorprone.refaster.annotation.UseImportPolicy;
import com.sun.source.tree.Tree;
import com.sun.tools.javac.tree.JCTree;
import com.sun.tools.javac.util.JCDiagnostic.DiagnosticPosition;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
@@ -210,6 +215,29 @@ final class AssortedRules {
}
}
@SuppressWarnings("serial")
static final class DescribeMatch extends BugChecker {
@BeforeTemplate
Description before(Tree tree) {
return buildDescription(tree).build();
}
@BeforeTemplate
Description before(DiagnosticPosition tree) {
return buildDescription(tree).build();
}
@BeforeTemplate
Description before(JCTree tree) {
return buildDescription(tree).build();
}
@AfterTemplate
Description after(Tree tree) {
return describeMatch(tree);
}
}
// /**
// * Don't unnecessarily pass a method reference to {@link Supplier#get()} or wrap this method
// * in a lambda expression.

View File

@@ -10,6 +10,11 @@ import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Iterables;
import com.google.common.collect.Sets;
import com.google.common.collect.Streams;
import com.google.errorprone.bugpatterns.BugChecker;
import com.google.errorprone.matchers.Description;
import com.sun.source.tree.Tree;
import com.sun.tools.javac.tree.JCTree;
import com.sun.tools.javac.util.JCDiagnostic.DiagnosticPosition;
import java.util.Collections;
import java.util.HashSet;
import java.util.stream.Stream;
@@ -87,4 +92,20 @@ final class AssortedRulesTest implements RefasterRuleCollectionTestCase {
Streams.stream(Splitter.on(':').split("foo")),
Splitter.on(',').splitToList(new StringBuilder("bar")).stream());
}
BugChecker testDescribeMatch() {
return new BugChecker() {
Description testDescribeMatch(DiagnosticPosition diagnosticPosition) {
return buildDescription(diagnosticPosition).build();
}
Description testDescribeMatch(JCTree tree) {
return buildDescription(tree).build();
}
Description testDescribeMatch(Tree tree) {
return buildDescription(tree).build();
}
};
}
}

View File

@@ -13,6 +13,11 @@ import com.google.common.collect.Iterables;
import com.google.common.collect.Iterators;
import com.google.common.collect.Sets;
import com.google.common.collect.Streams;
import com.google.errorprone.bugpatterns.BugChecker;
import com.google.errorprone.matchers.Description;
import com.sun.source.tree.Tree;
import com.sun.tools.javac.tree.JCTree;
import com.sun.tools.javac.util.JCDiagnostic.DiagnosticPosition;
import java.util.Collections;
import java.util.HashSet;
import java.util.stream.Stream;
@@ -86,4 +91,20 @@ final class AssortedRulesTest implements RefasterRuleCollectionTestCase {
Splitter.on(':').splitToStream("foo"),
Splitter.on(',').splitToStream(new StringBuilder("bar")));
}
BugChecker testDescribeMatch() {
return new BugChecker() {
Description testDescribeMatch(DiagnosticPosition diagnosticPosition) {
return describeMatch(diagnosticPosition);
}
Description testDescribeMatch(JCTree tree) {
return describeMatch(tree);
}
Description testDescribeMatch(Tree tree) {
return describeMatch(tree);
}
};
}
}

View File

@@ -121,7 +121,11 @@ public final class RefasterRuleCollection extends BugChecker implements Compilat
String className = clazz.getSimpleName();
BugCheckerRefactoringTestHelper.newInstance(RefasterRuleCollection.class, clazz)
.setArgs(ImmutableList.of("-XepOpt:" + RULE_COLLECTION_FLAG + '=' + className))
.setArgs(
ImmutableList.of(
"-XepOpt:" + RULE_COLLECTION_FLAG + '=' + className,
"--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED",
"--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED"))
.addInput(className + "TestInput.java")
.addOutput(className + "TestOutput.java")
.doTest(TEXT_MATCH);