diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/project/IdeaModuleInfos.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/project/IdeaModuleInfos.kt index 282c74d4d0f..4b9aaf0fbfc 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/project/IdeaModuleInfos.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/project/IdeaModuleInfos.kt @@ -103,7 +103,11 @@ private fun OrderEntry.acceptAsDependency(forProduction: Boolean): Boolean { || scope.isForProductionCompile } -private fun ideaModelDependencies(module: Module, forProduction: Boolean): List { +private fun ideaModelDependencies( + module: Module, + forProduction: Boolean, + platform: TargetPlatform +): List { //NOTE: lib dependencies can be processed several times during recursive traversal val result = LinkedHashSet() val dependencyEnumerator = ModuleRootManager.getInstance(module).orderEntries().compileOnly().recursively().exportedOnly() @@ -116,7 +120,7 @@ private fun ideaModelDependencies(module: Module, forProduction: Boolean): List< } true } - return result.toList() + return result.filterNot { it is LibraryInfo && it.platform != platform } } fun Module.findImplementedModuleNames(modelsProvider: IdeModifiableModelsProvider): List { @@ -158,7 +162,7 @@ sealed class ModuleSourceInfoWithExpectedBy(private val forProduction: Boolean) override fun dependencies(): List = module.cached(createCachedValueProvider { CachedValueProvider.Result( - ideaModelDependencies(module, forProduction), + ideaModelDependencies(module, forProduction, platform), ProjectRootModificationTracker.getInstance(module.project) ) })