Skip to content

Commit e898d04

Browse files
committed
Add changes
1 parent ef8ac8d commit e898d04

File tree

5 files changed

+22
-49
lines changed

5 files changed

+22
-49
lines changed

gradle-suppressible-error-prone/src/main/java/com/palantir/gradle/suppressibleerrorprone/modes/Modes.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
import com.palantir.gradle.suppressibleerrorprone.modes.interferences.DisableModeInterference;
3131
import com.palantir.gradle.suppressibleerrorprone.modes.interferences.RemoveRolloutAndSuppressingInterference;
3232
import com.palantir.gradle.suppressibleerrorprone.modes.interferences.RemoveUnusedAndApplyingInterference;
33-
import com.palantir.gradle.suppressibleerrorprone.modes.interferences.RemoveUnusedAndSuppressInterference;
3433
import com.palantir.gradle.suppressibleerrorprone.modes.interferences.SuppressingAndApplyingInterference;
3534
import com.palantir.gradle.suppressibleerrorprone.modes.modes.ApplyMode;
3635
import com.palantir.gradle.suppressibleerrorprone.modes.modes.DisableMode;
@@ -71,8 +70,7 @@ ModeName.SUPPRESS, new SuppressMode(),
7170
new DisableModeInterference(),
7271
new RemoveRolloutAndSuppressingInterference(),
7372
new SuppressingAndApplyingInterference(),
74-
new RemoveUnusedAndApplyingInterference(),
75-
new RemoveUnusedAndSuppressInterference());
73+
new RemoveUnusedAndApplyingInterference());
7674

7775
public final CombinedValue modifyCheckApi() {
7876
return ModifyCheckApiOption.combine(

gradle-suppressible-error-prone/src/main/java/com/palantir/gradle/suppressibleerrorprone/modes/interferences/RemoveUnusedAndSuppressInterference.java

Lines changed: 0 additions & 37 deletions
This file was deleted.

suppressible-error-prone/src/main/java/com/palantir/suppressibleerrorprone/AllErrorprones.java

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,24 @@
2626
import one.util.streamex.StreamEx;
2727

2828
public final class AllErrorprones {
29+
private static Set<String> cachedAllBugcheckerNames;
30+
2931
public static Set<String> allBugcheckerNames() {
30-
Stream<BugChecker> pluginChecks =
31-
ServiceLoader.load(BugChecker.class).stream().map(ServiceLoader.Provider::get);
32-
Stream<String> pluginCheckNames =
33-
StreamEx.of(pluginChecks).flatMap(bugchecker -> bugchecker.allNames().stream());
32+
if (cachedAllBugcheckerNames == null) {
33+
Stream<BugChecker> pluginChecks =
34+
ServiceLoader.load(BugChecker.class).stream().map(ServiceLoader.Provider::get);
35+
Stream<String> pluginCheckNames =
36+
StreamEx.of(pluginChecks).flatMap(bugchecker -> bugchecker.allNames().stream());
37+
38+
Stream<BugCheckerInfo> builtInChecks = BuiltInCheckerSuppliers.allChecks().getAllChecks().values().stream();
39+
Stream<String> builtInCheckNames =
40+
StreamEx.of(builtInChecks).flatMap(bugchecker -> bugchecker.allNames().stream());
3441

35-
Stream<BugCheckerInfo> builtInChecks = BuiltInCheckerSuppliers.allChecks().getAllChecks().values().stream();
36-
Stream<String> builtInCheckNames =
37-
StreamEx.of(builtInChecks).flatMap(bugchecker -> bugchecker.allNames().stream());
42+
cachedAllBugcheckerNames =
43+
Stream.concat(pluginCheckNames, builtInCheckNames).collect(Collectors.toSet());
44+
}
3845

39-
return Stream.concat(pluginCheckNames, builtInCheckNames).collect(Collectors.toSet());
46+
return cachedAllBugcheckerNames;
4047
}
4148

4249
private AllErrorprones() {}

suppressible-error-prone/src/main/java/com/palantir/suppressibleerrorprone/ReportedFixCache.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@ public LazySuppressionFix reportNew(
6767
return cache.put(declaration.getLeaf(), createAndReportFix(declaration, visitorState, filterExisting));
6868
}
6969

70-
@SuppressWarnings("RestrictedApi")
7170
private LazySuppressionFix createAndReportFix(
7271
TreePath declaration, VisitorState state, Predicate<String> filterExisting) {
7372
if (!SuppressWarningsUtils.suppressibleTreePath(declaration)) {
@@ -91,6 +90,7 @@ private LazySuppressionFix createAndReportFix(
9190
suppressWarnings,
9291
declaration.getLeaf(),
9392
filteredExistingSuppressions);
93+
@SuppressWarnings("RestrictedApi")
9494
Description description = Description.builder(
9595
(DiagnosticPosition) declaration.getLeaf(),
9696
"SuppressibleErrorProne",

suppressible-error-prone/src/main/java/com/palantir/suppressibleerrorprone/SuppressibleErrorProne.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@
2121
import com.google.errorprone.BugPattern.SeverityLevel;
2222
import com.google.errorprone.bugpatterns.BugChecker;
2323

24+
/**
25+
* Used by {@link ReportedFixCache} to register {@link LazySuppressionFix}es.
26+
* We need this "default" bugchecker type, as using the name of any individual suppression being removed/added is
27+
* inappropriate — a {@link LazySuppressionFix} may remove or add multiple suppressions.
28+
*/
2429
@AutoService(BugChecker.class)
2530
@BugPattern(
2631
link = "https://github.com/palantir/suppressible-error-prone",

0 commit comments

Comments
 (0)