summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Gromov <peter@jetbrains.com>2022-06-23 16:23:07 +0200
committerintellij-monorepo-bot <intellij-monorepo-bot-no-reply@jetbrains.com>2022-06-23 19:21:09 +0000
commit6c646473beff03346d4dd2c12750dd66dd678a04 (patch)
tree24dbff93be58710de0f9a17336671061db6ef7ef
parent7387952d1ad26a567df474d7a165e9d25942839d (diff)
downloadidea-6c646473beff03346d4dd2c12750dd66dd678a04.tar.gz
[grazie] let joined TextContent's be equal to avoid duplicate warnings in the UI
(cherry picked from commit 478f38c67266bbb8ca3e29d9532e6c0ccb30efbd) IJ-CR-26252 GitOrigin-RevId: f1fd3796e39600dadcdade4242175222aaaa2bf4
-rw-r--r--plugins/grazie/src/main/kotlin/com/intellij/grazie/text/TextContentImpl.java10
-rw-r--r--plugins/grazie/src/test/kotlin/com/intellij/grazie/text/TextContentTest.java2
2 files changed, 12 insertions, 0 deletions
diff --git a/plugins/grazie/src/main/kotlin/com/intellij/grazie/text/TextContentImpl.java b/plugins/grazie/src/main/kotlin/com/intellij/grazie/text/TextContentImpl.java
index cacb0d0c66b6..3874b99039d6 100644
--- a/plugins/grazie/src/main/kotlin/com/intellij/grazie/text/TextContentImpl.java
+++ b/plugins/grazie/src/main/kotlin/com/intellij/grazie/text/TextContentImpl.java
@@ -456,5 +456,15 @@ class TextContentImpl extends UserDataHolderBase implements TextContent {
static class WSTokenInfo extends TokenInfo {
WSTokenInfo(char ws) { super(String.valueOf(ws)); }
+
+ @Override
+ public boolean equals(Object obj) {
+ return obj instanceof WSTokenInfo && ((WSTokenInfo)obj).text.equals(text);
+ }
+
+ @Override
+ public int hashCode() {
+ return text.hashCode();
+ }
}
}
diff --git a/plugins/grazie/src/test/kotlin/com/intellij/grazie/text/TextContentTest.java b/plugins/grazie/src/test/kotlin/com/intellij/grazie/text/TextContentTest.java
index 7415b6f601f6..b5732abb5fd9 100644
--- a/plugins/grazie/src/test/kotlin/com/intellij/grazie/text/TextContentTest.java
+++ b/plugins/grazie/src/test/kotlin/com/intellij/grazie/text/TextContentTest.java
@@ -101,6 +101,8 @@ public class TextContentTest extends BasePlatformTestCase {
assertEquals("| c|", unknownOffsets(joined.markUnknown(new TextRange(0, 1))));
assertEquals("c|", unknownOffsets(joined.excludeRange(new TextRange(0, 1))));
+
+ assertEquals(joined, TextContent.joinWithWhitespace(' ', List.of(f1, f2)));
}
public static String unknownOffsets(TextContent text) {