diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/view/IterationState.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/view/IterationState.java index e2bae917c390..b880299aae5b 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/view/IterationState.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/view/IterationState.java @@ -529,7 +529,7 @@ public class IterationState { } List cachedAttributes = myCachedAttributesList; - cachedAttributes.clear(); + if (!cachedAttributes.isEmpty()) cachedAttributes.clear(); //noinspection ForLoopReplaceableByForEach for (int i = 0; i < size; i++) { diff --git a/platform/util/src/com/intellij/util/SmartList.java b/platform/util/src/com/intellij/util/SmartList.java index 661cd7ececf0..8279bb441949 100644 --- a/platform/util/src/com/intellij/util/SmartList.java +++ b/platform/util/src/com/intellij/util/SmartList.java @@ -18,6 +18,7 @@ package com.intellij.util; import com.intellij.util.containers.EmptyIterator; import com.intellij.util.containers.SingletonIteratorBase; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.TestOnly; import java.lang.reflect.Array; import java.util.*; @@ -242,7 +243,8 @@ public class SmartList extends AbstractList implements RandomAccess { } } - public int getModificationCount() { + @TestOnly + int getModificationCount() { return modCount; } @@ -294,7 +296,7 @@ public class SmartList extends AbstractList implements RandomAccess { if (mySize == 0) { return -1; } - else if (mySize == 1) { + if (mySize == 1) { if (o == null) { return myElem == null ? 0 : -1; }