From 205bef8c2bf91407d37dacccbcc74818aff87346 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Tue, 9 May 2017 14:49:39 +0300 Subject: [PATCH] cleanup --- .../openapi/editor/ex/SweepProcessor.java | 1 + .../openapi/editor/impl/RangeMarkerTree.java | 4 ---- .../openapi/fileEditor/impl/LoadTextUtil.java | 23 ++++++++----------- 3 files changed, 11 insertions(+), 17 deletions(-) diff --git a/platform/core-impl/src/com/intellij/openapi/editor/ex/SweepProcessor.java b/platform/core-impl/src/com/intellij/openapi/editor/ex/SweepProcessor.java index fb924ba9aa0c..8a0836080c19 100644 --- a/platform/core-impl/src/com/intellij/openapi/editor/ex/SweepProcessor.java +++ b/platform/core-impl/src/com/intellij/openapi/editor/ex/SweepProcessor.java @@ -19,6 +19,7 @@ import org.jetbrains.annotations.NotNull; import java.util.Collection; +@FunctionalInterface public interface SweepProcessor { boolean process(int offset, @NotNull T interval, boolean atStart, @NotNull Collection overlappingIntervals); } diff --git a/platform/core-impl/src/com/intellij/openapi/editor/impl/RangeMarkerTree.java b/platform/core-impl/src/com/intellij/openapi/editor/impl/RangeMarkerTree.java index 82f2ec23f0c0..3b678fddaae3 100644 --- a/platform/core-impl/src/com/intellij/openapi/editor/impl/RangeMarkerTree.java +++ b/platform/core-impl/src/com/intellij/openapi/editor/impl/RangeMarkerTree.java @@ -307,10 +307,6 @@ public class RangeMarkerTree extends IntervalTreeImpl sweepProcessor) { - return sweep(processor -> processOverlappingWith(start, end, processor), sweepProcessor); - } - @FunctionalInterface public interface Generator { boolean generateInStartOffsetOrder(@NotNull Processor processor); diff --git a/platform/core-impl/src/com/intellij/openapi/fileEditor/impl/LoadTextUtil.java b/platform/core-impl/src/com/intellij/openapi/fileEditor/impl/LoadTextUtil.java index 8407c7f9b2bb..07a5d46d8927 100644 --- a/platform/core-impl/src/com/intellij/openapi/fileEditor/impl/LoadTextUtil.java +++ b/platform/core-impl/src/com/intellij/openapi/fileEditor/impl/LoadTextUtil.java @@ -95,16 +95,7 @@ public final class LoadTextUtil { prev = c; } - String detectedLineSeparator = null; - if (crlfCount > crCount && crlfCount > lfCount) { - detectedLineSeparator = "\r\n"; - } - else if (crCount > lfCount) { - detectedLineSeparator = "\r"; - } - else if (lfCount > 0) { - detectedLineSeparator = "\n"; - } + String detectedLineSeparator = guessLineSeparator(crCount, lfCount, crlfCount); CharSequence result = buffer.length() == dst ? buffer : buffer.subSequence(0, dst); return Pair.create(result, detectedLineSeparator); @@ -151,6 +142,14 @@ public final class LoadTextUtil { prev = c; } + String detectedLineSeparator = guessLineSeparator(crCount, lfCount, crlfCount); + + ByteArrayCharSequence sequence = new ByteArrayCharSequence(result, 0, dst); + return Pair.create(sequence, detectedLineSeparator); + } + + @Nullable + private static String guessLineSeparator(int crCount, int lfCount, int crlfCount) { String detectedLineSeparator = null; if (crlfCount > crCount && crlfCount > lfCount) { detectedLineSeparator = "\r\n"; @@ -161,9 +160,7 @@ public final class LoadTextUtil { else if (lfCount > 0) { detectedLineSeparator = "\n"; } - - ByteArrayCharSequence sequence = new ByteArrayCharSequence(result, 0, dst); - return Pair.create(sequence, detectedLineSeparator); + return detectedLineSeparator; } // private fake charsets for files which have one-byte-for-ascii-characters encoding but contain seven bits characters only. used for optimization since we don't have to encode-decode bytes here.