diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/KotlinCacheServiceImpl.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/KotlinCacheServiceImpl.kt index 8c94cf7c240..93e64fc9e61 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/KotlinCacheServiceImpl.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/KotlinCacheServiceImpl.kt @@ -117,7 +117,6 @@ class KotlinCacheServiceImpl(val project: Project) : KotlinCacheService { "sdk $sdk", platform, sdk, - allModules = sdk?.let { SdkInfo(project, it) }.singletonOrEmptyList(), moduleFilter = { it is SdkInfo }, dependencies = listOf( LibraryModificationTracker.getInstance(project), diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/ModuleDependencyMapper.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/ModuleDependencyMapper.kt index 9af3e5932ea..40c83ed471e 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/ModuleDependencyMapper.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/ModuleDependencyMapper.kt @@ -18,6 +18,7 @@ package org.jetbrains.kotlin.idea.caches.resolve import com.intellij.openapi.module.ModuleManager import com.intellij.openapi.project.Project +import com.intellij.openapi.projectRoots.ProjectJdkTable import com.intellij.openapi.projectRoots.Sdk import com.intellij.openapi.roots.JdkOrderEntry import com.intellij.openapi.roots.LibraryOrderEntry @@ -98,18 +99,23 @@ private fun collectAllModuleInfosFromIdeaModel(project: Project): List().map { it.jdk } - }.filterNotNull().toSet() + } - val sdksInfos = ideaSdks.map { SdkInfo(project, it) } + val sdksInfos = (sdksFromModulesDependencies + getAllProjectSdks()).filterNotNull().toSet().map { SdkInfo(project, it) } val collectAllModuleInfos = modulesSourcesInfos + librariesInfos + sdksInfos return collectAllModuleInfos } +fun getAllProjectSdks(): Collection { + return ProjectJdkTable.getInstance().allJdks.toList() +} + + interface ModuleResolverProvider { val resolverForProject: ResolverForProject val builtIns: KotlinBuiltIns diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/ScriptModuleInfos.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/ScriptModuleInfos.kt index 33156138224..b4aae4f1957 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/ScriptModuleInfos.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/ScriptModuleInfos.kt @@ -66,8 +66,7 @@ private fun sdkDependencies(scriptDependencies: KotlinScriptExternalDependencies = findJdk(scriptDependencies, project)?.let { SdkInfo(project, it) }.singletonOrEmptyList() fun findJdk(dependencies: KotlinScriptExternalDependencies?, project: Project): Sdk? { - val jdkTable = ProjectJdkTable.getInstance() - val allJdks = jdkTable.allJdks + val allJdks = getAllProjectSdks() // workaround for mismatched gradle wrapper and plugin version val javaHome = try { dependencies?.javaHome } catch (e: Throwable) { null }