From 42b6165bda2ddf74e8387e0c66a18f3c075aae4e Mon Sep 17 00:00:00 2001 From: Peter Gromov Date: Tue, 22 Sep 2009 13:12:20 +0400 Subject: [PATCH] readOrBuild should read stub regardless of whether it's in allProject scope --- .../src/com/intellij/psi/search/GlobalSearchScope.java | 13 ++++++++----- platform/lang-impl/src/com/intellij/psi/stubs/StubTree.java | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/platform/lang-api/src/com/intellij/psi/search/GlobalSearchScope.java b/platform/lang-api/src/com/intellij/psi/search/GlobalSearchScope.java index 97ad78fd4b..6d05fd70fc 100644 --- a/platform/lang-api/src/com/intellij/psi/search/GlobalSearchScope.java +++ b/platform/lang-api/src/com/intellij/psi/search/GlobalSearchScope.java @@ -241,7 +241,11 @@ public abstract class GlobalSearchScope extends SearchScope implements ProjectAw } public static GlobalSearchScope fileScope(@NotNull PsiFile psiFile) { - return new FileScope(psiFile); + return new FileScope(psiFile.getProject(), psiFile.getVirtualFile()); + } + + public static GlobalSearchScope fileScope(final Project project, final VirtualFile virtualFile) { + return new FileScope(project, virtualFile); } private static class IntersectionScope extends GlobalSearchScope { @@ -442,10 +446,9 @@ public abstract class GlobalSearchScope extends SearchScope implements ProjectAw private final VirtualFile myVirtualFile; private final Module myModule; - private FileScope(@NotNull PsiFile psiFile) { - super(psiFile.getProject()); - myVirtualFile = psiFile.getVirtualFile(); - Project project = psiFile.getProject(); + private FileScope(final Project project, final VirtualFile virtualFile) { + super(project); + myVirtualFile = virtualFile; ProjectFileIndex fileIndex = ProjectRootManager.getInstance(project).getFileIndex(); myModule = myVirtualFile != null ? fileIndex.getModuleForFile(myVirtualFile) : null; } diff --git a/platform/lang-impl/src/com/intellij/psi/stubs/StubTree.java b/platform/lang-impl/src/com/intellij/psi/stubs/StubTree.java index c1dcc0d31d..11adfa7639 100644 --- a/platform/lang-impl/src/com/intellij/psi/stubs/StubTree.java +++ b/platform/lang-impl/src/com/intellij/psi/stubs/StubTree.java @@ -115,7 +115,7 @@ public class StubTree { final int id = Math.abs(FileBasedIndex.getFileId(vFile)); if (id > 0) { - final List datas = FileBasedIndex.getInstance().getValues(StubUpdatingIndex.INDEX_ID, id, GlobalSearchScope.allScope(project)); + final List datas = FileBasedIndex.getInstance().getValues(StubUpdatingIndex.INDEX_ID, id, GlobalSearchScope.fileScope(project, vFile)); final int size = datas.size(); if (size == 1) { -- 2.11.4.GIT