diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/framework/LibraryKinds.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/framework/LibraryKinds.kt index 2f3827f86e8..609d0bb448c 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/framework/LibraryKinds.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/framework/LibraryKinds.kt @@ -25,9 +25,11 @@ import com.intellij.openapi.roots.libraries.PersistentLibraryKind import com.intellij.openapi.util.io.JarUtil import com.intellij.openapi.vfs.* import org.jetbrains.kotlin.caches.resolve.IdePlatformKindResolution +import org.jetbrains.kotlin.caches.resolve.resolution import org.jetbrains.kotlin.idea.vfilefinder.KnownLibraryKindForIndex import org.jetbrains.kotlin.idea.vfilefinder.getLibraryKindForJar import org.jetbrains.kotlin.js.resolve.JsPlatform +import org.jetbrains.kotlin.platform.DefaultIdeTargetPlatformKindProvider import org.jetbrains.kotlin.resolve.TargetPlatform import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform import org.jetbrains.kotlin.utils.PathUtil @@ -78,10 +80,14 @@ fun detectLibraryKind(roots: Array): PersistentLibraryKind<*>? { } } - return IdePlatformKindResolution - .getInstances() - .firstOrNull { it.isLibraryFileForPlatform(jarFile) } - ?.libraryKind + val matchingResolution = + IdePlatformKindResolution + .getInstances() + .firstOrNull { it.isLibraryFileForPlatform(jarFile) } + + if (matchingResolution != null) return matchingResolution.libraryKind + + return DefaultIdeTargetPlatformKindProvider.defaultPlatform.kind.resolution.libraryKind } fun getLibraryJar(roots: Array, jarPattern: Pattern): VirtualFile? { diff --git a/idea/src/org/jetbrains/kotlin/idea/facet/facetUtils.kt b/idea/src/org/jetbrains/kotlin/idea/facet/facetUtils.kt index 9e53687d199..e8a83f368a3 100644 --- a/idea/src/org/jetbrains/kotlin/idea/facet/facetUtils.kt +++ b/idea/src/org/jetbrains/kotlin/idea/facet/facetUtils.kt @@ -39,6 +39,7 @@ import org.jetbrains.kotlin.idea.core.isAndroidModule import org.jetbrains.kotlin.idea.framework.KotlinSdkType import org.jetbrains.kotlin.idea.platform.tooling import org.jetbrains.kotlin.idea.util.application.runWriteAction +import org.jetbrains.kotlin.platform.DefaultIdeTargetPlatformKindProvider import org.jetbrains.kotlin.platform.IdePlatform import org.jetbrains.kotlin.platform.IdePlatformKind import org.jetbrains.kotlin.platform.impl.JvmIdePlatformKind @@ -51,7 +52,7 @@ var Module.hasExternalSdkConfiguration: Boolean private fun getDefaultTargetPlatform(module: Module, rootModel: ModuleRootModel?): IdePlatform<*, *> { val platformKind = IdePlatformKind.ALL_KINDS.firstOrNull { getRuntimeLibraryVersions(module, rootModel, it).isNotEmpty() - } ?: JvmIdePlatformKind + } ?: DefaultIdeTargetPlatformKindProvider.defaultPlatform.kind if (platformKind == JvmIdePlatformKind) { var jvmTarget = Kotlin2JvmCompilerArgumentsHolder.getInstance(module.project).settings.jvmTarget?.let { JvmTarget.fromString(it) } if (jvmTarget == null) {