Propagate coroutine settings support from facet into the language version settings
This commit is contained in:
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)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user