More precise libraryMap in createResolvedModuleDescriptors

This commit is contained in:
Mikhail Glukhikh
2018-09-07 22:12:27 +03:00
parent 2ff538fc87
commit a4daf9f1ff
@@ -26,6 +26,7 @@ import org.jetbrains.kotlin.konan.library.libraryResolver
import org.jetbrains.kotlin.konan.utils.KonanFactories.DefaultResolvedDescriptorsFactory import org.jetbrains.kotlin.konan.utils.KonanFactories.DefaultResolvedDescriptorsFactory
import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.kotlin.psi.stubs.elements.KtStubElementTypes import org.jetbrains.kotlin.psi.stubs.elements.KtStubElementTypes
import org.jetbrains.kotlin.resolve.konan.platform.KonanPlatform
import org.jetbrains.kotlin.resolve.lazy.declarations.DeclarationProviderFactoryService import org.jetbrains.kotlin.resolve.lazy.declarations.DeclarationProviderFactoryService
import org.jetbrains.kotlin.serialization.konan.KonanResolvedModuleDescriptors import org.jetbrains.kotlin.serialization.konan.KonanResolvedModuleDescriptors
import org.jetbrains.kotlin.storage.StorageManager import org.jetbrains.kotlin.storage.StorageManager
@@ -69,8 +70,12 @@ fun ModuleInfo.createResolvedModuleDescriptors(
// This is to preserve "capabilities" from the original IntelliJ LibraryInfo: // This is to preserve "capabilities" from the original IntelliJ LibraryInfo:
val libraryMap = val libraryMap =
this.dependencies().filterIsInstance<LibraryInfo>().flatMap { dependency -> this.dependencies().filterIsInstance<LibraryInfo>().flatMap { dependency ->
dependency.getLibraryRoots().map { file -> if (dependency.platform == KonanPlatform) {
file to dependency dependency.getLibraryRoots().map { file ->
file to dependency
}
} else {
emptyList()
} }
}.toMap() }.toMap()