diff --git a/platform/lang-impl/src/com/intellij/openapi/roots/impl/DirectoryIndexImpl.java b/platform/lang-impl/src/com/intellij/openapi/roots/impl/DirectoryIndexImpl.java index 186d7a65168b..68f527417206 100644 --- a/platform/lang-impl/src/com/intellij/openapi/roots/impl/DirectoryIndexImpl.java +++ b/platform/lang-impl/src/com/intellij/openapi/roots/impl/DirectoryIndexImpl.java @@ -471,9 +471,12 @@ public class DirectoryIndexImpl extends DirectoryIndex implements ProjectCompone for (OrderEntry orderEntry : getOrderEntries(module)) { if (orderEntry instanceof ModuleOrderEntry) { - VirtualFile[] importedClassRoots = orderEntry.getFiles(OrderRootType.COMPILATION_CLASSES); - for (VirtualFile importedClassRoot : importedClassRoots) { - addEntryToMap(importedClassRoot, orderEntry, depEntries); + final Module depModule = ((ModuleOrderEntry)orderEntry).getModule(); + if (depModule != null) { + VirtualFile[] importedClassRoots = OrderEnumerator.orderEntries(depModule).exportedOnly().recursively().classes().usingCache().getRoots(); + for (VirtualFile importedClassRoot : importedClassRoots) { + addEntryToMap(importedClassRoot, orderEntry, depEntries); + } } VirtualFile[] sourceRoots = orderEntry.getFiles(OrderRootType.SOURCES); for (VirtualFile sourceRoot : sourceRoots) {