diff --git a/java/java-impl/src/com/intellij/codeInsight/completion/BasicExpressionCompletionContributor.java b/java/java-impl/src/com/intellij/codeInsight/completion/BasicExpressionCompletionContributor.java index 92b9a74a0d1d..15028e8e538c 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/BasicExpressionCompletionContributor.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/BasicExpressionCompletionContributor.java @@ -31,7 +31,6 @@ import com.intellij.psi.scope.util.PsiScopesUtil; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.util.Consumer; import com.intellij.util.IncorrectOperationException; -import com.intellij.util.ProcessingContext; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -39,16 +38,15 @@ import java.util.Map; import static com.intellij.patterns.PsiJavaPatterns.psiClass; import static com.intellij.patterns.PsiJavaPatterns.psiElement; -import static com.intellij.patterns.StandardPatterns.not; /** * @author peter */ -public class BasicExpressionCompletionContributor extends ExpressionSmartCompletionContributor{ +public class BasicExpressionCompletionContributor { public static final ElementPattern AFTER_DOT = psiElement().afterLeaf("."); - private static void addKeyword(final CompletionResultSet result, final PsiElement element, final String s) { - result.addElement(createKeywordLookupItem(element, s)); + private static void addKeyword(final Consumer result, final PsiElement element, final String s) { + result.consume(createKeywordLookupItem(element, s)); } public static LookupElement createKeywordLookupItem(final PsiElement element, final String s) { @@ -61,31 +59,29 @@ public class BasicExpressionCompletionContributor extends ExpressionSmartComplet } } + public static void fillCompletionVariants(JavaSmartCompletionParameters parameters, + final Consumer result, + PrefixMatcher matcher) { + final PsiElement element = parameters.getPosition(); + if (PsiJavaPatterns.psiElement().afterLeaf( + PsiJavaPatterns.psiElement().withText(".").afterLeaf( + PsiJavaPatterns.psiElement().withParent( + PsiJavaPatterns.psiElement().referencing(psiClass())))).accepts(element)) { + addKeyword(result, element, PsiKeyword.CLASS); + addKeyword(result, element, PsiKeyword.THIS); - public BasicExpressionCompletionContributor() { - extend(PsiJavaPatterns.psiElement().afterLeaf( - PsiJavaPatterns.psiElement().withText(".").afterLeaf( - PsiJavaPatterns.psiElement().withParent( - PsiJavaPatterns.psiElement().referencing(psiClass())))), new CompletionProvider() { - public void addCompletions(@NotNull final JavaSmartCompletionParameters parameters, final ProcessingContext context, @NotNull final CompletionResultSet result) { - final PsiElement element = parameters.getPosition(); - addKeyword(result, element, PsiKeyword.CLASS); - addKeyword(result, element, PsiKeyword.THIS); - } + } - }); + if (!AFTER_DOT.accepts(element)) { + CollectionsUtilityMethodsProvider.addCompletions(parameters, result); + ClassLiteralGetter.addCompletions(parameters, result, matcher); - extend(not(AFTER_DOT), new CollectionsUtilityMethodsProvider()); - extend(not(AFTER_DOT), new ClassLiteralGetter()); - - extend(not(AFTER_DOT), new CompletionProvider() { - protected void addCompletions(@NotNull final JavaSmartCompletionParameters parameters, final ProcessingContext context, @NotNull final CompletionResultSet result) { - final PsiElement position = parameters.getPosition(); + final PsiElement position = parameters.getPosition(); final PsiType expectedType = parameters.getExpectedType(); for (final TemplateImpl template : TemplateSettings.getInstance().getTemplates()) { if (!template.isDeactivated() && template.getTemplateContext().isEnabled(new SmartCompletionContextType())) { - result.addElement(new SmartCompletionTemplateItem(template, position)); + result.consume(new SmartCompletionTemplateItem(template, position)); } } @@ -100,17 +96,12 @@ public class BasicExpressionCompletionContributor extends ExpressionSmartComplet } for (final PsiExpression expression : ThisGetter.getThisExpressionVariants(position)) { - result.addElement(new ExpressionLookupItem(expression)); + result.consume(new ExpressionLookupItem(expression)); } } - processDataflowExpressionTypes(position, expectedType, result.getPrefixMatcher(), new Consumer() { - public void consume(LookupElement decorator) { - result.addElement(decorator); - } - }); - } - }); + processDataflowExpressionTypes(position, expectedType, matcher, result); + } } diff --git a/java/java-impl/src/com/intellij/codeInsight/completion/CollectionsUtilityMethodsProvider.java b/java/java-impl/src/com/intellij/codeInsight/completion/CollectionsUtilityMethodsProvider.java index e39df303d589..a9f93fdde07b 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/CollectionsUtilityMethodsProvider.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/CollectionsUtilityMethodsProvider.java @@ -15,19 +15,21 @@ */ package com.intellij.codeInsight.completion; -import com.intellij.codeInsight.lookup.LookupItem; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.NonNls; -import com.intellij.util.ProcessingContext; -import com.intellij.psi.*; -import static com.intellij.psi.CommonClassNames.*; import com.intellij.codeInsight.lookup.AutoCompletionPolicy; +import com.intellij.codeInsight.lookup.LookupElement; +import com.intellij.psi.*; +import com.intellij.util.Consumer; +import org.jetbrains.annotations.NonNls; +import org.jetbrains.annotations.NotNull; + +import static com.intellij.psi.CommonClassNames.*; /** * @author peter */ -class CollectionsUtilityMethodsProvider extends CompletionProvider { - public void addCompletions(@NotNull final JavaSmartCompletionParameters parameters, final ProcessingContext context, @NotNull final CompletionResultSet result) { +class CollectionsUtilityMethodsProvider { + public static void addCompletions(@NotNull final JavaSmartCompletionParameters parameters, + @NotNull final Consumer result) { final PsiElement element = parameters.getPosition(); final PsiElement parent = element.getParent(); @@ -63,7 +65,7 @@ class CollectionsUtilityMethodsProvider extends CompletionProvider result, final PsiType expectedType, final PsiType defaultType, final String baseClassName, @NonNls final String method, @NotNull final PsiClass collectionsClass) { if (isClassType(expectedType, baseClassName) || isClassType(expectedType, JAVA_UTIL_COLLECTION)) { @@ -73,7 +75,7 @@ class CollectionsUtilityMethodsProvider extends CompletionProvider result, PsiType expectedType, String methodName, PsiClass containingClass) { final PsiMethod[] methods = containingClass.findMethodsByName(methodName, false); if (methods.length == 0) { return; @@ -83,7 +85,7 @@ class CollectionsUtilityMethodsProvider extends CompletionProvider { - - private final List, CompletionProvider>> myList = - new ArrayList, CompletionProvider>>(); - - public final void extend(final ElementPattern place, CompletionProvider provider) { - myList.add(new Pair, CompletionProvider>(place, provider)); - } - - public void fillCompletionVariants(final JavaSmartCompletionParameters parameters, CompletionResultSet result) { - for (final Pair, CompletionProvider> pair : myList) { - final ProcessingContext context = new ProcessingContext(); - if (pair.first.accepts(parameters.getPosition(), context)) { - pair.second.addCompletionVariants(parameters, context, result); - } - } - } - -} diff --git a/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionData.java b/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionData.java index bd4597559c47..4cebb6f7b19f 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionData.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionData.java @@ -39,6 +39,7 @@ import com.intellij.psi.jsp.JspElementType; import com.intellij.psi.scope.ElementClassFilter; import com.intellij.psi.templateLanguages.OuterLanguageElement; import com.intellij.psi.util.PsiTreeUtil; +import com.intellij.util.Consumer; import com.intellij.util.ProcessingContext; import org.jetbrains.annotations.NonNls; @@ -550,7 +551,7 @@ public class JavaCompletionData extends JavaAwareCompletionData{ } @Override - public void fillCompletions(CompletionParameters parameters, CompletionResultSet result) { + public void fillCompletions(CompletionParameters parameters, final CompletionResultSet result) { final PsiElement position = parameters.getPosition(); if (PsiTreeUtil.getParentOfType(position, PsiComment.class, false) != null) { return; @@ -631,7 +632,12 @@ public class JavaCompletionData extends JavaAwareCompletionData{ !(position.getParent() instanceof PsiLiteralExpression) && !(position.getParent().getParent() instanceof PsiSwitchLabelStatement)) { for (final ExpectedTypeInfo info : JavaSmartCompletionContributor.getExpectedTypes(parameters)) { - MembersGetter.addMembers(position, info.getDefaultType(), result); + MembersGetter.addMembers(position, info.getDefaultType(), new Consumer() { + @Override + public void consume(LookupElement element) { + result.addElement(element); + } + }); } } } diff --git a/java/java-impl/src/com/intellij/codeInsight/completion/JavaSmartCompletionContributor.java b/java/java-impl/src/com/intellij/codeInsight/completion/JavaSmartCompletionContributor.java index 57b98d2a4cc6..eeaf61478398 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/JavaSmartCompletionContributor.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/JavaSmartCompletionContributor.java @@ -197,9 +197,9 @@ public class JavaSmartCompletionContributor extends CompletionContributor { final JavaSmartCompletionParameters parameters = new JavaSmartCompletionParameters(params, info); final PsiType type = info.getType(); - final CompletionService service = CompletionService.getCompletionService(); - new BasicExpressionCompletionContributor().fillCompletionVariants(parameters, service.createResultSet(parameters, new Consumer() { - public void consume(final LookupElement lookupElement) { + BasicExpressionCompletionContributor.fillCompletionVariants(parameters, new Consumer() { + @Override + public void consume(LookupElement lookupElement) { final TypedLookupItem typed = lookupElement.as(TypedLookupItem.CLASS_CONDITION_KEY); if (typed != null) { final PsiType psiType = typed.getType(); @@ -208,12 +208,12 @@ public class JavaSmartCompletionContributor extends CompletionContributor { } } } - }, JavaSmartCompletionContributor.this)); - ReferenceExpressionCompletionContributor.fillCompletionVariants(parameters, service.createResultSet(parameters, new Consumer() { + }, result.getPrefixMatcher()); + ReferenceExpressionCompletionContributor.fillCompletionVariants(parameters, new Consumer() { public void consume(final LookupElement lookupElement) { result.addElement(decorate(lookupElement, _infos)); } - }, JavaSmartCompletionContributor.this)); + }); } } diff --git a/java/java-impl/src/com/intellij/codeInsight/completion/ReferenceExpressionCompletionContributor.java b/java/java-impl/src/com/intellij/codeInsight/completion/ReferenceExpressionCompletionContributor.java index 1f92244fec69..128fdc78843a 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/ReferenceExpressionCompletionContributor.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/ReferenceExpressionCompletionContributor.java @@ -104,7 +104,7 @@ public class ReferenceExpressionCompletionContributor { return TrueFilter.INSTANCE; } - public static void fillCompletionVariants(final JavaSmartCompletionParameters parameters, final CompletionResultSet result) { + public static void fillCompletionVariants(final JavaSmartCompletionParameters parameters, final Consumer result) { ApplicationManager.getApplication().runReadAction(new Runnable() { public void run() { final PsiElement element = parameters.getPosition(); @@ -115,7 +115,7 @@ public class ReferenceExpressionCompletionContributor { if (reference != null) { final ElementFilter filter = getReferenceFilter(element, false); for (final LookupElement item : completeFinalReference(element, reference, filter, parameters)) { - result.addElement(item); + result.consume(item); } final boolean secondTime = parameters.getInvocationCount() >= 2; @@ -180,7 +180,7 @@ public class ReferenceExpressionCompletionContributor { } private static void addSingleArrayElementAccess(PsiElement element, LookupElement item, JavaSmartCompletionParameters parameters, - CompletionResultSet result) { + Consumer result) { if (item.getObject() instanceof PsiLocalVariable) { final PsiLocalVariable variable = (PsiLocalVariable)item.getObject(); final PsiType type = variable.getType(); @@ -192,7 +192,7 @@ public class ReferenceExpressionCompletionContributor { if (dimensions.length == 1 && "1".equals(dimensions[0].getText()) && newExpression.getArrayInitializer() == null) { final String text = variable.getName() + "[0]"; final PsiExpression conversion = createExpression(text, element); - result.addElement(new ExpressionLookupItem(conversion).setIcon(variable.getIcon(Iconable.ICON_FLAG_VISIBILITY))); + result.consume(new ExpressionLookupItem(conversion).setIcon(variable.getIcon(Iconable.ICON_FLAG_VISIBILITY))); } } } @@ -204,7 +204,7 @@ public class ReferenceExpressionCompletionContributor { } private static void addSecondCompletionVariants(PsiElement element, PsiReference reference, LookupElement baseItem, - JavaSmartCompletionParameters parameters, CompletionResultSet result) { + JavaSmartCompletionParameters parameters, Consumer result) { final Object object = baseItem.getObject(); try { @@ -236,7 +236,7 @@ public class ReferenceExpressionCompletionContributor { } private static void addArrayMemberAccessors(final PsiElement element, final String prefix, final PsiType itemType, - final PsiElement qualifier, final CompletionResultSet result, PsiModifierListOwner object, + final PsiElement qualifier, final Consumer result, PsiModifierListOwner object, final PsiType expectedType) throws IncorrectOperationException { if (itemType instanceof PsiArrayType && expectedType.isAssignableFrom(((PsiArrayType)itemType).getComponentType())) { @@ -262,7 +262,7 @@ public class ReferenceExpressionCompletionContributor { editor.getCaretModel().moveToOffset(tailOffset + 1 + callSpace.length()); } }); - result.addElement(item); + result.consume(item); } } @@ -276,7 +276,7 @@ public class ReferenceExpressionCompletionContributor { return false; } - private static void addArraysAsListConversions(final PsiElement element, final String prefix, final PsiType itemType, final CompletionResultSet result, + private static void addArraysAsListConversions(final PsiElement element, final String prefix, final PsiType itemType, final Consumer result, @Nullable PsiElement qualifier, final PsiType expectedType) throws IncorrectOperationException { PsiType componentType = PsiUtil.extractIterableTypeParameter(expectedType, true); @@ -321,11 +321,11 @@ public class ReferenceExpressionCompletionContributor { PostprocessReformattingAspect.getInstance(project).doPostponedFormatting(); } }); - result.addElement(item); + result.consume(item); } private static void addToArrayConversions(final PsiElement element, final Object object, final String prefix, final PsiType itemType, - final CompletionResultSet result, @Nullable final PsiElement qualifier, + final Consumer result, @Nullable final PsiElement qualifier, final PsiType expectedType) { final String callSpace = getSpace(CodeStyleSettingsManager.getSettings(element.getProject()).SPACE_WITHIN_METHOD_CALL_PARENTHESES); final PsiType componentType = PsiUtil.extractIterableTypeParameter(itemType, true); @@ -380,7 +380,7 @@ public class ReferenceExpressionCompletionContributor { } private static void addChainedCallVariants(final PsiElement place, LookupElement qualifierItem, - final CompletionResultSet result, + final Consumer result, PsiType qualifierType, final PsiType expectedType, JavaSmartCompletionParameters parameters) throws IncorrectOperationException { final PsiElementFactory elementFactory = JavaPsiFacade.getInstance(place.getProject()).getElementFactory(); @@ -404,7 +404,7 @@ public class ReferenceExpressionCompletionContributor { final ElementFilter filter = getReferenceFilter(place, true); for (final LookupElement item : completeFinalReference(place, mockRef, filter, parameters)) { if (shoudChain(place, varType, expectedType, item)) { - result.addElement(JavaChainLookupElement.chainElements(qualifierItem, item)); + result.consume(JavaChainLookupElement.chainElements(qualifierItem, item)); } } } @@ -454,7 +454,7 @@ public class ReferenceExpressionCompletionContributor { return true; } - private static void addToArrayConversion(final PsiElement element, final String prefix, @NonNls final String expressionString, @NonNls String presentableString, final CompletionResultSet result, PsiElement qualifier) { + private static void addToArrayConversion(final PsiElement element, final String prefix, @NonNls final String expressionString, @NonNls String presentableString, final Consumer result, PsiElement qualifier) { final boolean callSpace = CodeStyleSettingsManager.getSettings(element.getProject()).SPACE_WITHIN_METHOD_CALL_PARENTHESES; final PsiExpression conversion; try { @@ -490,7 +490,7 @@ public class ReferenceExpressionCompletionContributor { PostprocessReformattingAspect.getInstance(project).doPostponedFormatting(); } }); - result.addElement(item); + result.consume(item); } private static boolean isEmptyArrayInitializer(@Nullable PsiElement element) { diff --git a/java/java-impl/src/com/intellij/psi/filters/getters/ClassLiteralGetter.java b/java/java-impl/src/com/intellij/psi/filters/getters/ClassLiteralGetter.java index 747f64254254..8876359ea21b 100644 --- a/java/java-impl/src/com/intellij/psi/filters/getters/ClassLiteralGetter.java +++ b/java/java-impl/src/com/intellij/psi/filters/getters/ClassLiteralGetter.java @@ -16,30 +16,26 @@ package com.intellij.psi.filters.getters; import com.intellij.codeInsight.CodeInsightUtil; -import com.intellij.codeInsight.completion.CompletionProvider; -import com.intellij.codeInsight.completion.CompletionResultSet; import com.intellij.codeInsight.completion.JavaSmartCompletionParameters; import com.intellij.codeInsight.completion.PrefixMatcher; import com.intellij.codeInsight.lookup.AutoCompletionPolicy; +import com.intellij.codeInsight.lookup.LookupElement; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.util.Condition; import com.intellij.openapi.util.text.StringUtil; import com.intellij.psi.*; import com.intellij.psi.util.PsiUtil; +import com.intellij.util.Consumer; import com.intellij.util.IncorrectOperationException; -import com.intellij.util.ProcessingContext; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -public class ClassLiteralGetter extends CompletionProvider { +public class ClassLiteralGetter { private static final Logger LOG = Logger.getInstance("com.intellij.psi.filters.getters.ClassLiteralGetter"); - @Override - protected void addCompletions(@NotNull final JavaSmartCompletionParameters parameters, - ProcessingContext context, - @NotNull CompletionResultSet result) { + public static void addCompletions(@NotNull final JavaSmartCompletionParameters parameters, + @NotNull Consumer result, final PrefixMatcher matcher) { - final PrefixMatcher matcher = result.getPrefixMatcher(); final Condition shortNameCondition = new Condition() { public boolean value(String s) { return matcher.prefixMatches(s); @@ -61,7 +57,7 @@ public class ClassLiteralGetter extends CompletionProvider shortNameCondition, final PsiType classParameter, - CompletionResultSet result) { + Consumer result, PrefixMatcher matcher) { final String canonicalText = classParameter.getCanonicalText(); - if (CommonClassNames.JAVA_LANG_OBJECT.equals(canonicalText) && StringUtil.isEmpty(result.getPrefixMatcher().getPrefix())) { + if (CommonClassNames.JAVA_LANG_OBJECT.equals(canonicalText) && StringUtil.isEmpty(matcher.getPrefix())) { return; } @@ -80,13 +76,13 @@ public class ClassLiteralGetter extends CompletionProvider resultSet, final PsiFile context) { if (type instanceof PsiClassType && PsiUtil.resolveClassInType(type) != null && !((PsiClassType)type).hasParameters() && !(((PsiClassType)type).resolve() instanceof PsiTypeParameter)) { try { - resultSet.addElement(AutoCompletionPolicy.NEVER_AUTOCOMPLETE.applyPolicy(new ClassLiteralLookupElement((PsiClassType)type, context))); + resultSet.consume(AutoCompletionPolicy.NEVER_AUTOCOMPLETE.applyPolicy(new ClassLiteralLookupElement((PsiClassType)type, context))); } catch (IncorrectOperationException e) { LOG.error(e); diff --git a/java/java-impl/src/com/intellij/psi/filters/getters/MembersGetter.java b/java/java-impl/src/com/intellij/psi/filters/getters/MembersGetter.java index 1ca922007a95..fc0b4d1ac854 100644 --- a/java/java-impl/src/com/intellij/psi/filters/getters/MembersGetter.java +++ b/java/java-impl/src/com/intellij/psi/filters/getters/MembersGetter.java @@ -15,10 +15,9 @@ */ package com.intellij.psi.filters.getters; -import com.intellij.codeInsight.completion.CompletionResultSet; +import com.intellij.codeInsight.completion.JavaCompletionUtil; import com.intellij.codeInsight.completion.JavaMethodCallElement; import com.intellij.codeInsight.completion.SmartCompletionDecorator; -import com.intellij.codeInsight.completion.JavaCompletionUtil; import com.intellij.codeInsight.lookup.*; import com.intellij.psi.*; import com.intellij.psi.filters.TrueFilter; @@ -27,6 +26,7 @@ import com.intellij.psi.tree.IElementType; import com.intellij.psi.util.InheritanceUtil; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.psi.util.PsiUtil; +import com.intellij.util.Consumer; import org.jetbrains.annotations.Nullable; /** @@ -38,7 +38,7 @@ import org.jetbrains.annotations.Nullable; */ public class MembersGetter { - public static void addMembers(PsiElement position, PsiType expectedType, CompletionResultSet results) { + public static void addMembers(PsiElement position, PsiType expectedType, Consumer results) { final PsiClass psiClass = PsiUtil.resolveClassInType(expectedType); processMembers(position, results, psiClass, PsiTreeUtil.getParentOfType(position, PsiAnnotation.class) != null, expectedType); @@ -47,7 +47,7 @@ public class MembersGetter { } } - private static void addConstantsFromTargetClass(PsiElement position, PsiType expectedType, CompletionResultSet results) { + private static void addConstantsFromTargetClass(PsiElement position, PsiType expectedType, Consumer results) { PsiElement parent = position.getParent(); if (!(parent instanceof PsiReferenceExpression)) { return; @@ -99,7 +99,7 @@ public class MembersGetter { return null; } - private static void processMembers(final PsiElement context, final CompletionResultSet results, @Nullable final PsiClass where, + private static void processMembers(final PsiElement context, final Consumer results, @Nullable final PsiClass where, final boolean acceptMethods, PsiType expectedType) { if (where == null) return; @@ -132,7 +132,7 @@ public class MembersGetter { } final PsiType itemType = ((TypedLookupItem)item).getType(); if (itemType != null && expectedType.isAssignableFrom(itemType)) { - results.addElement(item); + results.consume(item); } } } diff --git a/platform/lang-api/src/com/intellij/codeInsight/completion/AbstractCompletionContributor.java b/platform/lang-api/src/com/intellij/codeInsight/completion/AbstractCompletionContributor.java deleted file mode 100644 index 649b0ed437b7..000000000000 --- a/platform/lang-api/src/com/intellij/codeInsight/completion/AbstractCompletionContributor.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright 2000-2009 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.intellij.codeInsight.completion; - -/** - * @author peter - */ -public abstract class AbstractCompletionContributor { - - /** - * Fill completion variants. - * - * Invoked sequentially for all registered contributors in order of registration. - * - * @param parameters - * @param result - * @return Whether to continue variants collecting process. If false, remaining non-visited completion contributors are ignored. - * @see CompletionService#getVariantsFromContributors(com.intellij.openapi.extensions.ExtensionPointName, CompletionParameters, AbstractCompletionContributor , com.intellij.util.Consumer) - */ - public abstract void fillCompletionVariants(Params parameters, CompletionResultSet result); -} diff --git a/platform/lang-api/src/com/intellij/codeInsight/completion/CompletionContributor.java b/platform/lang-api/src/com/intellij/codeInsight/completion/CompletionContributor.java index 9ad079f101ee..9e0a43281237 100644 --- a/platform/lang-api/src/com/intellij/codeInsight/completion/CompletionContributor.java +++ b/platform/lang-api/src/com/intellij/codeInsight/completion/CompletionContributor.java @@ -125,7 +125,7 @@ import java.util.List; * * @author peter */ -public abstract class CompletionContributor extends AbstractCompletionContributor{ +public abstract class CompletionContributor { private final MultiMap, CompletionProvider>> myMap = new MultiMap, CompletionProvider>>();