From ab95d8e9e50d1d4990f79c4c708aaa937ef153fe Mon Sep 17 00:00:00 2001 From: nik Date: Mon, 11 Feb 2019 18:51:56 +0300 Subject: [PATCH] simplification: use comparators combinators in intellij.platform.util module --- platform/util/src/com/intellij/openapi/util/Segment.java | 7 ++----- .../src/com/intellij/util/containers/ContainerUtil.java | 2 +- platform/util/src/com/intellij/util/graph/DFSTBuilder.java | 4 ++-- .../util/src/com/intellij/util/io/PagedFileStorage.java | 2 +- 4 files changed, 6 insertions(+), 9 deletions(-) diff --git a/platform/util/src/com/intellij/openapi/util/Segment.java b/platform/util/src/com/intellij/openapi/util/Segment.java index 858486a8390e..7d6454fda79b 100644 --- a/platform/util/src/com/intellij/openapi/util/Segment.java +++ b/platform/util/src/com/intellij/openapi/util/Segment.java @@ -22,9 +22,6 @@ public interface Segment { int getStartOffset(); int getEndOffset(); - Comparator BY_START_OFFSET_THEN_END_OFFSET = (r1, r2) -> { - int result = r1.getStartOffset() - r2.getStartOffset(); - if (result == 0) result = r1.getEndOffset() - r2.getEndOffset(); - return result; - }; + Comparator BY_START_OFFSET_THEN_END_OFFSET = + Comparator.comparingInt(Segment::getStartOffset).thenComparingInt(Segment::getEndOffset); } diff --git a/platform/util/src/com/intellij/util/containers/ContainerUtil.java b/platform/util/src/com/intellij/util/containers/ContainerUtil.java index 5640072c32be..bff997bedf5d 100644 --- a/platform/util/src/com/intellij/util/containers/ContainerUtil.java +++ b/platform/util/src/com/intellij/util/containers/ContainerUtil.java @@ -1860,7 +1860,7 @@ public class ContainerUtil extends ContainerUtilRt { @NotNull @Contract(pure=true) public static > List sorted(@NotNull Collection list) { - return sorted(list, (o1, o2) -> o1.compareTo(o2)); + return sorted(list, Comparator.naturalOrder()); } public static void sort(@NotNull T[] a, @NotNull Comparator comparator) { diff --git a/platform/util/src/com/intellij/util/graph/DFSTBuilder.java b/platform/util/src/com/intellij/util/graph/DFSTBuilder.java index 9a3e8f45dc7f..31692005e7af 100644 --- a/platform/util/src/com/intellij/util/graph/DFSTBuilder.java +++ b/platform/util/src/com/intellij/util/graph/DFSTBuilder.java @@ -252,13 +252,13 @@ public class DFSTBuilder { public Comparator comparator(boolean useNNumber) { if (useNNumber) { if (myNComparator == null) { - myNComparator = (t, t1) -> myNodeToNNumber.get(t) - myNodeToNNumber.get(t1); + myNComparator = Comparator.comparingInt(myNodeToNNumber::get); } return myNComparator; } else { if (myTComparator == null) { - myTComparator = (t, t1) -> myNodeToTNumber.get(t) - myNodeToTNumber.get(t1); + myTComparator = Comparator.comparingInt(myNodeToTNumber::get); } return myTComparator; } diff --git a/platform/util/src/com/intellij/util/io/PagedFileStorage.java b/platform/util/src/com/intellij/util/io/PagedFileStorage.java index 2e67d096aa2e..c0633195c49c 100644 --- a/platform/util/src/com/intellij/util/io/PagedFileStorage.java +++ b/platform/util/src/com/intellij/util/io/PagedFileStorage.java @@ -704,7 +704,7 @@ public class PagedFileStorage implements Forceable { for (Map.Entry entry : mySegments.entrySet()) { if ((entry.getKey() & FILE_INDEX_MASK) == index) { if (mineBuffers == null) { - mineBuffers = new TreeMap<>((o1, o2) -> o1 - o2); + mineBuffers = new TreeMap<>(Comparator.comparingInt(o -> o)); } mineBuffers.put(entry.getKey(), entry.getValue()); }