diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/metadata/K2MetadataKlibSerializer.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/metadata/K2MetadataKlibSerializer.kt index ac26232f61d..dbeb4377d44 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/metadata/K2MetadataKlibSerializer.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/metadata/K2MetadataKlibSerializer.kt @@ -25,10 +25,7 @@ import org.jetbrains.kotlin.descriptors.PackageFragmentProvider import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl import org.jetbrains.kotlin.descriptors.konan.DeserializedKlibModuleOrigin import org.jetbrains.kotlin.konan.util.KlibMetadataFactories -import org.jetbrains.kotlin.library.KotlinAbiVersion -import org.jetbrains.kotlin.library.KotlinLibrary -import org.jetbrains.kotlin.library.KotlinLibraryVersioning -import org.jetbrains.kotlin.library.SerializedMetadata +import org.jetbrains.kotlin.library.* import org.jetbrains.kotlin.library.impl.buildKoltinLibrary import org.jetbrains.kotlin.library.impl.createKotlinLibraryComponents import org.jetbrains.kotlin.library.metadata.parseModuleHeader @@ -111,8 +108,7 @@ private class KlibMetadataDependencyContainer( .filter { it.extension == "klib" || it.isDirectory } // TODO: need to move K2Metadata to SearchPathResolver. - // Otherewise there's no good way to choose between the components. - klibFiles.map { createKotlinLibraryComponents(org.jetbrains.kotlin.konan.file.File(it.absolutePath)).single() } + klibFiles.map { resolveSingleFileKlib(org.jetbrains.kotlin.konan.file.File(it.absolutePath)) } } private val builtIns diff --git a/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/klib.kt b/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/klib.kt index 21238c3f74b..d4916d2d254 100644 --- a/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/klib.kt +++ b/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/klib.kt @@ -76,9 +76,8 @@ val KotlinLibrary.isBuiltIns: Boolean // TODO: The only place loadKlib() is used now is Wasm backend. // Need to move it to SearchPathResolver too. -// Otherwise there's no good way to choose between the components. fun loadKlib(klibPath: String) = - createKotlinLibraryComponents(KFile(KFile(klibPath).absolutePath)).single() + resolveSingleFileKlib(KFile(KFile(klibPath).absolutePath)) val emptyLoggingContext = object : LoggingContext { override var inVerbosePhase = false diff --git a/idea/idea-native/src/org/jetbrains/kotlin/ide/konan/NativePlatformKindResolution.kt b/idea/idea-native/src/org/jetbrains/kotlin/ide/konan/NativePlatformKindResolution.kt index 48239055614..058eafd0e02 100644 --- a/idea/idea-native/src/org/jetbrains/kotlin/ide/konan/NativePlatformKindResolution.kt +++ b/idea/idea-native/src/org/jetbrains/kotlin/ide/konan/NativePlatformKindResolution.kt @@ -43,6 +43,7 @@ import org.jetbrains.kotlin.konan.library.KonanFactories import org.jetbrains.kotlin.library.KotlinLibrary import org.jetbrains.kotlin.library.impl.createKotlinLibrary import org.jetbrains.kotlin.library.isInterop +import org.jetbrains.kotlin.library.resolveSingleFileKlib import org.jetbrains.kotlin.platform.TargetPlatform import org.jetbrains.kotlin.platform.impl.NativeIdePlatformKind import org.jetbrains.kotlin.platform.konan.KonanPlatforms @@ -188,7 +189,7 @@ class NativeLibraryInfo(project: Project, library: Library, val libraryRoot: Str } } - private val nativeLibrary = createKotlinLibrary(File(libraryRoot)) + private val nativeLibrary = resolveSingleFileKlib(File(libraryRoot)) val isStdlib get() = libraryRoot.endsWith(KONAN_STDLIB_NAME) val metadataInfo by lazy {