diff --git a/platform/core-impl/src/com/intellij/psi/impl/source/resolve/reference/NamedObjectProviderBinding.java b/platform/core-impl/src/com/intellij/psi/impl/source/resolve/reference/NamedObjectProviderBinding.java index 013f4437c294..1564efffe4f1 100644 --- a/platform/core-impl/src/com/intellij/psi/impl/source/resolve/reference/NamedObjectProviderBinding.java +++ b/platform/core-impl/src/com/intellij/psi/impl/source/resolve/reference/NamedObjectProviderBinding.java @@ -36,16 +36,16 @@ import java.util.Map; /** * @author maxim */ -abstract class NamedObjectProviderBinding implements ProviderBinding { - private final Map>> myNamesToProvidersMap = new THashMap>>(5); - private final Map>> myNamesToProvidersMapInsensitive = new THashMap>>(5); +public abstract class NamedObjectProviderBinding implements ProviderBinding { + private final Map>> myNamesToProvidersMap = new THashMap>>(5); + private final Map>> myNamesToProvidersMapInsensitive = new THashMap>>(5); - void registerProvider(@NonNls @NotNull String[] names, - @NotNull ElementPattern filter, - boolean caseSensitive, - @NotNull Provider provider, - final double priority) { - final Map>> map = caseSensitive ? myNamesToProvidersMap : myNamesToProvidersMapInsensitive; + public void registerProvider(@NonNls @NotNull String[] names, + @NotNull ElementPattern filter, + boolean caseSensitive, + @NotNull PsiReferenceProvider provider, + final double priority) { + final Map>> map = caseSensitive ? myNamesToProvidersMap : myNamesToProvidersMapInsensitive; for (final String attributeName : names) { String key = caseSensitive ? attributeName : attributeName.toLowerCase(); @@ -89,18 +89,18 @@ abstract class NamedObjectProviderBinding implements ProviderBinding

void addMatchingProviders(@NotNull PsiElement position, - @Nullable final List> providerList, - @NotNull Collection> output, - @NotNull PsiReferenceService.Hints hints) { + static void addMatchingProviders(@NotNull PsiElement position, + @Nullable final List> providerList, + @NotNull Collection> output, + @NotNull PsiReferenceService.Hints hints) { if (providerList == null) return; //noinspection ForLoopReplaceableByForEach for (int i = 0; i < providerList.size(); i++) { - ProviderInfo info = providerList.get(i); - if (hints != PsiReferenceService.Hints.NO_HINTS && !((PsiReferenceProvider)info.provider).acceptsHints(position, hints)) { + ProviderInfo info = providerList.get(i); + if (hints != PsiReferenceService.Hints.NO_HINTS && !info.provider.acceptsHints(position, hints)) { continue; } @@ -115,7 +115,7 @@ abstract class NamedObjectProviderBinding implements ProviderBinding

(info.provider, context, info.priority)); + output.add(new ProviderInfo(info.provider, context, info.priority)); } } } diff --git a/platform/core-impl/src/com/intellij/psi/impl/source/resolve/reference/SimpleProviderBinding.java b/platform/core-impl/src/com/intellij/psi/impl/source/resolve/reference/SimpleProviderBinding.java index 62919f0e4393..f6b4304dc52e 100644 --- a/platform/core-impl/src/com/intellij/psi/impl/source/resolve/reference/SimpleProviderBinding.java +++ b/platform/core-impl/src/com/intellij/psi/impl/source/resolve/reference/SimpleProviderBinding.java @@ -18,6 +18,7 @@ package com.intellij.psi.impl.source.resolve.reference; import com.intellij.patterns.ElementPattern; import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiReferenceProvider; import com.intellij.psi.PsiReferenceService; import com.intellij.util.ProcessingContext; import com.intellij.util.SmartList; @@ -33,11 +34,11 @@ import java.util.List; * Time: 16:52:28 * To change this template use Options | File Templates. */ -class SimpleProviderBinding implements ProviderBinding { - private final List> myProviderPairs = new SmartList>(); +class SimpleProviderBinding implements ProviderBinding { + private final List> myProviderPairs = new SmartList>(); - void registerProvider(Provider provider, ElementPattern pattern, double priority) { - myProviderPairs.add(new ProviderInfo(provider, pattern, priority)); + void registerProvider(@NotNull PsiReferenceProvider provider, @NotNull ElementPattern pattern, double priority) { + myProviderPairs.add(new ProviderInfo(provider, pattern, priority)); } @Override