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 0949e994d57..eeb39d4a020 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 @@ -45,12 +45,18 @@ val Module.languageVersionSettings: LanguageVersionSettings val languageVersion = versionInfo.languageLevel ?: LanguageVersion.LATEST val apiVersion = versionInfo.apiLevel ?: languageVersion - val extraLanguageFeatures = - if (versionInfo.targetPlatformKind == TargetPlatformKind.Default || - // TODO: this is a dirty hack, parse arguments correctly here - facetSettings.compilerInfo.compilerSettings?.additionalArguments?.contains(multiPlatformProjectsArg) == true) - listOf(LanguageFeature.MultiPlatformProjects) - else emptyList() + val extraLanguageFeatures = mutableListOf().apply { + when (facetSettings.compilerInfo.coroutineSupport) { + CoroutineSupport.ENABLED -> {} + CoroutineSupport.ENABLED_WITH_WARNING -> add(LanguageFeature.WarnOnCoroutines) + CoroutineSupport.DISABLED -> add(LanguageFeature.ErrorOnCoroutines) + } + + if (versionInfo.targetPlatformKind == TargetPlatformKind.Default || + // TODO: this is a dirty hack, parse arguments correctly here + facetSettings.compilerInfo.compilerSettings?.additionalArguments?.contains(multiPlatformProjectsArg) == true) + add(LanguageFeature.MultiPlatformProjects) + } return LanguageVersionSettingsImpl(languageVersion, ApiVersion.createByLanguageVersion(apiVersion), extraLanguageFeatures) }