From 25332181359e4e5011ef60525519f3c3ab857dfc Mon Sep 17 00:00:00 2001 From: Liam Miller-Cushon Date: Fri, 4 Aug 2023 14:20:36 -0700 Subject: [PATCH] Handle overlapping ranges in suppressedRegions https://github.com/google/error-prone/issues/4040 PiperOrigin-RevId: 553911083 --- .../java/com/google/errorprone/bugpatterns/BugChecker.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/check_api/src/main/java/com/google/errorprone/bugpatterns/BugChecker.java b/check_api/src/main/java/com/google/errorprone/bugpatterns/BugChecker.java index 63f2a63890b..4693b70ef84 100644 --- a/check_api/src/main/java/com/google/errorprone/bugpatterns/BugChecker.java +++ b/check_api/src/main/java/com/google/errorprone/bugpatterns/BugChecker.java @@ -24,6 +24,7 @@ import com.google.common.collect.ImmutableRangeSet; import com.google.common.collect.Iterables; import com.google.common.collect.Range; +import com.google.common.collect.TreeRangeSet; import com.google.errorprone.BugCheckerInfo; import com.google.errorprone.BugPattern.SeverityLevel; import com.google.errorprone.ErrorProneOptions; @@ -306,7 +307,7 @@ public boolean isSuppressed(Symbol sym, VisitorState state) { /** Computes a RangeSet of code regions which are suppressed by this bug checker. */ public ImmutableRangeSet suppressedRegions(VisitorState state) { - ImmutableRangeSet.Builder suppressedRegions = ImmutableRangeSet.builder(); + TreeRangeSet suppressedRegions = TreeRangeSet.create(); new TreeScanner() { @Override public Void scan(Tree tree, Void unused) { @@ -318,7 +319,7 @@ public Void scan(Tree tree, Void unused) { return null; } }.scan(state.getPath().getCompilationUnit(), null); - return suppressedRegions.build(); + return ImmutableRangeSet.copyOf(suppressedRegions); } public interface AnnotationTreeMatcher extends Suppressible {