From 0ce2ecd8e58dbd0f5a4fc52f2ca41ef2e960cf94 Mon Sep 17 00:00:00 2001 From: Maxim Shafirov Date: Tue, 12 Jan 2010 17:56:28 +0300 Subject: [PATCH] IDEADEV-42191: The file may belong to a library AND the source root of the module at the same time. --- .../src/com/intellij/psi/search/ProjectScope.java | 8 +++++--- .../module/impl/scopes/ModuleWithDependentsScope.java | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/platform/lang-api/src/com/intellij/psi/search/ProjectScope.java b/platform/lang-api/src/com/intellij/psi/search/ProjectScope.java index 83cc6be033de..56d750efce0a 100644 --- a/platform/lang-api/src/com/intellij/psi/search/ProjectScope.java +++ b/platform/lang-api/src/com/intellij/psi/search/ProjectScope.java @@ -63,9 +63,11 @@ public class ProjectScope { private final ProjectFileIndex myFileIndex = projectRootManager.getFileIndex(); public boolean contains(VirtualFile file) { - if (myFileIndex.isInLibraryClasses(file)) return false; + if (file instanceof VirtualFileWindow) return true; - return file instanceof VirtualFileWindow || myFileIndex.isInContent(file); + if (myFileIndex.isInLibraryClasses(file) && !myFileIndex.isInSourceContent(file)) return false; + + return myFileIndex.isInContent(file); } public int compare(VirtualFile file1, VirtualFile file2) { @@ -107,4 +109,4 @@ public class ProjectScope { } return projectScope; } -} \ No newline at end of file +} diff --git a/platform/lang-impl/src/com/intellij/openapi/module/impl/scopes/ModuleWithDependentsScope.java b/platform/lang-impl/src/com/intellij/openapi/module/impl/scopes/ModuleWithDependentsScope.java index 042e67a688fd..4523bb6f9e8a 100644 --- a/platform/lang-impl/src/com/intellij/openapi/module/impl/scopes/ModuleWithDependentsScope.java +++ b/platform/lang-impl/src/com/intellij/openapi/module/impl/scopes/ModuleWithDependentsScope.java @@ -80,7 +80,7 @@ public class ModuleWithDependentsScope extends GlobalSearchScope { if (moduleOfFile == null) return false; if (!myModules.contains(moduleOfFile)) return false; if (myOnlyTests && !myProjectFileIndex.isInTestSourceContent(file)) return false; - if (myProjectFileIndex.isInLibraryClasses(file)) return false; + if (myProjectFileIndex.isInLibraryClasses(file) && !myProjectFileIndex.isInSourceContent(file)) return false; return true; }