diff options
Diffstat (limited to 'platform/indexing-impl/src/com/intellij/openapi/module/impl/scopes/ModuleWithDependentsScope.java')
-rw-r--r-- | platform/indexing-impl/src/com/intellij/openapi/module/impl/scopes/ModuleWithDependentsScope.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/platform/indexing-impl/src/com/intellij/openapi/module/impl/scopes/ModuleWithDependentsScope.java b/platform/indexing-impl/src/com/intellij/openapi/module/impl/scopes/ModuleWithDependentsScope.java index 259ea3936934..c773402b27e3 100644 --- a/platform/indexing-impl/src/com/intellij/openapi/module/impl/scopes/ModuleWithDependentsScope.java +++ b/platform/indexing-impl/src/com/intellij/openapi/module/impl/scopes/ModuleWithDependentsScope.java @@ -56,6 +56,8 @@ class ModuleWithDependentsScope extends GlobalSearchScope { private static Set<Module> buildDependents(Module module) { Set<Module> result = new THashSet<Module>(); result.add(module); + + Set<Module> processedExporting = new THashSet<Module>(); ModuleIndex index = getModuleIndex(module.getProject()); @@ -64,9 +66,11 @@ class ModuleWithDependentsScope extends GlobalSearchScope { while (!walkingQueue.isEmpty()) { Module current = walkingQueue.pullFirst(); + processedExporting.add(current); result.addAll(index.plainUsages.get(current)); for (Module dependent : index.exportingUsages.get(current)) { - if (result.add(dependent)) { + result.add(dependent); + if (processedExporting.add(dependent)) { walkingQueue.addLast(dependent); } } |