[IDE] Drop coroutines KotlinFacetSettings.coroutineSupport
This commit is contained in:
committed by
TeamCityServer
parent
69e1d60b08
commit
a8b65bc673
@@ -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<LanguageFeature, LanguageFeature.State>.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<LanguageFeature, LanguageFeature.State>.configureMultiplatformSupport(
|
||||
platformKind: IdePlatformKind<*>?,
|
||||
module: Module?
|
||||
|
||||
-20
@@ -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()
|
||||
|
||||
@@ -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<String> = emptyList() // used for first implementation of MPP, aka 'old' MPP
|
||||
var dependsOnModuleNames: List<String> = emptyList() // used for New MPP and later implementations
|
||||
|
||||
|
||||
-1
@@ -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
|
||||
}
|
||||
|
||||
@@ -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")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user