correct scope for Python goto class and goto symbol contributors (PY-242)

This commit is contained in:
Dmitry Jemerov
2009-12-08 21:08:13 +03:00
parent f27a14dc4c
commit 21c9c77e59
2 changed files with 8 additions and 2 deletions
@@ -4,6 +4,7 @@ import com.intellij.navigation.ChooseByNameContributor;
import com.intellij.navigation.NavigationItem;
import com.intellij.openapi.project.Project;
import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.psi.search.ProjectScope;
import com.intellij.psi.stubs.StubIndex;
import com.intellij.util.ArrayUtil;
import com.jetbrains.python.psi.PyClass;
@@ -21,7 +22,9 @@ public class PyGotoClassContributor implements ChooseByNameContributor {
}
public NavigationItem[] getItemsByName(final String name, final String pattern, final Project project, final boolean includeNonProjectItems) {
final GlobalSearchScope scope = includeNonProjectItems ? null : GlobalSearchScope.projectScope(project);
final GlobalSearchScope scope = includeNonProjectItems
? ProjectScope.getAllScope(project)
: GlobalSearchScope.projectScope(project);
final Collection<PyClass> classes = StubIndex.getInstance().get(PyClassNameIndex.KEY, name, project, scope);
return classes.toArray(new NavigationItem[classes.size()]);
}
@@ -4,6 +4,7 @@ import com.intellij.navigation.ChooseByNameContributor;
import com.intellij.navigation.NavigationItem;
import com.intellij.openapi.project.Project;
import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.psi.search.ProjectScope;
import com.intellij.psi.stubs.StubIndex;
import com.intellij.util.ArrayUtil;
import com.jetbrains.python.psi.stubs.PyClassNameIndex;
@@ -26,7 +27,9 @@ public class PyGotoSymbolContributor implements ChooseByNameContributor {
}
public NavigationItem[] getItemsByName(final String name, final String pattern, final Project project, final boolean includeNonProjectItems) {
final GlobalSearchScope scope = includeNonProjectItems ? null : GlobalSearchScope.projectScope(project);
final GlobalSearchScope scope = includeNonProjectItems
? ProjectScope.getAllScope(project)
: GlobalSearchScope.projectScope(project);
List<NavigationItem> symbols = new ArrayList<NavigationItem>();
symbols.addAll(StubIndex.getInstance().get(PyClassNameIndex.KEY, name, project, scope));