From 26a6ce9a318d9ab8bc79a0fc66ccbb4e3c8d5b50 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Thu, 10 Nov 2016 15:59:58 +0300 Subject: [PATCH] Rename JVMPlatform and JSPlatform and make them nested in TargetPlatformKind To avoid confusion with JvmPlatform and JsPlatform from frontend.java and js.frontend respectively --- .../kotlin/config/KotlinFacetSettings.kt | 22 +++++++------- .../KotlinCompilerConfigurableTab.java | 3 +- ...kLibraryValidatorWithDynamicDescription.kt | 8 ++--- .../jetbrains/kotlin/idea/facet/facetUtils.kt | 29 ++++++++++--------- .../kotlin/jps/JpsKotlinCompilerSettings.kt | 4 +-- 5 files changed, 32 insertions(+), 34 deletions(-) diff --git a/idea/idea-jps-common/src/org/jetbrains/kotlin/config/KotlinFacetSettings.kt b/idea/idea-jps-common/src/org/jetbrains/kotlin/config/KotlinFacetSettings.kt index cd46c54c965..95d55226229 100644 --- a/idea/idea-jps-common/src/org/jetbrains/kotlin/config/KotlinFacetSettings.kt +++ b/idea/idea-jps-common/src/org/jetbrains/kotlin/config/KotlinFacetSettings.kt @@ -31,8 +31,18 @@ sealed class TargetPlatformKind( ) : DescriptionAware { override val description = "$name ${version.description}" + class Jvm(version: JvmTarget) : TargetPlatformKind(version, "JVM") { + companion object { + val JVM_PLATFORMS by lazy { JvmTarget.values().map(::Jvm) } + + operator fun get(version: JvmTarget) = JVM_PLATFORMS[version.ordinal] + } + } + + object JavaScript : TargetPlatformKind(NoVersion, "JavaScript") + companion object { - val ALL_PLATFORMS: List> by lazy { JVMPlatform.JVM_PLATFORMS + JSPlatform } + val ALL_PLATFORMS: List> by lazy { Jvm.JVM_PLATFORMS + JavaScript } } } @@ -40,16 +50,6 @@ object NoVersion : DescriptionAware { override val description = "" } -class JVMPlatform(version: JvmTarget) : TargetPlatformKind(version, "JVM") { - companion object { - val JVM_PLATFORMS by lazy { JvmTarget.values().map(::JVMPlatform) } - - operator fun get(version: JvmTarget) = JVM_PLATFORMS[version.ordinal] - } -} - -object JSPlatform : TargetPlatformKind(NoVersion, "JavaScript") - data class KotlinVersionInfo( var languageLevel: LanguageVersion? = null, var apiLevel: LanguageVersion? = null, diff --git a/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerConfigurableTab.java b/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerConfigurableTab.java index ad515b45bf4..40d586540eb 100644 --- a/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerConfigurableTab.java +++ b/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerConfigurableTab.java @@ -36,7 +36,6 @@ import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments; import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments; import org.jetbrains.kotlin.cli.common.arguments.K2JsArgumentConstants; import org.jetbrains.kotlin.config.CompilerSettings; -import org.jetbrains.kotlin.config.JSPlatform; import org.jetbrains.kotlin.config.TargetPlatformKind; import org.jetbrains.kotlin.idea.KotlinBundle; import org.jetbrains.kotlin.idea.PluginStartupComponent; @@ -122,7 +121,7 @@ public class KotlinCompilerConfigurableTab implements SearchableConfigurable, Co } public void setTargetPlatform(@Nullable TargetPlatformKind targetPlatform) { - k2jsPanel.setVisible(JSPlatform.INSTANCE.equals(targetPlatform)); + k2jsPanel.setVisible(TargetPlatformKind.JavaScript.INSTANCE.equals(targetPlatform)); } @SuppressWarnings("unused") diff --git a/idea/src/org/jetbrains/kotlin/idea/facet/FrameworkLibraryValidatorWithDynamicDescription.kt b/idea/src/org/jetbrains/kotlin/idea/facet/FrameworkLibraryValidatorWithDynamicDescription.kt index b0614f20b16..18c451d388e 100644 --- a/idea/src/org/jetbrains/kotlin/idea/facet/FrameworkLibraryValidatorWithDynamicDescription.kt +++ b/idea/src/org/jetbrains/kotlin/idea/facet/FrameworkLibraryValidatorWithDynamicDescription.kt @@ -25,8 +25,6 @@ import com.intellij.ide.IdeBundle import com.intellij.openapi.roots.ui.configuration.libraries.AddCustomLibraryDialog import com.intellij.openapi.roots.ui.configuration.libraries.CustomLibraryDescription import com.intellij.openapi.roots.ui.configuration.libraries.LibraryPresentationManager -import org.jetbrains.kotlin.config.JSPlatform -import org.jetbrains.kotlin.config.JVMPlatform import org.jetbrains.kotlin.config.TargetPlatformKind import org.jetbrains.kotlin.idea.framework.JSLibraryStdDescription import org.jetbrains.kotlin.idea.framework.JavaRuntimeLibraryDescription @@ -43,8 +41,8 @@ class FrameworkLibraryValidatorWithDynamicDescription( get() { val project = context.module.project return when (this) { - is JVMPlatform -> JavaRuntimeLibraryDescription(project) - is JSPlatform -> JSLibraryStdDescription(project) + is TargetPlatformKind.Jvm -> JavaRuntimeLibraryDescription(project) + is TargetPlatformKind.JavaScript -> JSLibraryStdDescription(project) } } @@ -89,4 +87,4 @@ class FrameworkLibraryValidatorWithDynamicDescription( validatorsManager.validate() } } -} \ No newline at end of file +} diff --git a/idea/src/org/jetbrains/kotlin/idea/facet/facetUtils.kt b/idea/src/org/jetbrains/kotlin/idea/facet/facetUtils.kt index b42dbe2b4ca..9f2d03e4152 100644 --- a/idea/src/org/jetbrains/kotlin/idea/facet/facetUtils.kt +++ b/idea/src/org/jetbrains/kotlin/idea/facet/facetUtils.kt @@ -24,7 +24,10 @@ import com.intellij.openapi.roots.ModuleRootManager import com.intellij.openapi.roots.ModuleRootModel import com.intellij.util.text.VersionComparatorUtil import org.jetbrains.kotlin.cli.common.arguments.copyBean -import org.jetbrains.kotlin.config.* +import org.jetbrains.kotlin.config.JvmTarget +import org.jetbrains.kotlin.config.KotlinFacetSettings +import org.jetbrains.kotlin.config.LanguageVersion +import org.jetbrains.kotlin.config.TargetPlatformKind import org.jetbrains.kotlin.idea.compiler.configuration.Kotlin2JsCompilerArgumentsHolder import org.jetbrains.kotlin.idea.compiler.configuration.KotlinCommonCompilerArgumentsHolder import org.jetbrains.kotlin.idea.compiler.configuration.KotlinCompilerSettings @@ -41,8 +44,8 @@ private fun getRuntimeLibraryVersions( targetPlatform: TargetPlatformKind<*> ): Collection { val presentationProvider = when (targetPlatform) { - is JSPlatform -> JSLibraryStdPresentationProvider.getInstance() - is JVMPlatform -> JavaRuntimePresentationProvider.getInstance() + is TargetPlatformKind.JavaScript -> JSLibraryStdPresentationProvider.getInstance() + is TargetPlatformKind.Jvm -> JavaRuntimePresentationProvider.getInstance() } KotlinVersionInfoProvider.EP_NAME @@ -60,15 +63,15 @@ private fun getRuntimeLibraryVersions( } private fun getDefaultTargetPlatform(module: Module, rootModel: ModuleRootModel?): TargetPlatformKind<*> { - if (getRuntimeLibraryVersions(module, rootModel, JSPlatform).any()) { - return JSPlatform + if (getRuntimeLibraryVersions(module, rootModel, TargetPlatformKind.JavaScript).any()) { + return TargetPlatformKind.JavaScript } val sdk = ((rootModel ?: ModuleRootManager.getInstance(module))).sdk val sdkVersion = (sdk?.sdkType as? JavaSdk)?.getVersion(sdk!!) return when { - sdkVersion != null && sdkVersion <= JavaSdkVersion.JDK_1_6 -> JVMPlatform[JvmTarget.JVM_1_6] - else -> JVMPlatform[JvmTarget.JVM_1_8] + sdkVersion != null && sdkVersion <= JavaSdkVersion.JDK_1_6 -> TargetPlatformKind.Jvm[JvmTarget.JVM_1_6] + else -> TargetPlatformKind.Jvm[JvmTarget.JVM_1_8] } } @@ -92,7 +95,7 @@ internal fun getLibraryLanguageLevel( rootModel: ModuleRootModel?, targetPlatform: TargetPlatformKind<*>? ): LanguageVersion { - val minVersion = getRuntimeLibraryVersions(module, rootModel, targetPlatform ?: JVMPlatform[JvmTarget.JVM_1_8]) + val minVersion = getRuntimeLibraryVersions(module, rootModel, targetPlatform ?: TargetPlatformKind.Jvm[JvmTarget.JVM_1_8]) .minWith(VersionComparatorUtil.COMPARATOR) return getDefaultLanguageLevel(module, minVersion) } @@ -130,9 +133,7 @@ internal fun KotlinFacetSettings.initializeIfNeeded(module: Module, rootModel: M } val TargetPlatformKind<*>.mavenLibraryId: String - get() { - return when (this) { - is JVMPlatform -> KotlinJavaMavenConfigurator.STD_LIB_ID - is JSPlatform -> KotlinJavascriptMavenConfigurator.STD_LIB_ID - } - } \ No newline at end of file + get() = when (this) { + is TargetPlatformKind.Jvm -> KotlinJavaMavenConfigurator.STD_LIB_ID + is TargetPlatformKind.JavaScript -> KotlinJavascriptMavenConfigurator.STD_LIB_ID + } diff --git a/jps-plugin/src/org/jetbrains/kotlin/jps/JpsKotlinCompilerSettings.kt b/jps-plugin/src/org/jetbrains/kotlin/jps/JpsKotlinCompilerSettings.kt index d8031eb4999..6b0f860732d 100644 --- a/jps-plugin/src/org/jetbrains/kotlin/jps/JpsKotlinCompilerSettings.kt +++ b/jps-plugin/src/org/jetbrains/kotlin/jps/JpsKotlinCompilerSettings.kt @@ -25,7 +25,7 @@ import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments import org.jetbrains.kotlin.cli.common.arguments.copyBean import org.jetbrains.kotlin.config.CompilerSettings -import org.jetbrains.kotlin.config.JVMPlatform +import org.jetbrains.kotlin.config.TargetPlatformKind import org.jetbrains.kotlin.jps.model.kotlinFacetExtension class JpsKotlinCompilerSettings : JpsElementBase() { @@ -78,7 +78,7 @@ class JpsKotlinCompilerSettings : JpsElementBase() { fun getK2JvmCompilerArguments(module: JpsModule): K2JVMCompilerArguments { val defaultArguments = getSettings(module.project).k2JvmCompilerArguments val facetSettings = module.kotlinFacetExtension?.settings ?: return defaultArguments - val targetPlatform = facetSettings.versionInfo.targetPlatformKind as? JVMPlatform ?: return defaultArguments + val targetPlatform = facetSettings.versionInfo.targetPlatformKind as? TargetPlatformKind.Jvm ?: return defaultArguments return copyBean(defaultArguments).apply { jvmTarget = targetPlatform.version.description }