From 07a1d683ed9a03a57a5648f035e5c7b017cb4145 Mon Sep 17 00:00:00 2001 From: Dmitriy Dolovov Date: Fri, 7 Sep 2018 01:06:06 +0300 Subject: [PATCH] MPP: Better detection of KLIB library kind --- .../kotlin/ide/konan/NativePlatformKindResolution.kt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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 3dc8e88d158..39282d1a87f 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 @@ -18,6 +18,7 @@ import org.jetbrains.kotlin.idea.caches.project.LibraryInfo import org.jetbrains.kotlin.idea.caches.project.getModuleInfosFromIdeaModel import org.jetbrains.kotlin.idea.caches.resolve.PlatformAnalysisSettings import org.jetbrains.kotlin.konan.file.File +import org.jetbrains.kotlin.konan.library.KLIB_FILE_EXTENSION import org.jetbrains.kotlin.konan.library.KONAN_STDLIB_NAME import org.jetbrains.kotlin.konan.library.createKonanLibrary import org.jetbrains.kotlin.konan.util.KonanFactories.DefaultDeserializedDescriptorFactory @@ -26,8 +27,11 @@ import org.jetbrains.kotlin.resolve.konan.platform.KonanPlatform class NativePlatformKindResolution : IdePlatformKindResolution { override fun isLibraryFileForPlatform(virtualFile: VirtualFile): Boolean { - return virtualFile.extension == "klib" - || virtualFile.isDirectory && virtualFile.children.any { it.name == "manifest" } + return if (virtualFile.isDirectory) { + virtualFile.findChild("linkdata")?.takeIf { it.isDirectory }?.children?.any { it.extension == "knm" } == true + } else { + virtualFile.extension == KLIB_FILE_EXTENSION + } } override val libraryKind: PersistentLibraryKind<*>?