From d97c949229f39eea86212f7ea8f3888646997def Mon Sep 17 00:00:00 2001 From: Ilya Ryzhenkov Date: Fri, 29 Jul 2016 21:05:40 +0300 Subject: [PATCH] MergingCharSequence::subSequence optimization --- .../util/src/com/intellij/util/text/MergingCharSequence.java | 1 + 1 file changed, 1 insertion(+) diff --git a/platform/util/src/com/intellij/util/text/MergingCharSequence.java b/platform/util/src/com/intellij/util/text/MergingCharSequence.java index 0b7e4db0bb05..a0358ab8e86e 100644 --- a/platform/util/src/com/intellij/util/text/MergingCharSequence.java +++ b/platform/util/src/com/intellij/util/text/MergingCharSequence.java @@ -42,6 +42,7 @@ public class MergingCharSequence implements CharSequence { @Override public CharSequence subSequence(int start, int end) { + if (start == 0 && end == length()) return this; if (start < s1.length() && end < s1.length()) return s1.subSequence(start, end); if (start >= s1.length() && end >= s1.length()) return s2.subSequence(start - s1.length(), end - s1.length()); return new MergingCharSequence(s1.subSequence(start, s1.length()), s2.subSequence(0, end - s1.length()));