[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
|
compilerSettings.additionalArgumentsAsList
|
||||||
)
|
)
|
||||||
|
|
||||||
val extraLanguageFeatures = additionalArguments.configureLanguageFeatures(MessageCollector.NONE).apply {
|
val extraLanguageFeatures = additionalArguments.configureLanguageFeatures(MessageCollector.NONE)
|
||||||
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 extraAnalysisFlags = additionalArguments.configureAnalysisFlags(MessageCollector.NONE).apply {
|
val extraAnalysisFlags = additionalArguments.configureAnalysisFlags(MessageCollector.NONE).apply {
|
||||||
if (javaTypeEnhancementState != null) put(JvmAnalysisFlags.javaTypeEnhancementState, javaTypeEnhancementState)
|
if (javaTypeEnhancementState != null) put(JvmAnalysisFlags.javaTypeEnhancementState, javaTypeEnhancementState)
|
||||||
@@ -228,7 +217,6 @@ private fun Module.computeLanguageVersionSettings(): LanguageVersionSettings {
|
|||||||
}
|
}
|
||||||
|
|
||||||
val languageFeatures = facetSettings?.mergedCompilerArguments?.configureLanguageFeatures(MessageCollector.NONE)?.apply {
|
val languageFeatures = facetSettings?.mergedCompilerArguments?.configureLanguageFeatures(MessageCollector.NONE)?.apply {
|
||||||
configureCoroutinesSupport(facetSettings.coroutineSupport, languageVersion)
|
|
||||||
configureMultiplatformSupport(facetSettings.targetPlatform?.idePlatformKind, this@computeLanguageVersionSettings)
|
configureMultiplatformSupport(facetSettings.targetPlatform?.idePlatformKind, this@computeLanguageVersionSettings)
|
||||||
}.orEmpty()
|
}.orEmpty()
|
||||||
|
|
||||||
@@ -281,18 +269,6 @@ private fun parseArguments(
|
|||||||
return platformKind.createArguments { parseCommandLineArguments(additionalArguments, this) }
|
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(
|
fun MutableMap<LanguageFeature, LanguageFeature.State>.configureMultiplatformSupport(
|
||||||
platformKind: IdePlatformKind<*>?,
|
platformKind: IdePlatformKind<*>?,
|
||||||
module: Module?
|
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
|
@Test
|
||||||
fun testJsImport() {
|
fun testJsImport() {
|
||||||
configureByFiles()
|
configureByFiles()
|
||||||
|
|||||||
@@ -275,21 +275,6 @@ class KotlinFacetSettings {
|
|||||||
return targetPlatform?.toIdePlatform()
|
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 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
|
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)
|
val facetSettings = KotlinFacetSettingsProvider.getInstance(module.project)?.getInitializedSettings(module)
|
||||||
if (facetSettings != null) {
|
if (facetSettings != null) {
|
||||||
ModuleRootModificationUtil.updateModel(module) {
|
ModuleRootModificationUtil.updateModel(module) {
|
||||||
facetSettings.coroutineSupport = state
|
|
||||||
facetSettings.apiLevel = LanguageVersion.KOTLIN_1_1
|
facetSettings.apiLevel = LanguageVersion.KOTLIN_1_1
|
||||||
facetSettings.languageLevel = LanguageVersion.KOTLIN_1_1
|
facetSettings.languageLevel = LanguageVersion.KOTLIN_1_1
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -625,7 +625,6 @@ class KotlinMavenImporterTest : MavenImportingTestCase() {
|
|||||||
Assert.assertFalse(compilerArguments!!.autoAdvanceLanguageVersion)
|
Assert.assertFalse(compilerArguments!!.autoAdvanceLanguageVersion)
|
||||||
Assert.assertFalse(compilerArguments!!.autoAdvanceApiVersion)
|
Assert.assertFalse(compilerArguments!!.autoAdvanceApiVersion)
|
||||||
Assert.assertEquals(true, compilerArguments!!.suppressWarnings)
|
Assert.assertEquals(true, compilerArguments!!.suppressWarnings)
|
||||||
Assert.assertEquals(LanguageFeature.State.ENABLED, coroutineSupport)
|
|
||||||
Assert.assertEquals("JVM 1.8", targetPlatform!!.oldFashionedDescription)
|
Assert.assertEquals("JVM 1.8", targetPlatform!!.oldFashionedDescription)
|
||||||
Assert.assertEquals("1.8", (compilerArguments as K2JVMCompilerArguments).jvmTarget)
|
Assert.assertEquals("1.8", (compilerArguments as K2JVMCompilerArguments).jvmTarget)
|
||||||
Assert.assertEquals("foobar.jar", (compilerArguments as K2JVMCompilerArguments).classpath)
|
Assert.assertEquals("foobar.jar", (compilerArguments as K2JVMCompilerArguments).classpath)
|
||||||
@@ -821,7 +820,6 @@ class KotlinMavenImporterTest : MavenImportingTestCase() {
|
|||||||
Assert.assertFalse(compilerArguments!!.autoAdvanceLanguageVersion)
|
Assert.assertFalse(compilerArguments!!.autoAdvanceLanguageVersion)
|
||||||
Assert.assertFalse(compilerArguments!!.autoAdvanceApiVersion)
|
Assert.assertFalse(compilerArguments!!.autoAdvanceApiVersion)
|
||||||
Assert.assertEquals(true, compilerArguments!!.suppressWarnings)
|
Assert.assertEquals(true, compilerArguments!!.suppressWarnings)
|
||||||
Assert.assertEquals(LanguageFeature.State.ENABLED, coroutineSupport)
|
|
||||||
Assert.assertTrue(targetPlatform.isJs())
|
Assert.assertTrue(targetPlatform.isJs())
|
||||||
with(compilerArguments as K2JSCompilerArguments) {
|
with(compilerArguments as K2JSCompilerArguments) {
|
||||||
Assert.assertEquals(true, sourceMap)
|
Assert.assertEquals(true, sourceMap)
|
||||||
@@ -976,7 +974,6 @@ class KotlinMavenImporterTest : MavenImportingTestCase() {
|
|||||||
Assert.assertEquals("1.0", apiLevel!!.versionString)
|
Assert.assertEquals("1.0", apiLevel!!.versionString)
|
||||||
Assert.assertEquals("1.0", compilerArguments!!.apiVersion)
|
Assert.assertEquals("1.0", compilerArguments!!.apiVersion)
|
||||||
Assert.assertEquals(true, compilerArguments!!.suppressWarnings)
|
Assert.assertEquals(true, compilerArguments!!.suppressWarnings)
|
||||||
Assert.assertEquals(LanguageFeature.State.ENABLED, coroutineSupport)
|
|
||||||
Assert.assertEquals("JVM 1.8", targetPlatform!!.oldFashionedDescription)
|
Assert.assertEquals("JVM 1.8", targetPlatform!!.oldFashionedDescription)
|
||||||
Assert.assertEquals("1.8", (compilerArguments as K2JVMCompilerArguments).jvmTarget)
|
Assert.assertEquals("1.8", (compilerArguments as K2JVMCompilerArguments).jvmTarget)
|
||||||
Assert.assertEquals("foobar.jar", (compilerArguments as K2JVMCompilerArguments).classpath)
|
Assert.assertEquals("foobar.jar", (compilerArguments as K2JVMCompilerArguments).classpath)
|
||||||
@@ -1039,7 +1036,6 @@ class KotlinMavenImporterTest : MavenImportingTestCase() {
|
|||||||
with(facetSettings) {
|
with(facetSettings) {
|
||||||
Assert.assertEquals("JVM 1.8", targetPlatform!!.oldFashionedDescription)
|
Assert.assertEquals("JVM 1.8", targetPlatform!!.oldFashionedDescription)
|
||||||
Assert.assertEquals("1.8", (compilerArguments as K2JVMCompilerArguments).jvmTarget)
|
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)
|
Assert.assertEquals("c:/program files/jdk1.8", (compilerArguments as K2JVMCompilerArguments).classpath)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1095,7 +1091,6 @@ class KotlinMavenImporterTest : MavenImportingTestCase() {
|
|||||||
with(facetSettings) {
|
with(facetSettings) {
|
||||||
Assert.assertEquals("JVM 1.8", targetPlatform!!.oldFashionedDescription)
|
Assert.assertEquals("JVM 1.8", targetPlatform!!.oldFashionedDescription)
|
||||||
Assert.assertEquals("1.8", (compilerArguments as K2JVMCompilerArguments).jvmTarget)
|
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)
|
Assert.assertEquals("c:/program files/jdk1.8", (compilerArguments as K2JVMCompilerArguments).classpath)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -187,7 +187,6 @@ fun KotlinFacet.configureFacet(
|
|||||||
if (languageLevel != null && apiLevel != null && apiLevel > languageLevel) {
|
if (languageLevel != null && apiLevel != null && apiLevel > languageLevel) {
|
||||||
this.apiLevel = languageLevel
|
this.apiLevel = languageLevel
|
||||||
}
|
}
|
||||||
this.coroutineSupport = if (languageLevel != null && languageLevel < LanguageVersion.KOTLIN_1_3) coroutineSupport else null
|
|
||||||
this.pureKotlinSourceFolders = pureKotlinSourceFolders
|
this.pureKotlinSourceFolders = pureKotlinSourceFolders
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -273,13 +273,11 @@ open class MultiModuleHighlightingTest : AbstractMultiModuleHighlightingTest() {
|
|||||||
)
|
)
|
||||||
|
|
||||||
val moduleNew = module("moduleNew").setupKotlinFacet {
|
val moduleNew = module("moduleNew").setupKotlinFacet {
|
||||||
settings.coroutineSupport = LanguageFeature.State.ENABLED
|
|
||||||
settings.languageLevel = LanguageVersion.KOTLIN_1_3
|
settings.languageLevel = LanguageVersion.KOTLIN_1_3
|
||||||
settings.apiLevel = LanguageVersion.KOTLIN_1_3
|
settings.apiLevel = LanguageVersion.KOTLIN_1_3
|
||||||
}
|
}
|
||||||
|
|
||||||
val moduleOld = module("moduleOld").setupKotlinFacet {
|
val moduleOld = module("moduleOld").setupKotlinFacet {
|
||||||
settings.coroutineSupport = LanguageFeature.State.ENABLED
|
|
||||||
settings.languageLevel = LanguageVersion.KOTLIN_1_2
|
settings.languageLevel = LanguageVersion.KOTLIN_1_2
|
||||||
settings.apiLevel = LanguageVersion.KOTLIN_1_2
|
settings.apiLevel = LanguageVersion.KOTLIN_1_2
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -79,30 +79,6 @@ class UpdateConfigurationQuickFixTest : KotlinLightPlatformCodeInsightFixtureTes
|
|||||||
assertEquals(LanguageFeature.State.ENABLED_WITH_ERROR, coroutineSupport)
|
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() {
|
fun testIncreaseLangLevel() {
|
||||||
configureRuntime("mockRuntime11")
|
configureRuntime("mockRuntime11")
|
||||||
resetProjectSettings(LanguageVersion.KOTLIN_1_0)
|
resetProjectSettings(LanguageVersion.KOTLIN_1_0)
|
||||||
|
|||||||
@@ -135,7 +135,6 @@ abstract class AbstractMultiModuleTest : DaemonAnalyzerTestCase() {
|
|||||||
?: error("Facet settings are not found")
|
?: error("Facet settings are not found")
|
||||||
|
|
||||||
facetSettings.useProjectSettings = false
|
facetSettings.useProjectSettings = false
|
||||||
facetSettings.coroutineSupport = LanguageFeature.State.ENABLED
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected fun checkFiles(
|
protected fun checkFiles(
|
||||||
|
|||||||
Reference in New Issue
Block a user