From e0967f4396dea39df75ec92ee1267015c64f0771 Mon Sep 17 00:00:00 2001 From: peter Date: Tue, 3 May 2011 17:20:09 +0400 Subject: [PATCH] [^kb] prefer our Disposable to picocontainer's --- .../impl/LiftShorterItemsClassifier.java | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) 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 8e11364b29b5..eecb16174ce9 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 @@ -18,6 +18,7 @@ package com.intellij.codeInsight.completion.impl; import com.intellij.codeInsight.lookup.Classifier; import com.intellij.codeInsight.lookup.LookupElement; import com.intellij.util.SmartList; +import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.MultiMap; import java.util.*; @@ -90,16 +91,22 @@ class LiftShorterItemsClassifier extends Classifier { } Collections.sort(prefixes); for (String prefix : prefixes) { + List shorter = new SmartList(); for (LookupElement shorterElement : myElements.get(prefix)) { if (srcSet.contains(shorterElement) && processed.add(shorterElement)) { - lifted.add(shorterElement); - if (group.isEmpty()) { - result.add(Collections.singletonList(shorterElement)); - } else { - group.add(shorterElement); - } + shorter.add(shorterElement); } } + + lifted.addAll(shorter); + + final Iterable> shorterClassified = myNext.classify(shorter); + if (group.isEmpty()) { + ContainerUtil.addAll(result, shorterClassified); + } else { + group.addAll(ContainerUtil.flatten(shorterClassified)); + } + } group.add(element);