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,9 +70,13 @@ 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 ->
if (dependency.platform == KonanPlatform) {
dependency.getLibraryRoots().map { file -> dependency.getLibraryRoots().map { file ->
file to dependency file to dependency
} }
} else {
emptyList()
}
}.toMap() }.toMap()
val resolvedLibraries = val resolvedLibraries =