Enable SAM conversion for Kotlin functions by default in new inference
KT-25686
This commit is contained in:
+10
@@ -210,6 +210,7 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
|
||||
|
||||
if (newInference) {
|
||||
put(LanguageFeature.NewInference, LanguageFeature.State.ENABLED)
|
||||
put(LanguageFeature.SamConversionForKotlinFunctions, LanguageFeature.State.ENABLED)
|
||||
}
|
||||
|
||||
if (legacySmartCastAfterTry) {
|
||||
@@ -247,13 +248,22 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
|
||||
private fun HashMap<LanguageFeature, LanguageFeature.State>.configureLanguageFeaturesFromInternalArgs(collector: MessageCollector) {
|
||||
val featuresThatForcePreReleaseBinaries = mutableListOf<LanguageFeature>()
|
||||
|
||||
var samConversionsExplicitlyPassed = false
|
||||
for ((feature, state) in internalArguments.filterIsInstance<ManualLanguageFeatureSetting>()) {
|
||||
if (feature == LanguageFeature.SamConversionForKotlinFunctions) {
|
||||
samConversionsExplicitlyPassed = true
|
||||
}
|
||||
|
||||
put(feature, state)
|
||||
if (state == LanguageFeature.State.ENABLED && feature.forcesPreReleaseBinariesIfEnabled()) {
|
||||
featuresThatForcePreReleaseBinaries += feature
|
||||
}
|
||||
}
|
||||
|
||||
if (!samConversionsExplicitlyPassed && this[LanguageFeature.NewInference] == LanguageFeature.State.ENABLED) {
|
||||
put(LanguageFeature.SamConversionForKotlinFunctions, LanguageFeature.State.ENABLED)
|
||||
}
|
||||
|
||||
if (featuresThatForcePreReleaseBinaries.isNotEmpty()) {
|
||||
collector.report(
|
||||
CompilerMessageSeverity.STRONG_WARNING,
|
||||
|
||||
Reference in New Issue
Block a user