From ac424d0ce91c9ccb89be611f5e915d384df19d5b Mon Sep 17 00:00:00 2001 From: ghm Date: Wed, 20 Sep 2023 09:33:41 -0700 Subject: [PATCH] Tighten the return types in Fix. Remove the `default`ness of a method, given there's only one subclass. PiperOrigin-RevId: 566989946 --- .../main/java/com/google/errorprone/fixes/Fix.java | 13 +++++-------- .../com/google/errorprone/fixes/SuggestedFix.java | 2 +- .../com/google/errorprone/fixes/AppliedFixTest.java | 8 +++----- 3 files changed, 9 insertions(+), 14 deletions(-) diff --git a/check_api/src/main/java/com/google/errorprone/fixes/Fix.java b/check_api/src/main/java/com/google/errorprone/fixes/Fix.java index d447818392d..2a1f2100b47 100644 --- a/check_api/src/main/java/com/google/errorprone/fixes/Fix.java +++ b/check_api/src/main/java/com/google/errorprone/fixes/Fix.java @@ -16,10 +16,9 @@ package com.google.errorprone.fixes; +import com.google.common.collect.ImmutableSet; import com.sun.tools.javac.tree.EndPosTable; import com.sun.tools.javac.tree.JCTree.JCCompilationUnit; -import java.util.Collection; -import java.util.Set; /** * Represents a source code transformation, usually used to fix a bug detected by error-prone. @@ -36,17 +35,15 @@ public interface Fix { * *

Empty string generates the default description. */ - default String getShortDescription() { - return ""; - } + String getShortDescription(); Replacements.CoalescePolicy getCoalescePolicy(); - Set getReplacements(EndPosTable endPositions); + ImmutableSet getReplacements(EndPosTable endPositions); - Collection getImportsToAdd(); + ImmutableSet getImportsToAdd(); - Collection getImportsToRemove(); + ImmutableSet getImportsToRemove(); boolean isEmpty(); } diff --git a/check_api/src/main/java/com/google/errorprone/fixes/SuggestedFix.java b/check_api/src/main/java/com/google/errorprone/fixes/SuggestedFix.java index 5b8f96893ce..7211be164e7 100644 --- a/check_api/src/main/java/com/google/errorprone/fixes/SuggestedFix.java +++ b/check_api/src/main/java/com/google/errorprone/fixes/SuggestedFix.java @@ -85,7 +85,7 @@ public String toString(JCCompilationUnit compilationUnit) { public abstract int hashCode(); @Override - public Set getReplacements(EndPosTable endPositions) { + public ImmutableSet getReplacements(EndPosTable endPositions) { if (endPositions == null) { throw new IllegalArgumentException( "Cannot produce correct replacements without endPositions."); diff --git a/check_api/src/test/java/com/google/errorprone/fixes/AppliedFixTest.java b/check_api/src/test/java/com/google/errorprone/fixes/AppliedFixTest.java index 97089b612ff..b68f8a12ce0 100644 --- a/check_api/src/test/java/com/google/errorprone/fixes/AppliedFixTest.java +++ b/check_api/src/test/java/com/google/errorprone/fixes/AppliedFixTest.java @@ -24,14 +24,13 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; +import com.google.common.collect.ImmutableSet; import com.sun.source.tree.TreeVisitor; import com.sun.tools.javac.tree.EndPosTable; import com.sun.tools.javac.tree.JCTree; import com.sun.tools.javac.util.Position; import java.util.HashMap; -import java.util.LinkedHashSet; import java.util.Map; -import java.util.Set; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @@ -156,9 +155,8 @@ public void shouldSuggestToRemoveLastLineIfAsked() { @Test public void shouldApplyFixesInReverseOrder() { // Have to use a mock Fix here in order to intentionally return Replacements in wrong order. - Set replacements = new LinkedHashSet<>(); - replacements.add(Replacement.create(0, 1, "")); - replacements.add(Replacement.create(1, 1, "")); + ImmutableSet replacements = + ImmutableSet.of(Replacement.create(0, 1, ""), Replacement.create(1, 1, "")); Fix mockFix = mock(Fix.class); when(mockFix.getReplacements(any())).thenReturn(replacements);