mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-09 20:42:52 +07:00
use the new com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors API
This commit is contained in:
+2
-9
@@ -16,7 +16,6 @@
|
||||
package com.intellij.codeInsight.completion;
|
||||
|
||||
import com.intellij.codeInsight.lookup.LookupElement;
|
||||
import com.intellij.openapi.util.Ref;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.util.Consumer;
|
||||
@@ -38,18 +37,12 @@ public abstract class AbstractBasicToClassNameDelegator extends CompletionContri
|
||||
final PsiElement position = parameters.getPosition();
|
||||
if (!isClassNameCompletionSupported(result, file, position)) return;
|
||||
|
||||
final Ref<Boolean> empty = Ref.create(true);
|
||||
result.runRemainingContributors(parameters, new Consumer<CompletionResult>() {
|
||||
public void consume(final CompletionResult lookupElement) {
|
||||
empty.set(false);
|
||||
result.passResult(lookupElement);
|
||||
}
|
||||
});
|
||||
final boolean empty = result.runRemainingContributors(parameters, true).isEmpty();
|
||||
|
||||
final CompletionParameters classParams;
|
||||
|
||||
final int invocationCount = parameters.getInvocationCount();
|
||||
if (empty.get().booleanValue()) {
|
||||
if (empty) {
|
||||
classParams = parameters.withType(CompletionType.CLASS_NAME);
|
||||
}
|
||||
else if (invocationCount > 1) {
|
||||
|
||||
+7
-13
@@ -17,18 +17,18 @@ package com.intellij.codeInsight.completion;
|
||||
|
||||
import com.intellij.codeInsight.ExpectedTypeInfo;
|
||||
import com.intellij.codeInsight.lookup.LookupItem;
|
||||
import com.intellij.openapi.util.Ref;
|
||||
import static com.intellij.patterns.PsiJavaPatterns.psiElement;
|
||||
import static com.intellij.patterns.StandardPatterns.and;
|
||||
import static com.intellij.patterns.StandardPatterns.not;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.psi.PsiKeyword;
|
||||
import com.intellij.psi.PsiPrimitiveType;
|
||||
import com.intellij.psi.PsiType;
|
||||
import com.intellij.util.Consumer;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import static com.intellij.patterns.PsiJavaPatterns.psiElement;
|
||||
import static com.intellij.patterns.StandardPatterns.and;
|
||||
import static com.intellij.patterns.StandardPatterns.not;
|
||||
|
||||
/**
|
||||
* @author peter
|
||||
*/
|
||||
@@ -38,16 +38,10 @@ public class NullSmartCompletionContributor extends CompletionContributor{
|
||||
not(psiElement().afterLeaf("."))), new ExpectedTypeBasedCompletionProvider() {
|
||||
protected void addCompletions(final CompletionParameters parameters,
|
||||
final CompletionResultSet result, final Collection<ExpectedTypeInfo> infos) {
|
||||
final Ref<Boolean> empty = Ref.create(true);
|
||||
result.runRemainingContributors(parameters, new Consumer<CompletionResult>() {
|
||||
public void consume(final CompletionResult lookupElement) {
|
||||
empty.set(false);
|
||||
result.passResult(lookupElement);
|
||||
}
|
||||
});
|
||||
final boolean empty = result.runRemainingContributors(parameters, true).isEmpty();
|
||||
|
||||
@NonNls final String prefix = result.getPrefixMatcher().getPrefix();
|
||||
if (empty.get().booleanValue() && prefix.startsWith("n")) {
|
||||
if (empty && StringUtil.startsWithChar(prefix, 'n')) {
|
||||
for (final ExpectedTypeInfo info : infos) {
|
||||
if (!(info.getType() instanceof PsiPrimitiveType)) {
|
||||
final LookupItem item = (LookupItem)BasicExpressionCompletionContributor.createKeywordLookupItem(parameters.getPosition(), PsiKeyword.NULL);
|
||||
|
||||
Reference in New Issue
Block a user