mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
CompletionResultSet implements Consumer<LookupElement>
This commit is contained in:
+1
-6
@@ -60,12 +60,7 @@ public class JavaClassNameCompletionContributor extends CompletionContributor {
|
||||
|
||||
static void addAllClasses(CompletionParameters parameters, final CompletionResultSet _result) {
|
||||
CompletionResultSet result = _result.withPrefixMatcher(CompletionUtil.findReferenceOrAlphanumericPrefix(parameters));
|
||||
addAllClasses(parameters, parameters.getInvocationCount() <= 1, result.getPrefixMatcher(), new Consumer<LookupElement>() {
|
||||
@Override
|
||||
public void consume(LookupElement element) {
|
||||
_result.addElement(element);
|
||||
}
|
||||
});
|
||||
addAllClasses(parameters, parameters.getInvocationCount() <= 1, result.getPrefixMatcher(), _result);
|
||||
}
|
||||
|
||||
private static boolean mayContainClassName(CompletionParameters parameters) {
|
||||
|
||||
+1
-6
@@ -237,12 +237,7 @@ public class JavaCompletionContributor extends CompletionContributor {
|
||||
!((PsiReferenceExpression)parent).isQualified() &&
|
||||
parameters.isExtendedCompletion() &&
|
||||
StringUtil.isNotEmpty(matcher.getPrefix())) {
|
||||
new JavaStaticMemberProcessor(parameters).processStaticMethodsGlobally(matcher, new Consumer<LookupElement>() {
|
||||
@Override
|
||||
public void consume(LookupElement element) {
|
||||
result.addElement(element);
|
||||
}
|
||||
});
|
||||
new JavaStaticMemberProcessor(parameters).processStaticMethodsGlobally(matcher, result);
|
||||
}
|
||||
result.stopHere();
|
||||
}
|
||||
|
||||
@@ -554,12 +554,7 @@ public class JavaCompletionData extends JavaAwareCompletionData {
|
||||
|
||||
static void addExpectedTypeMembers(CompletionParameters parameters, final CompletionResultSet result, PsiElement position) {
|
||||
for (final ExpectedTypeInfo info : JavaSmartCompletionContributor.getExpectedTypes(parameters)) {
|
||||
new JavaMembersGetter(info.getDefaultType(), parameters).addMembers(parameters.getInvocationCount() > 1, new Consumer<LookupElement>() {
|
||||
@Override
|
||||
public void consume(LookupElement element) {
|
||||
result.addElement(element);
|
||||
}
|
||||
});
|
||||
new JavaMembersGetter(info.getDefaultType(), parameters).addMembers(parameters.getInvocationCount() > 1, result);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -90,12 +90,7 @@ public class JavaNoVariantsDelegator extends CompletionContributor {
|
||||
private static void suggestCollectionUtilities(CompletionParameters parameters, final CompletionResultSet result, PsiElement position) {
|
||||
if (StringUtil.isNotEmpty(result.getPrefixMatcher().getPrefix())) {
|
||||
for (ExpectedTypeInfo info : JavaSmartCompletionContributor.getExpectedTypes(parameters)) {
|
||||
new CollectionsUtilityMethodsProvider(position, info.getType(), info.getDefaultType(), new Consumer<LookupElement>() {
|
||||
@Override
|
||||
public void consume(LookupElement element) {
|
||||
result.addElement(element);
|
||||
}
|
||||
}).addCompletions(true);
|
||||
new CollectionsUtilityMethodsProvider(position, info.getType(), info.getDefaultType(), result).addCompletions(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+5
-4
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.psi.impl.source.resolve.reference.impl.providers;
|
||||
|
||||
import com.intellij.codeInsight.completion.CompletionResultSet;
|
||||
import com.intellij.codeInsight.completion.JavaLookupElementBuilder;
|
||||
import com.intellij.codeInsight.completion.scope.JavaCompletionProcessor;
|
||||
import com.intellij.codeInsight.daemon.QuickFixProvider;
|
||||
@@ -24,6 +23,7 @@ import com.intellij.codeInsight.daemon.impl.quickfix.OrderEntryFix;
|
||||
import com.intellij.codeInsight.daemon.impl.quickfix.QuickFixAction;
|
||||
import com.intellij.codeInsight.daemon.impl.quickfix.QuickFixActionRegistrarImpl;
|
||||
import com.intellij.codeInsight.daemon.quickFix.CreateClassOrPackageFix;
|
||||
import com.intellij.codeInsight.lookup.LookupElement;
|
||||
import com.intellij.codeInsight.lookup.LookupElementBuilder;
|
||||
import com.intellij.codeInspection.LocalQuickFix;
|
||||
import com.intellij.codeInspection.LocalQuickFixProvider;
|
||||
@@ -51,6 +51,7 @@ import com.intellij.psi.util.ClassKind;
|
||||
import com.intellij.psi.util.ClassUtil;
|
||||
import com.intellij.psi.util.PsiUtil;
|
||||
import com.intellij.util.ArrayUtil;
|
||||
import com.intellij.util.Consumer;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.util.text.CharArrayUtil;
|
||||
@@ -512,7 +513,7 @@ public class JavaClassReference extends GenericReference implements PsiJavaRefer
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public void processSubclassVariants(@NotNull PsiPackage context, @NotNull String[] extendClasses, CompletionResultSet result) {
|
||||
public void processSubclassVariants(@NotNull PsiPackage context, @NotNull String[] extendClasses, Consumer<LookupElement> result) {
|
||||
GlobalSearchScope packageScope = PackageScope.packageScope(context, true);
|
||||
GlobalSearchScope scope = myJavaClassReferenceSet.getProvider().getScope(getElement().getProject());
|
||||
if (scope != null) {
|
||||
@@ -532,13 +533,13 @@ public class JavaClassReference extends GenericReference implements PsiJavaRefer
|
||||
// add itself
|
||||
if (packageScope.contains(extendClass.getContainingFile().getVirtualFile())) {
|
||||
if (isClassAccepted(extendClass, classKind, instantiatable, concrete, notInterface, notEnum)) {
|
||||
result.addElement(createSubclassLookupValue(extendClass, extendClassName));
|
||||
result.consume(createSubclassLookupValue(extendClass, extendClassName));
|
||||
}
|
||||
}
|
||||
for (final PsiClass clazz : ClassInheritorsSearch.search(extendClass, packageScope, true)) {
|
||||
String qname = clazz.getQualifiedName();
|
||||
if (qname != null && isClassAccepted(clazz, classKind, instantiatable, concrete, notInterface, notEnum)) {
|
||||
result.addElement(createSubclassLookupValue(clazz, qname));
|
||||
result.consume(createSubclassLookupValue(clazz, qname));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user