From 49875a9c61fbf321f3164b6bc2cd8922dbb2c819 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Wed, 18 Apr 2018 14:12:24 +0200 Subject: [PATCH] Change CompletionLookupArranger API so that it actually works Previously it always crashed at runtime. --- .../completion/CompletionLookupArranger.java | 5 ++++- .../completion/CompletionLookupArrangerImpl.java | 10 ++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionLookupArranger.java b/platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionLookupArranger.java index 8f118a9aa668..ac15e7a8c433 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionLookupArranger.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionLookupArranger.java @@ -17,7 +17,10 @@ public interface CompletionLookupArranger { * Adds an element to be arranged. * @param presentation The presentation of the element (rendered with {@link LookupElement#renderElement(LookupElementPresentation)} */ - void addElement(LookupElement element, LookupElementPresentation presentation); + void addElement(LookupElement element, + CompletionSorter sorter, + PrefixMatcher prefixMatcher, + LookupElementPresentation presentation); /** * Returns the items in the appropriate order and the initial selection. diff --git a/platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionLookupArrangerImpl.java b/platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionLookupArrangerImpl.java index efa6ddc0b3f1..b0c4bb04f7ba 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionLookupArrangerImpl.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionLookupArrangerImpl.java @@ -136,6 +136,16 @@ public class CompletionLookupArrangerImpl extends LookupArranger implements Comp return true; } + @Override + public void addElement(LookupElement element, + CompletionSorter sorter, + PrefixMatcher prefixMatcher, + LookupElementPresentation presentation) { + registerMatcher(element, prefixMatcher); + associateSorter(element, (CompletionSorterImpl)sorter); + addElement(element, presentation); + } + @Override public void addElement(LookupElement element, LookupElementPresentation presentation) { StatisticsWeigher.clearBaseStatisticsInfo(element);