From e070d9d8910e7a9364e33cff24c6435b28a26423 Mon Sep 17 00:00:00 2001 From: Vladimir Dolzhenko Date: Wed, 16 Mar 2022 09:53:43 +0100 Subject: [PATCH] [kotlin] Review comments #KTIJ-20396 GitOrigin-RevId: 9b71f5a3895b0b1e34033bddc262b303598c0e1b --- .../kotlin/idea/caches/project/KotlinStdlibCache.kt | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/plugins/kotlin/analysis/src/org/jetbrains/kotlin/idea/caches/project/KotlinStdlibCache.kt b/plugins/kotlin/analysis/src/org/jetbrains/kotlin/idea/caches/project/KotlinStdlibCache.kt index 63ccf14be2fe..e812629f3c6c 100644 --- a/plugins/kotlin/analysis/src/org/jetbrains/kotlin/idea/caches/project/KotlinStdlibCache.kt +++ b/plugins/kotlin/analysis/src/org/jetbrains/kotlin/idea/caches/project/KotlinStdlibCache.kt @@ -118,12 +118,10 @@ class KotlinStdlibCacheImpl(val project: Project) : KotlinStdlibCache { override fun findStdlibInModuleDependencies(module: IdeaModuleInfo): LibraryInfo? { ProgressManager.checkCanceled() - var moduleSourceInfo: ModuleSourceInfo? = null val stdlibDependency = moduleStdlibDependencyCache.getOrPut(module) { - - moduleSourceInfo = module.safeAs() + val moduleSourceInfo = module.safeAs() val stdLib = moduleSourceInfo?.module?.moduleWithLibrariesScope?.let index@{ scope -> - val filesWithinStdlib = DumbModeAccessType.RELIABLE_DATA_ONLY.ignoreDumbMode(ThrowableComputable { + val stdlibManifests = DumbModeAccessType.RELIABLE_DATA_ONLY.ignoreDumbMode(ThrowableComputable { FileBasedIndex.getInstance().getContainingFiles( KotlinStdlibIndex.KEY, KotlinStdlibIndex.KOTLIN_STDLIB_NAME, @@ -131,8 +129,8 @@ class KotlinStdlibCacheImpl(val project: Project) : KotlinStdlibCache { ) }) val index = ProjectFileIndex.SERVICE.getInstance(project) - for (file in filesWithinStdlib) { - val orderEntries = index.getOrderEntriesForFile(file) + for (manifest in stdlibManifests) { + val orderEntries = index.getOrderEntriesForFile(manifest) orderEntries.firstNotNullOfOrNull { it.safeAs()?.library.safeAs() }?.let { createLibraryInfo(project, it) }?.firstOrNull(::isStdlib)?.let { @@ -143,8 +141,8 @@ class KotlinStdlibCacheImpl(val project: Project) : KotlinStdlibCache { } ?: module.safeAs()?.takeIf(::isStdlib) ?: module.dependencies().firstOrNull { it is LibraryInfo && isStdlib(it) } as LibraryInfo? + val stdlibDependency = StdlibDependency(stdLib) - // if stdlib is created (i.e. is not fetched from a cache) for a module source info moduleSourceInfo?.let { _ -> // all module dependencies have same stdlib as module itself module.dependencies().forEach {