From 4f807b30c157462c4de1d88fe1b17509b86ff368 Mon Sep 17 00:00:00 2001 From: peter Date: Thu, 28 May 2015 16:46:07 +0200 Subject: [PATCH] LiftShorterItemsClassifier: don't intern large arrays to avoid long pauses --- .../completion/impl/LiftShorterItemsClassifier.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/completion/impl/LiftShorterItemsClassifier.java b/platform/lang-impl/src/com/intellij/codeInsight/completion/impl/LiftShorterItemsClassifier.java index 7b0d70952b95..84deb1b8a118 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/completion/impl/LiftShorterItemsClassifier.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/completion/impl/LiftShorterItemsClassifier.java @@ -94,7 +94,10 @@ public class LiftShorterItemsClassifier extends Classifier { } private void internListToLift(LookupElement longer) { - myToLift.put(longer, myListInterner.intern(myToLift.get(longer))); + final Collection elements = myToLift.get(longer); + if (elements.size() > 10) return; + + myToLift.put(longer, myListInterner.intern(elements)); } private void calculateToLift(LookupElement element) {