Invert LanguageFeature responsible for warning on coroutines

The problem was that LanguageVersionSettingsImpl.DEFAULT did not have
"WarnOnCoroutines" as a feature and so it was manually added to the settings,
but only in two places: in the compiler and in the IDE
This commit is contained in:
Alexander Udalov
2017-02-16 18:41:23 +03:00
parent e3dab96715
commit a9678010a8
11 changed files with 38 additions and 33 deletions
@@ -103,8 +103,8 @@ object ModifierCheckerCore {
LanguageFeature.Coroutines to LanguageFeature.ErrorOnCoroutines
)
val warningOnFeature = mapOf(
LanguageFeature.Coroutines to LanguageFeature.WarnOnCoroutines
val noWarningOnFeature = mapOf(
LanguageFeature.Coroutines to LanguageFeature.DoNotWarnOnCoroutines
)
val featureDependenciesTargets = mapOf(
@@ -299,8 +299,8 @@ object ModifierCheckerCore {
return false
}
val pairedWarningFeature = warningOnFeature[dependency]
if (pairedWarningFeature != null && languageVersionSettings.supportsFeature(pairedWarningFeature)) {
val pairedNoWarningFeature = noWarningOnFeature[dependency]
if (pairedNoWarningFeature != null && !languageVersionSettings.supportsFeature(pairedNoWarningFeature)) {
trace.report(Errors.EXPERIMENTAL_FEATURE_WARNING.on(node.psi, diagnosticData))
}
@@ -96,7 +96,7 @@ fun checkCoroutinesFeature(languageVersionSettings: LanguageVersionSettings, dia
else if (languageVersionSettings.supportsFeature(LanguageFeature.ErrorOnCoroutines)) {
diagnosticHolder.report(Errors.EXPERIMENTAL_FEATURE_ERROR.on(reportOn, diagnosticData))
}
else if (languageVersionSettings.supportsFeature(LanguageFeature.WarnOnCoroutines)) {
else if (!languageVersionSettings.supportsFeature(LanguageFeature.DoNotWarnOnCoroutines)) {
diagnosticHolder.report(Errors.EXPERIMENTAL_FEATURE_WARNING.on(reportOn, diagnosticData))
}
}