diff --git a/xml/dom-impl/src/com/intellij/util/xml/model/gotosymbol/GoToSymbolProvider.java b/xml/dom-impl/src/com/intellij/util/xml/model/gotosymbol/GoToSymbolProvider.java index e725033a36e9..379d6deff3af 100644 --- a/xml/dom-impl/src/com/intellij/util/xml/model/gotosymbol/GoToSymbolProvider.java +++ b/xml/dom-impl/src/com/intellij/util/xml/model/gotosymbol/GoToSymbolProvider.java @@ -41,6 +41,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import javax.swing.*; +import java.util.Collection; import java.util.List; import java.util.Set; @@ -49,7 +50,7 @@ import java.util.Set; */ public abstract class GoToSymbolProvider implements ChooseByNameContributor { // non-static to store modules accepted by different providers separately - private final Key>> ACCEPTABLE_MODULES = Key.create("ACCEPTABLE_MODULES_" + toString()); + private final Key>> ACCEPTABLE_MODULES = Key.create("ACCEPTABLE_MODULES_" + toString()); protected abstract void addNames(@NotNull Module module, Set result); @@ -63,11 +64,14 @@ public abstract class GoToSymbolProvider implements ChooseByNameContributor { } } - private List getAcceptableModules(final Project project) { - return CachedValuesManager.getManager(project).getCachedValue(project, ACCEPTABLE_MODULES, () -> { - List result = ContainerUtil.findAll(ModuleManager.getInstance(project).getModules(), module -> acceptModule(module)); - return CachedValueProvider.Result.create(result, PsiModificationTracker.MODIFICATION_COUNT); - }, false); + private Collection getAcceptableModules(final Project project) { + return CachedValuesManager.getManager(project).getCachedValue(project, ACCEPTABLE_MODULES, () -> + CachedValueProvider.Result.create(calcAcceptableModules(project), PsiModificationTracker.MODIFICATION_COUNT), false); + } + + @NotNull + protected Collection calcAcceptableModules(@NotNull Project project) { + return ContainerUtil.findAll(ModuleManager.getInstance(project).getModules(), module -> acceptModule(module)); } @Override @@ -159,7 +163,6 @@ public abstract class GoToSymbolProvider implements ChooseByNameContributor { } @Override - @Nullable public String getLocationString() { return '(' + myPsiElement.getContainingFile().getName() + ')'; }