Propagate coroutine settings support from facet into the language version settings

This commit is contained in:
Mikhail Zarechenskiy
2016-12-14 18:35:06 +03:00
committed by Stanislav Erokhin
parent 091756b221
commit feefe8d6ff
@@ -45,12 +45,18 @@ val Module.languageVersionSettings: LanguageVersionSettings
val languageVersion = versionInfo.languageLevel ?: LanguageVersion.LATEST val languageVersion = versionInfo.languageLevel ?: LanguageVersion.LATEST
val apiVersion = versionInfo.apiLevel ?: languageVersion val apiVersion = versionInfo.apiLevel ?: languageVersion
val extraLanguageFeatures = val extraLanguageFeatures = mutableListOf<LanguageFeature>().apply {
if (versionInfo.targetPlatformKind == TargetPlatformKind.Default || when (facetSettings.compilerInfo.coroutineSupport) {
// TODO: this is a dirty hack, parse arguments correctly here CoroutineSupport.ENABLED -> {}
facetSettings.compilerInfo.compilerSettings?.additionalArguments?.contains(multiPlatformProjectsArg) == true) CoroutineSupport.ENABLED_WITH_WARNING -> add(LanguageFeature.WarnOnCoroutines)
listOf(LanguageFeature.MultiPlatformProjects) CoroutineSupport.DISABLED -> add(LanguageFeature.ErrorOnCoroutines)
else emptyList() }
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) return LanguageVersionSettingsImpl(languageVersion, ApiVersion.createByLanguageVersion(apiVersion), extraLanguageFeatures)
} }