From d01eed9849f922c8ae5e2891d00e2e5ad804a816 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Wed, 1 Mar 2017 19:23:14 +0300 Subject: [PATCH] Move JvmTarget to frontend.java, introduce TargetPlatformVersion Previously JvmTarget was declared in module 'util' which is accessible for example from 'frontend', which is not very good. Also add a superinterface named TargetPlatformVersion which is going to be used in platform-independent injectors in 'frontend' in the following commits. Use it in one place (LanguageVersionSettingsProviderImpl.kt) instead of DescriptionAware because TargetPlatformVersion sounds like a better abstraction than DescriptionAware here Original commit: 573c6ab5d497a5f2866c7bf5e6d354baf967a7e9 --- jps/jps-common/idea-jps-common.iml | 1 + .../org/jetbrains/kotlin/config/KotlinFacetSettings.kt | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/jps/jps-common/idea-jps-common.iml b/jps/jps-common/idea-jps-common.iml index e38866647e8..8f2dd089f68 100644 --- a/jps/jps-common/idea-jps-common.iml +++ b/jps/jps-common/idea-jps-common.iml @@ -12,5 +12,6 @@ + \ No newline at end of file diff --git a/jps/jps-common/src/org/jetbrains/kotlin/config/KotlinFacetSettings.kt b/jps/jps-common/src/org/jetbrains/kotlin/config/KotlinFacetSettings.kt index 8dafa4c77e5..392af29446b 100644 --- a/jps/jps-common/src/org/jetbrains/kotlin/config/KotlinFacetSettings.kt +++ b/jps/jps-common/src/org/jetbrains/kotlin/config/KotlinFacetSettings.kt @@ -25,7 +25,7 @@ import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments import org.jetbrains.kotlin.cli.common.arguments.K2MetadataCompilerArguments import org.jetbrains.kotlin.utils.DescriptionAware -sealed class TargetPlatformKind( +sealed class TargetPlatformKind( val version: Version, val name: String ) : DescriptionAware { @@ -39,9 +39,9 @@ sealed class TargetPlatformKind( } } - object JavaScript : TargetPlatformKind(DescriptionAware.NoVersion, "JavaScript") + object JavaScript : TargetPlatformKind(TargetPlatformVersion.NoVersion, "JavaScript") - object Common : TargetPlatformKind(DescriptionAware.NoVersion, "Common (experimental)") + object Common : TargetPlatformKind(TargetPlatformVersion.NoVersion, "Common (experimental)") companion object { val ALL_PLATFORMS: List> by lazy { Jvm.JVM_PLATFORMS + JavaScript + Common } @@ -141,4 +141,4 @@ interface KotlinFacetSettingsProvider { companion object { fun getInstance(project: Project) = ServiceManager.getService(project, KotlinFacetSettingsProvider::class.java)!! } -} \ No newline at end of file +}