diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/project/Platform.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/project/Platform.kt index 1a62ac4b45c..5919ae3daea 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/project/Platform.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/project/Platform.kt @@ -136,18 +136,7 @@ fun Project.getLanguageVersionSettings( compilerSettings.additionalArgumentsAsList ) - val extraLanguageFeatures = additionalArguments.configureLanguageFeatures(MessageCollector.NONE).apply { - configureCoroutinesSupport( - CoroutineSupport.byCompilerArguments(KotlinCommonCompilerArgumentsHolder.getInstance(this@getLanguageVersionSettings).settings), - languageVersion - ) - if (isReleaseCoroutines != null) { - put( - LanguageFeature.ReleaseCoroutines, - if (isReleaseCoroutines) LanguageFeature.State.ENABLED else LanguageFeature.State.DISABLED - ) - } - } + val extraLanguageFeatures = additionalArguments.configureLanguageFeatures(MessageCollector.NONE) val extraAnalysisFlags = additionalArguments.configureAnalysisFlags(MessageCollector.NONE).apply { if (javaTypeEnhancementState != null) put(JvmAnalysisFlags.javaTypeEnhancementState, javaTypeEnhancementState) @@ -228,7 +217,6 @@ private fun Module.computeLanguageVersionSettings(): LanguageVersionSettings { } val languageFeatures = facetSettings?.mergedCompilerArguments?.configureLanguageFeatures(MessageCollector.NONE)?.apply { - configureCoroutinesSupport(facetSettings.coroutineSupport, languageVersion) configureMultiplatformSupport(facetSettings.targetPlatform?.idePlatformKind, this@computeLanguageVersionSettings) }.orEmpty() @@ -281,18 +269,6 @@ private fun parseArguments( return platformKind.createArguments { parseCommandLineArguments(additionalArguments, this) } } -fun MutableMap.configureCoroutinesSupport( - coroutineSupport: LanguageFeature.State?, - languageVersion: LanguageVersion -) { - val state = if (languageVersion >= LanguageVersion.KOTLIN_1_3) { - LanguageFeature.State.ENABLED - } else { - coroutineSupport ?: LanguageFeature.Coroutines.defaultState - } - put(LanguageFeature.Coroutines, state) -} - fun MutableMap.configureMultiplatformSupport( platformKind: IdePlatformKind<*>?, module: Module? diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt index 7769a937a51..a4ac279f0f4 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt @@ -185,26 +185,6 @@ class GradleFacetImportTest : GradleImportingTestCase() { ) } - @Test - fun testCoroutineImportByOptions() { - configureByFiles() - importProject() - - with(facetSettings) { - Assert.assertEquals(LanguageFeature.State.ENABLED, coroutineSupport) - } - } - - @Test - fun testCoroutineImportByProperties() { - configureByFiles() - importProject() - - with(facetSettings) { - Assert.assertEquals(LanguageFeature.State.ENABLED, coroutineSupport) - } - } - @Test fun testJsImport() { configureByFiles() 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 372eb485866..a7936542f98 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 @@ -275,21 +275,6 @@ class KotlinFacetSettings { return targetPlatform?.toIdePlatform() } - var coroutineSupport: LanguageFeature.State? - get() { - val languageVersion = languageLevel ?: return LanguageFeature.Coroutines.defaultState - if (languageVersion < LanguageFeature.Coroutines.sinceVersion!!) return LanguageFeature.State.DISABLED - return CoroutineSupport.byCompilerArgumentsOrNull(compilerArguments) - } - set(value) { - compilerArguments?.coroutinesState = when (value) { - null -> CommonCompilerArguments.DEFAULT - LanguageFeature.State.ENABLED -> CommonCompilerArguments.ENABLE - LanguageFeature.State.ENABLED_WITH_WARNING -> CommonCompilerArguments.WARN - LanguageFeature.State.ENABLED_WITH_ERROR, LanguageFeature.State.DISABLED -> CommonCompilerArguments.ERROR - } - } - var implementedModuleNames: List = emptyList() // used for first implementation of MPP, aka 'old' MPP var dependsOnModuleNames: List = emptyList() // used for New MPP and later implementations diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/configuration/KotlinWithLibraryConfigurator.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/configuration/KotlinWithLibraryConfigurator.kt index 993dbe513e8..ed06c5d4572 100644 --- a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/configuration/KotlinWithLibraryConfigurator.kt +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/configuration/KotlinWithLibraryConfigurator.kt @@ -357,7 +357,6 @@ abstract class KotlinWithLibraryConfigurator protected constructor() : KotlinPro val facetSettings = KotlinFacetSettingsProvider.getInstance(module.project)?.getInitializedSettings(module) if (facetSettings != null) { ModuleRootModificationUtil.updateModel(module) { - facetSettings.coroutineSupport = state facetSettings.apiLevel = LanguageVersion.KOTLIN_1_1 facetSettings.languageLevel = LanguageVersion.KOTLIN_1_1 } diff --git a/idea/idea-maven/test/org/jetbrains/kotlin/idea/maven/KotlinMavenImporterTest.kt b/idea/idea-maven/test/org/jetbrains/kotlin/idea/maven/KotlinMavenImporterTest.kt index debbbc86483..32b6bc60840 100644 --- a/idea/idea-maven/test/org/jetbrains/kotlin/idea/maven/KotlinMavenImporterTest.kt +++ b/idea/idea-maven/test/org/jetbrains/kotlin/idea/maven/KotlinMavenImporterTest.kt @@ -625,7 +625,6 @@ class KotlinMavenImporterTest : MavenImportingTestCase() { Assert.assertFalse(compilerArguments!!.autoAdvanceLanguageVersion) Assert.assertFalse(compilerArguments!!.autoAdvanceApiVersion) Assert.assertEquals(true, compilerArguments!!.suppressWarnings) - Assert.assertEquals(LanguageFeature.State.ENABLED, coroutineSupport) Assert.assertEquals("JVM 1.8", targetPlatform!!.oldFashionedDescription) Assert.assertEquals("1.8", (compilerArguments as K2JVMCompilerArguments).jvmTarget) Assert.assertEquals("foobar.jar", (compilerArguments as K2JVMCompilerArguments).classpath) @@ -821,7 +820,6 @@ class KotlinMavenImporterTest : MavenImportingTestCase() { Assert.assertFalse(compilerArguments!!.autoAdvanceLanguageVersion) Assert.assertFalse(compilerArguments!!.autoAdvanceApiVersion) Assert.assertEquals(true, compilerArguments!!.suppressWarnings) - Assert.assertEquals(LanguageFeature.State.ENABLED, coroutineSupport) Assert.assertTrue(targetPlatform.isJs()) with(compilerArguments as K2JSCompilerArguments) { Assert.assertEquals(true, sourceMap) @@ -976,7 +974,6 @@ class KotlinMavenImporterTest : MavenImportingTestCase() { Assert.assertEquals("1.0", apiLevel!!.versionString) Assert.assertEquals("1.0", compilerArguments!!.apiVersion) Assert.assertEquals(true, compilerArguments!!.suppressWarnings) - Assert.assertEquals(LanguageFeature.State.ENABLED, coroutineSupport) Assert.assertEquals("JVM 1.8", targetPlatform!!.oldFashionedDescription) Assert.assertEquals("1.8", (compilerArguments as K2JVMCompilerArguments).jvmTarget) Assert.assertEquals("foobar.jar", (compilerArguments as K2JVMCompilerArguments).classpath) @@ -1039,7 +1036,6 @@ class KotlinMavenImporterTest : MavenImportingTestCase() { with(facetSettings) { Assert.assertEquals("JVM 1.8", targetPlatform!!.oldFashionedDescription) Assert.assertEquals("1.8", (compilerArguments as K2JVMCompilerArguments).jvmTarget) - Assert.assertEquals(LanguageFeature.State.ENABLED, coroutineSupport) Assert.assertEquals("c:/program files/jdk1.8", (compilerArguments as K2JVMCompilerArguments).classpath) } } @@ -1095,7 +1091,6 @@ class KotlinMavenImporterTest : MavenImportingTestCase() { with(facetSettings) { Assert.assertEquals("JVM 1.8", targetPlatform!!.oldFashionedDescription) Assert.assertEquals("1.8", (compilerArguments as K2JVMCompilerArguments).jvmTarget) - Assert.assertEquals(LanguageFeature.State.ENABLED, coroutineSupport) Assert.assertEquals("c:/program files/jdk1.8", (compilerArguments as K2JVMCompilerArguments).classpath) } } @@ -3047,4 +3042,4 @@ class KotlinMavenImporterTest : MavenImportingTestCase() { private val facetSettings: KotlinFacetSettings get() = facetSettings("project") -} \ 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 38b2cef7790..fddbda66d62 100644 --- a/idea/src/org/jetbrains/kotlin/idea/facet/facetUtils.kt +++ b/idea/src/org/jetbrains/kotlin/idea/facet/facetUtils.kt @@ -187,7 +187,6 @@ fun KotlinFacet.configureFacet( if (languageLevel != null && apiLevel != null && apiLevel > languageLevel) { this.apiLevel = languageLevel } - this.coroutineSupport = if (languageLevel != null && languageLevel < LanguageVersion.KOTLIN_1_3) coroutineSupport else null this.pureKotlinSourceFolders = pureKotlinSourceFolders } diff --git a/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/MultiModuleHighlightingTest.kt b/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/MultiModuleHighlightingTest.kt index bf52b8f41bf..5eddff1babc 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/MultiModuleHighlightingTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/MultiModuleHighlightingTest.kt @@ -273,13 +273,11 @@ open class MultiModuleHighlightingTest : AbstractMultiModuleHighlightingTest() { ) val moduleNew = module("moduleNew").setupKotlinFacet { - settings.coroutineSupport = LanguageFeature.State.ENABLED settings.languageLevel = LanguageVersion.KOTLIN_1_3 settings.apiLevel = LanguageVersion.KOTLIN_1_3 } val moduleOld = module("moduleOld").setupKotlinFacet { - settings.coroutineSupport = LanguageFeature.State.ENABLED settings.languageLevel = LanguageVersion.KOTLIN_1_2 settings.apiLevel = LanguageVersion.KOTLIN_1_2 } diff --git a/idea/tests/org/jetbrains/kotlin/idea/quickfix/UpdateConfigurationQuickFixTest.kt b/idea/tests/org/jetbrains/kotlin/idea/quickfix/UpdateConfigurationQuickFixTest.kt index 7a8c4b44f08..d07f4bae94a 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/quickfix/UpdateConfigurationQuickFixTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/quickfix/UpdateConfigurationQuickFixTest.kt @@ -79,30 +79,6 @@ class UpdateConfigurationQuickFixTest : KotlinLightPlatformCodeInsightFixtureTes assertEquals(LanguageFeature.State.ENABLED_WITH_ERROR, coroutineSupport) } - fun testEnableCoroutinesFacet() { - configureRuntime("mockRuntime11") - val facet = configureKotlinFacet(module) { - settings.languageLevel = LanguageVersion.KOTLIN_1_1 - } - resetProjectSettings(LanguageVersion.KOTLIN_1_1) - myFixture.configureByText("foo.kt", "suspend fun foo()") - - assertEquals(LanguageFeature.State.ENABLED_WITH_WARNING, facet.configuration.settings.coroutineSupport) - myFixture.launchAction(myFixture.findSingleIntention("Enable coroutine support in the current module")) - assertEquals(LanguageFeature.State.ENABLED, facet.configuration.settings.coroutineSupport) - } - - fun testEnableCoroutines_UpdateRuntime() { - configureRuntime("mockRuntime106") - resetProjectSettings(LanguageVersion.KOTLIN_1_1) - myFixture.configureByText("foo.kt", "suspend fun foo()") - - assertEquals(LanguageFeature.State.ENABLED_WITH_WARNING, coroutineSupport) - myFixture.launchAction(myFixture.findSingleIntention("Enable coroutine support in the project")) - assertEquals(LanguageFeature.State.ENABLED, coroutineSupport) - assertEquals(bundledRuntimeVersion(), getRuntimeLibraryVersion(myFixture.module)) - } - fun testIncreaseLangLevel() { configureRuntime("mockRuntime11") resetProjectSettings(LanguageVersion.KOTLIN_1_0) diff --git a/idea/tests/org/jetbrains/kotlin/idea/stubs/AbstractMultiModuleTest.kt b/idea/tests/org/jetbrains/kotlin/idea/stubs/AbstractMultiModuleTest.kt index f74071338f3..0a46a4ef891 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/stubs/AbstractMultiModuleTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/stubs/AbstractMultiModuleTest.kt @@ -135,7 +135,6 @@ abstract class AbstractMultiModuleTest : DaemonAnalyzerTestCase() { ?: error("Facet settings are not found") facetSettings.useProjectSettings = false - facetSettings.coroutineSupport = LanguageFeature.State.ENABLED } protected fun checkFiles(