Rename: KonanPlatform, KonanPlatforms -> NativePlatform, NativePlatforms

This commit is contained in:
Dmitriy Dolovov
2020-03-26 13:21:41 +07:00
parent dfbbae3991
commit 9bbfe9c1ac
20 changed files with 69 additions and 71 deletions
@@ -5,12 +5,12 @@
package org.jetbrains.kotlin.platform package org.jetbrains.kotlin.platform
import org.jetbrains.kotlin.platform.js.JsPlatforms import org.jetbrains.kotlin.platform.js.JsPlatforms.allJsPlatforms
import org.jetbrains.kotlin.platform.js.JsPlatforms.defaultJsPlatform import org.jetbrains.kotlin.platform.js.JsPlatforms.defaultJsPlatform
import org.jetbrains.kotlin.platform.jvm.JvmPlatforms import org.jetbrains.kotlin.platform.jvm.JvmPlatforms.allJvmPlatforms
import org.jetbrains.kotlin.platform.jvm.JvmPlatforms.unspecifiedJvmPlatform import org.jetbrains.kotlin.platform.jvm.JvmPlatforms.unspecifiedJvmPlatform
import org.jetbrains.kotlin.platform.konan.KonanPlatforms import org.jetbrains.kotlin.platform.konan.NativePlatforms.allNativePlatforms
import org.jetbrains.kotlin.platform.konan.KonanPlatforms.defaultKonanPlatform import org.jetbrains.kotlin.platform.konan.NativePlatforms.defaultNativePlatform
@Suppress("DEPRECATION_ERROR") @Suppress("DEPRECATION_ERROR")
object CommonPlatforms { object CommonPlatforms {
@@ -23,7 +23,7 @@ object CommonPlatforms {
setOf( setOf(
unspecifiedJvmPlatform.single(), unspecifiedJvmPlatform.single(),
defaultJsPlatform.single(), defaultJsPlatform.single(),
defaultKonanPlatform.single() defaultNativePlatform.single()
) )
), org.jetbrains.kotlin.analyzer.common.CommonPlatform { ), org.jetbrains.kotlin.analyzer.common.CommonPlatform {
override val platformName: String override val platformName: String
@@ -36,9 +36,9 @@ object CommonPlatforms {
val allSimplePlatforms: List<TargetPlatform> val allSimplePlatforms: List<TargetPlatform>
// TODO(auskov): migrate to SimplePlatform? // TODO(auskov): migrate to SimplePlatform?
get() = sequence { get() = sequence {
yieldAll(JvmPlatforms.allJvmPlatforms) yieldAll(allJvmPlatforms)
yieldAll(KonanPlatforms.allKonanPlatforms) yieldAll(allNativePlatforms)
yieldAll(JsPlatforms.allJsPlatforms) yieldAll(allJsPlatforms)
// TODO(dsavvinov): extensions points? // TODO(dsavvinov): extensions points?
}.toList() }.toList()
@@ -7,32 +7,31 @@ package org.jetbrains.kotlin.platform.konan
import org.jetbrains.kotlin.platform.SimplePlatform import org.jetbrains.kotlin.platform.SimplePlatform
import org.jetbrains.kotlin.platform.TargetPlatform import org.jetbrains.kotlin.platform.TargetPlatform
import org.jetbrains.kotlin.platform.toTargetPlatform
abstract class KonanPlatform : SimplePlatform("Native") { abstract class NativePlatform : SimplePlatform("Native") {
override val oldFashionedDescription: String override val oldFashionedDescription: String
get() = "Native " get() = "Native "
} }
@Suppress("DEPRECATION_ERROR") @Suppress("DEPRECATION_ERROR")
object KonanPlatforms { object NativePlatforms {
private object DefaultSimpleKonanPlatform : KonanPlatform() private object DefaultSimpleNativePlatform : NativePlatform()
@Deprecated( @Deprecated(
message = "Should be accessed only by compatibility layer, other clients should use 'defaultKonanPlatform'", message = "Should be accessed only by compatibility layer, other clients should use 'defaultNativePlatform'",
level = DeprecationLevel.ERROR level = DeprecationLevel.ERROR
) )
object CompatKonanPlatform : TargetPlatform(setOf(DefaultSimpleKonanPlatform)), object CompatNativePlatform : TargetPlatform(setOf(DefaultSimpleNativePlatform)),
// Needed for backward compatibility, because old code uses INSTANCEOF checks instead of calling extensions // Needed for backward compatibility, because old code uses INSTANCEOF checks instead of calling extensions
org.jetbrains.kotlin.resolve.konan.platform.KonanPlatform { org.jetbrains.kotlin.resolve.konan.platform.KonanPlatform {
override val platformName: String override val platformName: String
get() = "Native" get() = "Native"
} }
val defaultKonanPlatform: TargetPlatform val defaultNativePlatform: TargetPlatform
get() = CompatKonanPlatform get() = CompatNativePlatform
val allKonanPlatforms: List<TargetPlatform> = listOf(defaultKonanPlatform) val allNativePlatforms: List<TargetPlatform> = listOf(defaultNativePlatform)
} }
fun TargetPlatform?.isNative(): Boolean = this?.singleOrNull() is KonanPlatform fun TargetPlatform?.isNative(): Boolean = this?.singleOrNull() is NativePlatform
@@ -7,17 +7,17 @@
package org.jetbrains.kotlin.resolve.konan.platform package org.jetbrains.kotlin.resolve.konan.platform
import org.jetbrains.kotlin.platform.konan.KonanPlatforms import org.jetbrains.kotlin.platform.konan.NativePlatforms
import org.jetbrains.kotlin.resolve.TargetPlatform import org.jetbrains.kotlin.resolve.TargetPlatform
@Deprecated( @Deprecated(
message = "This class is deprecated and will be removed soon, use API from 'org.jetbrains.kotlin.platform.*' packages instead", message = "This class is deprecated and will be removed soon, use API from 'org.jetbrains.kotlin.platform.*' packages instead",
replaceWith = ReplaceWith("KonanPlatforms.defaultKonanPlatform", "org.jetbrains.kotlin.platform.konan.KonanPlatforms"), replaceWith = ReplaceWith("NativePlatforms.defaultNativePlatform", "org.jetbrains.kotlin.platform.konan.NativePlatforms"),
level = DeprecationLevel.ERROR level = DeprecationLevel.ERROR
) )
interface KonanPlatform : TargetPlatform { interface KonanPlatform : TargetPlatform {
companion object { companion object {
@JvmField @JvmField
val INSTANCE: KonanPlatform = KonanPlatforms.CompatKonanPlatform val INSTANCE: KonanPlatform = NativePlatforms.CompatNativePlatform
} }
} }
@@ -17,7 +17,7 @@ import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl
import org.jetbrains.kotlin.frontend.di.configureModule import org.jetbrains.kotlin.frontend.di.configureModule
import org.jetbrains.kotlin.frontend.di.configureStandardResolveComponents import org.jetbrains.kotlin.frontend.di.configureStandardResolveComponents
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.platform.konan.KonanPlatforms import org.jetbrains.kotlin.platform.konan.NativePlatforms
import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.kotlin.resolve.* import org.jetbrains.kotlin.resolve.*
import org.jetbrains.kotlin.resolve.konan.platform.NativePlatformAnalyzerServices import org.jetbrains.kotlin.resolve.konan.platform.NativePlatformAnalyzerServices
@@ -93,7 +93,7 @@ private fun createFakeTopDownAnalyzerForNative(
): LazyTopDownAnalyzer = createContainer("FakeTopDownAnalyzerForNative", NativePlatformAnalyzerServices) { ): LazyTopDownAnalyzer = createContainer("FakeTopDownAnalyzerForNative", NativePlatformAnalyzerServices) {
configureModule( configureModule(
moduleContext, moduleContext,
KonanPlatforms.defaultKonanPlatform, NativePlatforms.defaultNativePlatform,
NativePlatformAnalyzerServices, NativePlatformAnalyzerServices,
bindingTrace, bindingTrace,
languageVersionSettings languageVersionSettings
@@ -46,7 +46,7 @@ import org.jetbrains.kotlin.platform.CommonPlatforms
import org.jetbrains.kotlin.platform.TargetPlatform import org.jetbrains.kotlin.platform.TargetPlatform
import org.jetbrains.kotlin.platform.js.JsPlatforms import org.jetbrains.kotlin.platform.js.JsPlatforms
import org.jetbrains.kotlin.platform.jvm.JvmPlatforms import org.jetbrains.kotlin.platform.jvm.JvmPlatforms
import org.jetbrains.kotlin.platform.konan.KonanPlatforms import org.jetbrains.kotlin.platform.konan.NativePlatforms
import org.jetbrains.kotlin.psi.KtDeclaration import org.jetbrains.kotlin.psi.KtDeclaration
import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.BindingContext
@@ -506,7 +506,7 @@ abstract class BaseDiagnosticsTest : KotlinMultiFileTestWithJava<TestModule, Tes
nameSuffix == "COMMON" -> CommonPlatforms.defaultCommonPlatform nameSuffix == "COMMON" -> CommonPlatforms.defaultCommonPlatform
nameSuffix == "JVM" -> JvmPlatforms.unspecifiedJvmPlatform // TODO(dsavvinov): determine JvmTarget precisely nameSuffix == "JVM" -> JvmPlatforms.unspecifiedJvmPlatform // TODO(dsavvinov): determine JvmTarget precisely
nameSuffix == "JS" -> JsPlatforms.defaultJsPlatform nameSuffix == "JS" -> JsPlatforms.defaultJsPlatform
nameSuffix == "NATIVE" -> KonanPlatforms.defaultKonanPlatform nameSuffix == "NATIVE" -> NativePlatforms.defaultNativePlatform
nameSuffix.isEmpty() -> null // TODO(dsavvinov): this leads to 'null'-platform in ModuleDescriptor nameSuffix.isEmpty() -> null // TODO(dsavvinov): this leads to 'null'-platform in ModuleDescriptor
else -> throw IllegalStateException("Can't determine platform by name $nameSuffix") else -> throw IllegalStateException("Can't determine platform by name $nameSuffix")
} }
@@ -11,7 +11,7 @@ import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl
import org.jetbrains.kotlin.descriptors.konan.* import org.jetbrains.kotlin.descriptors.konan.*
import org.jetbrains.kotlin.descriptors.konan.isInteropLibrary import org.jetbrains.kotlin.descriptors.konan.isInteropLibrary
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.platform.konan.KonanPlatforms import org.jetbrains.kotlin.platform.konan.NativePlatforms
import org.jetbrains.kotlin.resolve.ImplicitIntegerCoercion import org.jetbrains.kotlin.resolve.ImplicitIntegerCoercion
import org.jetbrains.kotlin.storage.StorageManager import org.jetbrains.kotlin.storage.StorageManager
@@ -31,7 +31,7 @@ internal class KlibModuleDescriptorFactoryImpl(val createBuiltIns: (StorageManag
KlibModuleOrigin.CAPABILITY to origin, KlibModuleOrigin.CAPABILITY to origin,
ImplicitIntegerCoercion.MODULE_CAPABILITY to origin.isInteropLibrary() ImplicitIntegerCoercion.MODULE_CAPABILITY to origin.isInteropLibrary()
), ),
platform = KonanPlatforms.defaultKonanPlatform platform = NativePlatforms.defaultNativePlatform
) )
override fun createDescriptorAndNewBuiltIns( override fun createDescriptorAndNewBuiltIns(
@@ -35,8 +35,8 @@ import org.jetbrains.kotlin.platform.idePlatformKind
import org.jetbrains.kotlin.platform.isCommon import org.jetbrains.kotlin.platform.isCommon
import org.jetbrains.kotlin.platform.js.isJs import org.jetbrains.kotlin.platform.js.isJs
import org.jetbrains.kotlin.platform.jvm.JvmPlatform import org.jetbrains.kotlin.platform.jvm.JvmPlatform
import org.jetbrains.kotlin.platform.konan.KonanPlatform import org.jetbrains.kotlin.platform.konan.NativePlatform
import org.jetbrains.kotlin.platform.konan.KonanPlatforms import org.jetbrains.kotlin.platform.konan.NativePlatforms
import org.jetbrains.kotlin.resolve.* import org.jetbrains.kotlin.resolve.*
import org.jetbrains.kotlin.resolve.checkers.ExperimentalMarkerDeclarationAnnotationChecker import org.jetbrains.kotlin.resolve.checkers.ExperimentalMarkerDeclarationAnnotationChecker
import org.jetbrains.kotlin.resolve.jvm.JavaDescriptorResolver import org.jetbrains.kotlin.resolve.jvm.JavaDescriptorResolver
@@ -136,8 +136,8 @@ class CompositeResolverForModuleFactory(
if (targetPlatform.has<JvmPlatform>()) listOf(container.get<JavaDescriptorResolver>().packageFragmentProvider) else emptyList() if (targetPlatform.has<JvmPlatform>()) listOf(container.get<JavaDescriptorResolver>().packageFragmentProvider) else emptyList()
private fun getKonanProvidersIfAny(moduleInfo: ModuleInfo, container: StorageComponentContainer): List<PackageFragmentProvider> { private fun getKonanProvidersIfAny(moduleInfo: ModuleInfo, container: StorageComponentContainer): List<PackageFragmentProvider> {
if (!targetPlatform.has<KonanPlatform>()) return emptyList() if (!targetPlatform.has<NativePlatform>()) return emptyList()
val resolution = KonanPlatforms.defaultKonanPlatform.idePlatformKind.resolution val resolution = NativePlatforms.defaultNativePlatform.idePlatformKind.resolution
val konanProvider = resolution.createPlatformSpecificPackageFragmentProvider( val konanProvider = resolution.createPlatformSpecificPackageFragmentProvider(
moduleInfo, moduleInfo,
@@ -14,7 +14,7 @@ import org.jetbrains.kotlin.platform.TargetPlatform
import org.jetbrains.kotlin.platform.isCommon import org.jetbrains.kotlin.platform.isCommon
import org.jetbrains.kotlin.platform.js.JsPlatform import org.jetbrains.kotlin.platform.js.JsPlatform
import org.jetbrains.kotlin.platform.jvm.JvmPlatform import org.jetbrains.kotlin.platform.jvm.JvmPlatform
import org.jetbrains.kotlin.platform.konan.KonanPlatform import org.jetbrains.kotlin.platform.konan.NativePlatform
import org.jetbrains.kotlin.resolve.* import org.jetbrains.kotlin.resolve.*
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatformAnalyzerServices import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatformAnalyzerServices
import org.jetbrains.kotlin.resolve.konan.platform.NativePlatformAnalyzerServices import org.jetbrains.kotlin.resolve.konan.platform.NativePlatformAnalyzerServices
@@ -30,7 +30,7 @@ fun SimplePlatform.findAnalyzerServices(): PlatformDependentAnalyzerServices {
return when (this) { return when (this) {
is JvmPlatform -> JvmPlatformAnalyzerServices is JvmPlatform -> JvmPlatformAnalyzerServices
is JsPlatform -> JsPlatformAnalyzerServices is JsPlatform -> JsPlatformAnalyzerServices
is KonanPlatform -> NativePlatformAnalyzerServices is NativePlatform -> NativePlatformAnalyzerServices
else -> throw IllegalStateException("Unknown platform $this") else -> throw IllegalStateException("Unknown platform $this")
} }
} }
@@ -10,7 +10,7 @@ import org.jetbrains.kotlin.ide.konan.hasKotlinNativeRuntimeInScope
import org.jetbrains.kotlin.idea.configuration.ConfigureKotlinStatus import org.jetbrains.kotlin.idea.configuration.ConfigureKotlinStatus
import org.jetbrains.kotlin.idea.configuration.KotlinWithGradleConfigurator import org.jetbrains.kotlin.idea.configuration.KotlinWithGradleConfigurator
import org.jetbrains.kotlin.idea.configuration.ModuleSourceRootGroup import org.jetbrains.kotlin.idea.configuration.ModuleSourceRootGroup
import org.jetbrains.kotlin.platform.konan.KonanPlatforms import org.jetbrains.kotlin.platform.konan.NativePlatforms
open class KotlinNativeGradleConfigurator : KotlinWithGradleConfigurator() { open class KotlinNativeGradleConfigurator : KotlinWithGradleConfigurator() {
override fun getKotlinPluginExpression(forKotlinDsl: Boolean): String = "" override fun getKotlinPluginExpression(forKotlinDsl: Boolean): String = ""
@@ -29,10 +29,10 @@ open class KotlinNativeGradleConfigurator : KotlinWithGradleConfigurator() {
override val name: String get() = NAME override val name: String get() = NAME
override val targetPlatform get() = KonanPlatforms.defaultKonanPlatform override val targetPlatform get() = NativePlatforms.defaultNativePlatform
@Suppress("DEPRECATION_ERROR") @Suppress("DEPRECATION_ERROR")
override fun getTargetPlatform() = KonanPlatforms.CompatKonanPlatform override fun getTargetPlatform() = NativePlatforms.CompatNativePlatform
override val presentableText get() = PRESENTABLE_TEXT override val presentableText get() = PRESENTABLE_TEXT
@@ -41,7 +41,7 @@ import org.jetbrains.kotlin.idea.KotlinIdeaGradleBundle;
import org.jetbrains.kotlin.idea.facet.KotlinFacet; import org.jetbrains.kotlin.idea.facet.KotlinFacet;
import org.jetbrains.kotlin.platform.TargetPlatformKt; import org.jetbrains.kotlin.platform.TargetPlatformKt;
import org.jetbrains.kotlin.platform.TargetPlatform; import org.jetbrains.kotlin.platform.TargetPlatform;
import org.jetbrains.kotlin.platform.konan.KonanPlatformKt; import org.jetbrains.kotlin.platform.konan.NativePlatformKt;
import org.jetbrains.plugins.gradle.execution.build.CachedModuleDataFinder; import org.jetbrains.plugins.gradle.execution.build.CachedModuleDataFinder;
import org.jetbrains.plugins.gradle.execution.build.GradleProjectTaskRunner; import org.jetbrains.plugins.gradle.execution.build.GradleProjectTaskRunner;
import org.jetbrains.plugins.gradle.service.project.GradleBuildSrcProjectsResolver; import org.jetbrains.plugins.gradle.service.project.GradleBuildSrcProjectsResolver;
@@ -302,7 +302,7 @@ class KotlinMPPGradleProjectTaskRunner extends ProjectTaskRunner
final TargetPlatform platform = kotlinFacet.getConfiguration().getSettings().getTargetPlatform(); final TargetPlatform platform = kotlinFacet.getConfiguration().getSettings().getTargetPlatform();
if (platform == null) return false; if (platform == null) return false;
return KonanPlatformKt.isNative(platform); return NativePlatformKt.isNative(platform);
} }
private static boolean isCommonProductionSourceModule(Module module) { private static boolean isCommonProductionSourceModule(Module module) {
@@ -39,7 +39,7 @@ import org.jetbrains.kotlin.idea.KotlinIdeaGradleBundle;
import org.jetbrains.kotlin.idea.facet.KotlinFacet; import org.jetbrains.kotlin.idea.facet.KotlinFacet;
import org.jetbrains.kotlin.platform.TargetPlatformKt; import org.jetbrains.kotlin.platform.TargetPlatformKt;
import org.jetbrains.kotlin.platform.TargetPlatform; import org.jetbrains.kotlin.platform.TargetPlatform;
import org.jetbrains.kotlin.platform.konan.KonanPlatformKt; import org.jetbrains.kotlin.platform.konan.NativePlatformKt;
import org.jetbrains.plugins.gradle.execution.build.CachedModuleDataFinder; import org.jetbrains.plugins.gradle.execution.build.CachedModuleDataFinder;
import org.jetbrains.plugins.gradle.execution.build.GradleProjectTaskRunner; import org.jetbrains.plugins.gradle.execution.build.GradleProjectTaskRunner;
import org.jetbrains.plugins.gradle.service.project.GradleBuildSrcProjectsResolver; import org.jetbrains.plugins.gradle.service.project.GradleBuildSrcProjectsResolver;
@@ -299,7 +299,7 @@ class KotlinMPPGradleProjectTaskRunner extends ProjectTaskRunner
final TargetPlatform platform = kotlinFacet.getConfiguration().getSettings().getTargetPlatform(); final TargetPlatform platform = kotlinFacet.getConfiguration().getSettings().getTargetPlatform();
if (platform == null) return false; if (platform == null) return false;
return KonanPlatformKt.isNative(platform); return NativePlatformKt.isNative(platform);
} }
private static boolean isCommonProductionSourceModule(Module module) { private static boolean isCommonProductionSourceModule(Module module) {
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.config.*
import org.jetbrains.kotlin.idea.codeInsight.gradle.MultiplePluginVersionGradleImportingTestCase import org.jetbrains.kotlin.idea.codeInsight.gradle.MultiplePluginVersionGradleImportingTestCase
import org.jetbrains.kotlin.platform.js.JsPlatforms import org.jetbrains.kotlin.platform.js.JsPlatforms
import org.jetbrains.kotlin.platform.jvm.JvmPlatforms import org.jetbrains.kotlin.platform.jvm.JvmPlatforms
import org.jetbrains.kotlin.platform.konan.KonanPlatforms import org.jetbrains.kotlin.platform.konan.NativePlatforms
import org.jetbrains.plugins.gradle.tooling.annotation.PluginTargetVersions import org.jetbrains.plugins.gradle.tooling.annotation.PluginTargetVersions
import org.junit.After import org.junit.After
import org.junit.Before import org.junit.Before
@@ -60,7 +60,7 @@ class HierarchicalMultiplatformProjectImportingTest : MultiplePluginVersionGradl
module("my-app") module("my-app")
module("project.my-app.commonMain") { module("project.my-app.commonMain") {
isHMPP(true) isHMPP(true)
targetPlatform(JsPlatforms.defaultJsPlatform, JvmPlatforms.jvm16, KonanPlatforms.defaultKonanPlatform) targetPlatform(JsPlatforms.defaultJsPlatform, JvmPlatforms.jvm16, NativePlatforms.defaultNativePlatform)
libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${gradleKotlinPluginVersion}", DependencyScope.COMPILE) libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${gradleKotlinPluginVersion}", DependencyScope.COMPILE)
sourceFolder("src/commonMain/kotlin", SourceKotlinRootType) sourceFolder("src/commonMain/kotlin", SourceKotlinRootType)
sourceFolder("src/commonMain/resources", ResourceKotlinRootType) sourceFolder("src/commonMain/resources", ResourceKotlinRootType)
@@ -68,7 +68,7 @@ class HierarchicalMultiplatformProjectImportingTest : MultiplePluginVersionGradl
module("project.my-app.commonTest") { module("project.my-app.commonTest") {
isHMPP(true) isHMPP(true)
targetPlatform(JsPlatforms.defaultJsPlatform, JvmPlatforms.jvm16, KonanPlatforms.defaultKonanPlatform) targetPlatform(JsPlatforms.defaultJsPlatform, JvmPlatforms.jvm16, NativePlatforms.defaultNativePlatform)
libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${gradleKotlinPluginVersion}", DependencyScope.TEST) libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${gradleKotlinPluginVersion}", DependencyScope.TEST)
libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-test-annotations-common:${gradleKotlinPluginVersion}", DependencyScope.TEST) libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-test-annotations-common:${gradleKotlinPluginVersion}", DependencyScope.TEST)
libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-test-common:${gradleKotlinPluginVersion}", DependencyScope.TEST) libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-test-common:${gradleKotlinPluginVersion}", DependencyScope.TEST)
@@ -165,7 +165,7 @@ class HierarchicalMultiplatformProjectImportingTest : MultiplePluginVersionGradl
module("project.my-app.linuxAndJsMain") { module("project.my-app.linuxAndJsMain") {
isHMPP(true) isHMPP(true)
targetPlatform(JsPlatforms.defaultJsPlatform, KonanPlatforms.defaultKonanPlatform) targetPlatform(JsPlatforms.defaultJsPlatform, NativePlatforms.defaultNativePlatform)
libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${gradleKotlinPluginVersion}", DependencyScope.COMPILE) libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${gradleKotlinPluginVersion}", DependencyScope.COMPILE)
moduleDependency("project.my-app.commonMain", DependencyScope.COMPILE) moduleDependency("project.my-app.commonMain", DependencyScope.COMPILE)
sourceFolder("src/linuxAndJsMain/kotlin", SourceKotlinRootType) sourceFolder("src/linuxAndJsMain/kotlin", SourceKotlinRootType)
@@ -174,7 +174,7 @@ class HierarchicalMultiplatformProjectImportingTest : MultiplePluginVersionGradl
module("project.my-app.linuxAndJsTest") { module("project.my-app.linuxAndJsTest") {
isHMPP(true) isHMPP(true)
targetPlatform(JsPlatforms.defaultJsPlatform, KonanPlatforms.defaultKonanPlatform) targetPlatform(JsPlatforms.defaultJsPlatform, NativePlatforms.defaultNativePlatform)
sourceFolder("src/linuxAndJsTest/kotlin", TestSourceKotlinRootType) sourceFolder("src/linuxAndJsTest/kotlin", TestSourceKotlinRootType)
sourceFolder("src/linuxAndJsTest/resources", TestResourceKotlinRootType) sourceFolder("src/linuxAndJsTest/resources", TestResourceKotlinRootType)
libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${gradleKotlinPluginVersion}", DependencyScope.TEST) libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${gradleKotlinPluginVersion}", DependencyScope.TEST)
@@ -187,7 +187,7 @@ class HierarchicalMultiplatformProjectImportingTest : MultiplePluginVersionGradl
module("project.my-app.linuxX64Main") { module("project.my-app.linuxX64Main") {
isHMPP(true) isHMPP(true)
targetPlatform(KonanPlatforms.defaultKonanPlatform) targetPlatform(NativePlatforms.defaultNativePlatform)
libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${gradleKotlinPluginVersion}", DependencyScope.COMPILE) libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${gradleKotlinPluginVersion}", DependencyScope.COMPILE)
libraryDependency("Kotlin/Native ${gradleKotlinPluginVersion} - builtin [linux_x64]", DependencyScope.PROVIDED) libraryDependency("Kotlin/Native ${gradleKotlinPluginVersion} - builtin [linux_x64]", DependencyScope.PROVIDED)
libraryDependency("Kotlin/Native ${gradleKotlinPluginVersion} - iconv [linux_x64]", DependencyScope.PROVIDED) libraryDependency("Kotlin/Native ${gradleKotlinPluginVersion} - iconv [linux_x64]", DependencyScope.PROVIDED)
@@ -203,7 +203,7 @@ class HierarchicalMultiplatformProjectImportingTest : MultiplePluginVersionGradl
module("project.my-app.linuxX64Test") { module("project.my-app.linuxX64Test") {
isHMPP(true) isHMPP(true)
targetPlatform(KonanPlatforms.defaultKonanPlatform) targetPlatform(NativePlatforms.defaultNativePlatform)
libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${gradleKotlinPluginVersion}", DependencyScope.TEST) libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${gradleKotlinPluginVersion}", DependencyScope.TEST)
libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-test-annotations-common:${gradleKotlinPluginVersion}", DependencyScope.TEST) libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-test-annotations-common:${gradleKotlinPluginVersion}", DependencyScope.TEST)
libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-test-common:${gradleKotlinPluginVersion}", DependencyScope.TEST) libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-test-common:${gradleKotlinPluginVersion}", DependencyScope.TEST)
@@ -20,7 +20,7 @@ import org.jetbrains.kotlin.platform.impl.JvmIdePlatformKind
import org.jetbrains.kotlin.platform.js.JsPlatform import org.jetbrains.kotlin.platform.js.JsPlatform
import org.jetbrains.kotlin.platform.jvm.JdkPlatform import org.jetbrains.kotlin.platform.jvm.JdkPlatform
import org.jetbrains.kotlin.platform.jvm.JvmPlatform import org.jetbrains.kotlin.platform.jvm.JvmPlatform
import org.jetbrains.kotlin.platform.konan.KonanPlatform import org.jetbrains.kotlin.platform.konan.NativePlatform
import java.lang.reflect.Modifier import java.lang.reflect.Modifier
import kotlin.reflect.KClass import kotlin.reflect.KClass
import kotlin.reflect.full.superclasses import kotlin.reflect.full.superclasses
@@ -40,7 +40,7 @@ fun TargetPlatform.createArguments(init: (CommonCompilerArguments).() -> Unit =
jvmTarget = (singlePlatform as? JdkPlatform)?.targetVersion?.description ?: JvmTarget.DEFAULT.description jvmTarget = (singlePlatform as? JdkPlatform)?.targetVersion?.description ?: JvmTarget.DEFAULT.description
} }
is JsPlatform -> K2JSCompilerArguments().apply { init() } is JsPlatform -> K2JSCompilerArguments().apply { init() }
is KonanPlatform -> FakeK2NativeCompilerArguments().apply { init() } is NativePlatform -> FakeK2NativeCompilerArguments().apply { init() }
else -> error("Unknown platform $singlePlatform") else -> error("Unknown platform $singlePlatform")
} }
} }
@@ -19,8 +19,8 @@ import org.jetbrains.kotlin.platform.js.JsPlatforms
import org.jetbrains.kotlin.platform.jvm.JdkPlatform import org.jetbrains.kotlin.platform.jvm.JdkPlatform
import org.jetbrains.kotlin.platform.jvm.JvmPlatform import org.jetbrains.kotlin.platform.jvm.JvmPlatform
import org.jetbrains.kotlin.platform.jvm.JvmPlatforms import org.jetbrains.kotlin.platform.jvm.JvmPlatforms
import org.jetbrains.kotlin.platform.konan.KonanPlatform import org.jetbrains.kotlin.platform.konan.NativePlatforms
import org.jetbrains.kotlin.platform.konan.KonanPlatforms import org.jetbrains.kotlin.platform.konan.NativePlatform
typealias OldPlatform = org.jetbrains.kotlin.resolve.TargetPlatform typealias OldPlatform = org.jetbrains.kotlin.resolve.TargetPlatform
typealias NewPlatform = org.jetbrains.kotlin.platform.TargetPlatform typealias NewPlatform = org.jetbrains.kotlin.platform.TargetPlatform
@@ -29,7 +29,7 @@ fun NewPlatform.toOldPlatform(): OldPlatform = when (val single = singleOrNull()
null -> CommonPlatforms.CompatCommonPlatform null -> CommonPlatforms.CompatCommonPlatform
is JvmPlatform -> JvmPlatforms.CompatJvmPlatform is JvmPlatform -> JvmPlatforms.CompatJvmPlatform
is JsPlatform -> JsPlatforms.CompatJsPlatform is JsPlatform -> JsPlatforms.CompatJsPlatform
is KonanPlatform -> KonanPlatforms.CompatKonanPlatform is NativePlatform -> NativePlatforms.CompatNativePlatform
else -> error("Unknown platform $single") else -> error("Unknown platform $single")
} }
@@ -37,7 +37,7 @@ fun OldPlatform.toNewPlatform(): NewPlatform = when (this) {
is CommonPlatforms.CompatCommonPlatform -> this is CommonPlatforms.CompatCommonPlatform -> this
is JvmPlatforms.CompatJvmPlatform -> this is JvmPlatforms.CompatJvmPlatform -> this
is JsPlatforms.CompatJsPlatform -> this is JsPlatforms.CompatJsPlatform -> this
is KonanPlatforms.CompatKonanPlatform -> this is NativePlatforms.CompatNativePlatform -> this
else -> error( else -> error(
"Can't convert org.jetbrains.kotlin.resolve.TargetPlatform to org.jetbrains.kotlin.platform.TargetPlatform: " + "Can't convert org.jetbrains.kotlin.resolve.TargetPlatform to org.jetbrains.kotlin.platform.TargetPlatform: " +
"non-Compat instance passed\n" + "non-Compat instance passed\n" +
@@ -51,7 +51,7 @@ fun IdePlatform<*, *>.toNewPlatform(): NewPlatform = when (this) {
is CommonIdePlatformKind.Platform -> CommonPlatforms.defaultCommonPlatform is CommonIdePlatformKind.Platform -> CommonPlatforms.defaultCommonPlatform
is JvmIdePlatformKind.Platform -> JvmPlatforms.jvmPlatformByTargetVersion(this.version) is JvmIdePlatformKind.Platform -> JvmPlatforms.jvmPlatformByTargetVersion(this.version)
is JsIdePlatformKind.Platform -> JsPlatforms.defaultJsPlatform is JsIdePlatformKind.Platform -> JsPlatforms.defaultJsPlatform
is NativeIdePlatformKind.Platform -> KonanPlatforms.defaultKonanPlatform is NativeIdePlatformKind.Platform -> NativePlatforms.defaultNativePlatform
else -> error("Unknown platform $this") else -> error("Unknown platform $this")
} }
@@ -60,6 +60,6 @@ fun NewPlatform.toIdePlatform(): IdePlatform<*, *> = when (val single = singleOr
is JdkPlatform -> JvmIdePlatformKind.Platform(single.targetVersion) is JdkPlatform -> JvmIdePlatformKind.Platform(single.targetVersion)
is JvmPlatform -> JvmIdePlatformKind.Platform(JvmTarget.DEFAULT) is JvmPlatform -> JvmIdePlatformKind.Platform(JvmTarget.DEFAULT)
is JsPlatform -> JsIdePlatformKind.Platform is JsPlatform -> JsIdePlatformKind.Platform
is KonanPlatform -> NativeIdePlatformKind.Platform is NativePlatform -> NativeIdePlatformKind.Platform
else -> error("Unknown platform $single") else -> error("Unknown platform $single")
} }
@@ -13,14 +13,14 @@ import org.jetbrains.kotlin.platform.IdePlatform
import org.jetbrains.kotlin.platform.IdePlatformKind import org.jetbrains.kotlin.platform.IdePlatformKind
import org.jetbrains.kotlin.platform.TargetPlatform import org.jetbrains.kotlin.platform.TargetPlatform
import org.jetbrains.kotlin.platform.TargetPlatformVersion import org.jetbrains.kotlin.platform.TargetPlatformVersion
import org.jetbrains.kotlin.platform.konan.KonanPlatforms import org.jetbrains.kotlin.platform.konan.NativePlatforms
object NativeIdePlatformKind : IdePlatformKind<NativeIdePlatformKind>() { object NativeIdePlatformKind : IdePlatformKind<NativeIdePlatformKind>() {
override fun supportsTargetPlatform(platform: TargetPlatform): Boolean = platform == KonanPlatforms.defaultKonanPlatform override fun supportsTargetPlatform(platform: TargetPlatform): Boolean = platform == NativePlatforms.defaultNativePlatform
override fun platformByCompilerArguments(arguments: CommonCompilerArguments): TargetPlatform? { override fun platformByCompilerArguments(arguments: CommonCompilerArguments): TargetPlatform? {
return if (arguments is FakeK2NativeCompilerArguments) return if (arguments is FakeK2NativeCompilerArguments)
KonanPlatforms.defaultKonanPlatform NativePlatforms.defaultNativePlatform
else else
null null
} }
@@ -30,7 +30,7 @@ object NativeIdePlatformKind : IdePlatformKind<NativeIdePlatformKind>() {
} }
override val defaultPlatform: TargetPlatform override val defaultPlatform: TargetPlatform
get() = KonanPlatforms.defaultKonanPlatform get() = NativePlatforms.defaultNativePlatform
@Deprecated( @Deprecated(
message = "IdePlatform is deprecated and will be removed soon, please, migrate to org.jetbrains.kotlin.platform.TargetPlatform", message = "IdePlatform is deprecated and will be removed soon, please, migrate to org.jetbrains.kotlin.platform.TargetPlatform",
@@ -21,7 +21,7 @@ import org.jetbrains.kotlin.platform.impl.NativeIdePlatformKind
import org.jetbrains.kotlin.psi.KtFunction import org.jetbrains.kotlin.psi.KtFunction
import org.jetbrains.kotlin.psi.KtNamedDeclaration import org.jetbrains.kotlin.psi.KtNamedDeclaration
import org.jetbrains.kotlin.platform.TargetPlatform import org.jetbrains.kotlin.platform.TargetPlatform
import org.jetbrains.kotlin.platform.konan.KonanPlatforms import org.jetbrains.kotlin.platform.konan.NativePlatforms
import javax.swing.Icon import javax.swing.Icon
class NativeIdePlatformKindTooling : IdePlatformKindTooling() { class NativeIdePlatformKindTooling : IdePlatformKindTooling() {
@@ -59,7 +59,7 @@ class NativeIdePlatformKindTooling : IdePlatformKindTooling() {
object NativeLibraryKind : PersistentLibraryKind<DummyLibraryProperties>("kotlin.native"), KotlinLibraryKind { object NativeLibraryKind : PersistentLibraryKind<DummyLibraryProperties>("kotlin.native"), KotlinLibraryKind {
override val compilerPlatform: TargetPlatform override val compilerPlatform: TargetPlatform
get() = KonanPlatforms.defaultKonanPlatform get() = NativePlatforms.defaultNativePlatform
override fun createDefaultProperties() = DummyLibraryProperties.INSTANCE!! override fun createDefaultProperties() = DummyLibraryProperties.INSTANCE!!
} }
@@ -12,7 +12,7 @@ import com.intellij.openapi.roots.libraries.ui.LibraryEditorComponent
import com.intellij.openapi.vfs.VirtualFile import com.intellij.openapi.vfs.VirtualFile
import org.jetbrains.kotlin.idea.KotlinIcons import org.jetbrains.kotlin.idea.KotlinIcons
import org.jetbrains.kotlin.idea.klib.isKlibLibraryRootForPlatform import org.jetbrains.kotlin.idea.klib.isKlibLibraryRootForPlatform
import org.jetbrains.kotlin.platform.konan.KonanPlatforms import org.jetbrains.kotlin.platform.konan.NativePlatforms
import javax.swing.Icon import javax.swing.Icon
import javax.swing.JComponent import javax.swing.JComponent
@@ -25,7 +25,7 @@ object NativeLibraryType : LibraryType<DummyLibraryProperties>(NativeLibraryKind
// However this does not work for libraries that are to be just created during project build, e.g. C-interop Kotlin/Native KLIBs. // However this does not work for libraries that are to be just created during project build, e.g. C-interop Kotlin/Native KLIBs.
// The code below helps to perform postponed detection of Kotlin/Native libraries. // The code below helps to perform postponed detection of Kotlin/Native libraries.
override fun detect(classesRoots: List<VirtualFile>): DummyLibraryProperties? = override fun detect(classesRoots: List<VirtualFile>): DummyLibraryProperties? =
if (classesRoots.firstOrNull()?.isKlibLibraryRootForPlatform(KonanPlatforms.defaultKonanPlatform) == true) if (classesRoots.firstOrNull()?.isKlibLibraryRootForPlatform(NativePlatforms.defaultNativePlatform) == true)
DummyLibraryProperties.INSTANCE!! DummyLibraryProperties.INSTANCE!!
else null else null
@@ -38,10 +38,10 @@ import org.jetbrains.kotlin.konan.util.KlibMetadataFactories
import org.jetbrains.kotlin.library.isInterop import org.jetbrains.kotlin.library.isInterop
import org.jetbrains.kotlin.platform.TargetPlatform import org.jetbrains.kotlin.platform.TargetPlatform
import org.jetbrains.kotlin.platform.impl.NativeIdePlatformKind import org.jetbrains.kotlin.platform.impl.NativeIdePlatformKind
import org.jetbrains.kotlin.platform.konan.KonanPlatforms
import org.jetbrains.kotlin.resolve.ImplicitIntegerCoercion import org.jetbrains.kotlin.resolve.ImplicitIntegerCoercion
import org.jetbrains.kotlin.resolve.TargetEnvironment import org.jetbrains.kotlin.resolve.TargetEnvironment
import org.jetbrains.kotlin.library.metadata.NullFlexibleTypeDeserializer import org.jetbrains.kotlin.library.metadata.NullFlexibleTypeDeserializer
import org.jetbrains.kotlin.platform.konan.NativePlatforms
import org.jetbrains.kotlin.serialization.konan.impl.KlibMetadataModuleDescriptorFactoryImpl import org.jetbrains.kotlin.serialization.konan.impl.KlibMetadataModuleDescriptorFactoryImpl
import org.jetbrains.kotlin.storage.StorageManager import org.jetbrains.kotlin.storage.StorageManager
@@ -64,7 +64,7 @@ class NativePlatformKindResolution : IdePlatformKindResolution {
createNativeKlibPackageFragmentProvider(moduleInfo, storageManager, languageVersionSettings, moduleDescriptor) createNativeKlibPackageFragmentProvider(moduleInfo, storageManager, languageVersionSettings, moduleDescriptor)
override fun isLibraryFileForPlatform(virtualFile: VirtualFile): Boolean = override fun isLibraryFileForPlatform(virtualFile: VirtualFile): Boolean =
virtualFile.isKlibLibraryRootForPlatform(KonanPlatforms.defaultKonanPlatform) virtualFile.isKlibLibraryRootForPlatform(NativePlatforms.defaultNativePlatform)
override fun createResolverForModuleFactory( override fun createResolverForModuleFactory(
settings: PlatformAnalysisParameters, settings: PlatformAnalysisParameters,
@@ -168,5 +168,5 @@ class NativeKlibLibraryInfo(project: Project, library: Library, libraryRoot: Str
} }
override val platform: TargetPlatform override val platform: TargetPlatform
get() = KonanPlatforms.defaultKonanPlatform get() = NativePlatforms.defaultNativePlatform
} }
@@ -14,13 +14,12 @@ import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl
import org.jetbrains.kotlin.frontend.di.createContainerForLazyResolve import org.jetbrains.kotlin.frontend.di.createContainerForLazyResolve
import org.jetbrains.kotlin.ide.konan.NativePlatformKindResolution.Companion.createNativeKlibPackageFragmentProvider import org.jetbrains.kotlin.ide.konan.NativePlatformKindResolution.Companion.createNativeKlibPackageFragmentProvider
import org.jetbrains.kotlin.platform.TargetPlatform import org.jetbrains.kotlin.platform.TargetPlatform
import org.jetbrains.kotlin.platform.konan.KonanPlatforms import org.jetbrains.kotlin.platform.konan.NativePlatforms
import org.jetbrains.kotlin.resolve.CodeAnalyzerInitializer import org.jetbrains.kotlin.resolve.CodeAnalyzerInitializer
import org.jetbrains.kotlin.resolve.TargetEnvironment import org.jetbrains.kotlin.resolve.TargetEnvironment
import org.jetbrains.kotlin.resolve.konan.platform.NativePlatformAnalyzerServices import org.jetbrains.kotlin.resolve.konan.platform.NativePlatformAnalyzerServices
import org.jetbrains.kotlin.resolve.lazy.ResolveSession import org.jetbrains.kotlin.resolve.lazy.ResolveSession
import org.jetbrains.kotlin.resolve.lazy.declarations.DeclarationProviderFactoryService.Companion.createDeclarationProviderFactory import org.jetbrains.kotlin.resolve.lazy.declarations.DeclarationProviderFactoryService.Companion.createDeclarationProviderFactory
import org.jetbrains.kotlin.utils.addIfNotNull
class NativeResolverForModuleFactory( class NativeResolverForModuleFactory(
private val platformAnalysisParameters: PlatformAnalysisParameters, private val platformAnalysisParameters: PlatformAnalysisParameters,
@@ -47,7 +46,7 @@ class NativeResolverForModuleFactory(
moduleContext, moduleContext,
declarationProviderFactory, declarationProviderFactory,
CodeAnalyzerInitializer.getInstance(moduleContext.project).createTrace(), CodeAnalyzerInitializer.getInstance(moduleContext.project).createTrace(),
KonanPlatforms.defaultKonanPlatform, NativePlatforms.defaultNativePlatform,
NativePlatformAnalyzerServices, NativePlatformAnalyzerServices,
targetEnvironment, targetEnvironment,
languageVersionSettings languageVersionSettings
@@ -21,7 +21,7 @@ import org.jetbrains.kotlin.platform.isCommon
import org.jetbrains.kotlin.platform.js.JsPlatforms import org.jetbrains.kotlin.platform.js.JsPlatforms
import org.jetbrains.kotlin.platform.jvm.JvmPlatforms import org.jetbrains.kotlin.platform.jvm.JvmPlatforms
import org.jetbrains.kotlin.platform.jvm.isJvm import org.jetbrains.kotlin.platform.jvm.isJvm
import org.jetbrains.kotlin.platform.konan.KonanPlatforms import org.jetbrains.kotlin.platform.konan.NativePlatforms
import java.io.File import java.io.File
import kotlin.reflect.KMutableProperty1 import kotlin.reflect.KMutableProperty1
import kotlin.reflect.full.findAnnotation import kotlin.reflect.full.findAnnotation
@@ -264,7 +264,7 @@ class ModulesTxtBuilder {
"js" -> settings.compilerArguments = "js" -> settings.compilerArguments =
K2JSCompilerArguments().also { settings.targetPlatform = JsPlatforms.defaultJsPlatform } K2JSCompilerArguments().also { settings.targetPlatform = JsPlatforms.defaultJsPlatform }
"native" -> settings.compilerArguments = "native" -> settings.compilerArguments =
FakeK2NativeCompilerArguments().also { settings.targetPlatform = KonanPlatforms.defaultKonanPlatform } FakeK2NativeCompilerArguments().also { settings.targetPlatform = NativePlatforms.defaultNativePlatform }
else -> { else -> {
val flagProperty = ModulesTxt.Module.flags[flag] val flagProperty = ModulesTxt.Module.flags[flag]
if (flagProperty != null) flagProperty.set(module, true) if (flagProperty != null) flagProperty.set(module, true)