diff options
author | Tor Norbye <tnorbye@google.com> | 2014-08-19 22:27:03 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2014-08-19 21:25:05 +0000 |
commit | 4ca751c002784c4bfd349cc5240b045b62277c80 (patch) | |
tree | dfc17b31990e2429535609b85f6d080c4fa0d9fe /platform/indexing-impl/src/com/intellij/openapi/module/impl/scopes/ModuleWithDependentsScope.java | |
parent | 890d9a2952301682ffecaed4495f5f65c84c3642 (diff) | |
parent | 060e58b3afea3ea39f5ba1cb5a443ca3ebda28c8 (diff) | |
download | idea-4ca751c002784c4bfd349cc5240b045b62277c80.tar.gz |
Merge "Merge remote-tracking branch 'aosp/upstream-master' into merge"
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); } } |