fix broken lookup item order when printing weights

This commit is contained in:
peter
2017-01-27 15:36:38 +01:00
parent 675f27fcd8
commit 62b3180656
@@ -112,9 +112,8 @@ public class CompletionLookupArranger extends LookupArranger {
@Override
public Map<LookupElement, List<Pair<String, Object>>> getRelevanceObjects(@NotNull Iterable<LookupElement> items,
boolean hideSingleValued) {
//noinspection unchecked
final Map<LookupElement, List<Pair<String, Object>>> map = new com.intellij.util.containers.hash.LinkedHashMap(EqualityPolicy.IDENTITY);
final MultiMap<CompletionSorterImpl, LookupElement> inputBySorter = groupItemsBySorter(items);
Map<LookupElement, List<Pair<String, Object>>> map = ContainerUtil.newIdentityHashMap();
MultiMap<CompletionSorterImpl, LookupElement> inputBySorter = groupItemsBySorter(items);
int sorterNumber = 0;
for (CompletionSorterImpl sorter : inputBySorter.keySet()) {
sorterNumber++;
@@ -138,8 +137,12 @@ public class CompletionLookupArranger extends LookupArranger {
}
}
return map;
//noinspection unchecked
Map<LookupElement, List<Pair<String, Object>>> result = new com.intellij.util.containers.hash.LinkedHashMap(EqualityPolicy.IDENTITY);
for (LookupElement item : items) {
result.put(item, map.get(item));
}
return result;
}
private static boolean haveSameWeights(List<Pair<LookupElement, Object>> pairs) {