diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/ModifiersChecker.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/ModifiersChecker.kt index af044568ae6..33fda2c6791 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/ModifiersChecker.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/ModifiersChecker.kt @@ -15,7 +15,6 @@ import org.jetbrains.kotlin.descriptors.annotations.KotlinTarget import org.jetbrains.kotlin.descriptors.annotations.KotlinTarget.* import org.jetbrains.kotlin.diagnostics.Errors import org.jetbrains.kotlin.lexer.KtModifierKeywordToken -import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.lexer.KtTokens.* import org.jetbrains.kotlin.psi.KtClassOrObject import org.jetbrains.kotlin.psi.KtDeclarationWithBody @@ -119,7 +118,7 @@ object ModifierCheckerCore { EXPECT_KEYWORD to listOf(LanguageFeature.MultiPlatformProjects), ACTUAL_KEYWORD to listOf(LanguageFeature.MultiPlatformProjects), LATEINIT_KEYWORD to listOf(LanguageFeature.LateinitTopLevelProperties, LanguageFeature.LateinitLocalVariables), - FUN_KEYWORD to listOf(LanguageFeature.FunctionInterfaceConversion) + FUN_KEYWORD to listOf(LanguageFeature.FunctionalInterfaceConversion) ) private val featureDependenciesTargets = mapOf( @@ -127,7 +126,7 @@ object ModifierCheckerCore { LanguageFeature.LateinitLocalVariables to setOf(LOCAL_VARIABLE), LanguageFeature.LateinitTopLevelProperties to setOf(TOP_LEVEL_PROPERTY), LanguageFeature.InlineClasses to setOf(CLASS_ONLY), - LanguageFeature.FunctionInterfaceConversion to setOf(INTERFACE) + LanguageFeature.FunctionalInterfaceConversion to setOf(INTERFACE) ) // NOTE: deprecated targets must be possible! diff --git a/compiler/testData/codegen/box/funInterface/basicFunInterface.kt b/compiler/testData/codegen/box/funInterface/basicFunInterface.kt index d964e949879..f937fe65b99 100644 --- a/compiler/testData/codegen/box/funInterface/basicFunInterface.kt +++ b/compiler/testData/codegen/box/funInterface/basicFunInterface.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +FunctionInterfaceConversion +// !LANGUAGE: +FunctionalInterfaceConversion fun interface Foo { fun invoke(): String diff --git a/compiler/testData/codegen/box/funInterface/basicFunInterfaceConversion.kt b/compiler/testData/codegen/box/funInterface/basicFunInterfaceConversion.kt index d8561aebbd5..b13d2bb2e25 100644 --- a/compiler/testData/codegen/box/funInterface/basicFunInterfaceConversion.kt +++ b/compiler/testData/codegen/box/funInterface/basicFunInterfaceConversion.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +NewInference +FunctionInterfaceConversion +SamConversionPerArgument +SamConversionForKotlinFunctions +// !LANGUAGE: +NewInference +FunctionalInterfaceConversion +SamConversionPerArgument +SamConversionForKotlinFunctions fun interface Foo { fun invoke(): String diff --git a/compiler/testData/codegen/box/funInterface/castFromAny.kt b/compiler/testData/codegen/box/funInterface/castFromAny.kt index fa48ed88b42..8253e899096 100644 --- a/compiler/testData/codegen/box/funInterface/castFromAny.kt +++ b/compiler/testData/codegen/box/funInterface/castFromAny.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +NewInference +FunctionInterfaceConversion +SamConversionPerArgument +SamConversionForKotlinFunctions +// !LANGUAGE: +NewInference +FunctionalInterfaceConversion +SamConversionPerArgument +SamConversionForKotlinFunctions fun interface KRunnable { fun invoke() diff --git a/compiler/testData/codegen/box/funInterface/inlinedSamWrapper.kt b/compiler/testData/codegen/box/funInterface/inlinedSamWrapper.kt index afae7d8c119..30e520ea6dc 100644 --- a/compiler/testData/codegen/box/funInterface/inlinedSamWrapper.kt +++ b/compiler/testData/codegen/box/funInterface/inlinedSamWrapper.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +NewInference +FunctionInterfaceConversion +SamConversionPerArgument +SamConversionForKotlinFunctions +// !LANGUAGE: +NewInference +FunctionalInterfaceConversion +SamConversionPerArgument +SamConversionForKotlinFunctions // WITH_RUNTIME fun interface MyRunnable { diff --git a/compiler/testData/codegen/box/funInterface/nullableSam.kt b/compiler/testData/codegen/box/funInterface/nullableSam.kt index 852e9381c28..cea63cb7e88 100644 --- a/compiler/testData/codegen/box/funInterface/nullableSam.kt +++ b/compiler/testData/codegen/box/funInterface/nullableSam.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +NewInference +FunctionInterfaceConversion +SamConversionPerArgument +SamConversionForKotlinFunctions +// !LANGUAGE: +NewInference +FunctionalInterfaceConversion +SamConversionPerArgument +SamConversionForKotlinFunctions // TARGET_BACKEND: JVM // WITH_RUNTIME diff --git a/compiler/testData/codegen/box/funInterface/partialSam.kt b/compiler/testData/codegen/box/funInterface/partialSam.kt index 6130c1b80be..f33c10526c2 100644 --- a/compiler/testData/codegen/box/funInterface/partialSam.kt +++ b/compiler/testData/codegen/box/funInterface/partialSam.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +NewInference +FunctionInterfaceConversion +SamConversionPerArgument +SamConversionForKotlinFunctions +// !LANGUAGE: +NewInference +FunctionalInterfaceConversion +SamConversionPerArgument +SamConversionForKotlinFunctions // WITH_RUNTIME fun interface Fn { diff --git a/compiler/testData/codegen/box/funInterface/receiverEvaluatedOnce.kt b/compiler/testData/codegen/box/funInterface/receiverEvaluatedOnce.kt index 9d156c2c881..f436ccc2be0 100644 --- a/compiler/testData/codegen/box/funInterface/receiverEvaluatedOnce.kt +++ b/compiler/testData/codegen/box/funInterface/receiverEvaluatedOnce.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +NewInference +FunctionInterfaceConversion +SamConversionPerArgument +SamConversionForKotlinFunctions +// !LANGUAGE: +NewInference +FunctionalInterfaceConversion +SamConversionPerArgument +SamConversionForKotlinFunctions // TARGET_BACKEND: JVM // WITH_RUNTIME diff --git a/compiler/testData/codegen/box/funInterface/suspendFunInterfaceConversionCodegen.kt b/compiler/testData/codegen/box/funInterface/suspendFunInterfaceConversionCodegen.kt index 311c70f7b83..81845f27bb3 100644 --- a/compiler/testData/codegen/box/funInterface/suspendFunInterfaceConversionCodegen.kt +++ b/compiler/testData/codegen/box/funInterface/suspendFunInterfaceConversionCodegen.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +NewInference +FunctionInterfaceConversion +SamConversionPerArgument +SamConversionForKotlinFunctions +// !LANGUAGE: +NewInference +FunctionalInterfaceConversion +SamConversionPerArgument +SamConversionForKotlinFunctions // WITH_COROUTINES // WITH_RUNTIME diff --git a/compiler/testData/compileKotlinAgainstKotlin/useDeserializedFunInterface.kt b/compiler/testData/compileKotlinAgainstKotlin/useDeserializedFunInterface.kt index 01b95bde8f5..06c13da3428 100644 --- a/compiler/testData/compileKotlinAgainstKotlin/useDeserializedFunInterface.kt +++ b/compiler/testData/compileKotlinAgainstKotlin/useDeserializedFunInterface.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +NewInference +FunctionInterfaceConversion +SamConversionPerArgument +SamConversionForKotlinFunctions +// !LANGUAGE: +NewInference +FunctionalInterfaceConversion +SamConversionPerArgument +SamConversionForKotlinFunctions // FILE: A.kt diff --git a/compiler/testData/diagnostics/tests/funInterface/basicFunInterface.kt b/compiler/testData/diagnostics/tests/funInterface/basicFunInterface.kt index b7ade62d514..5f0dcc62da6 100644 --- a/compiler/testData/diagnostics/tests/funInterface/basicFunInterface.kt +++ b/compiler/testData/diagnostics/tests/funInterface/basicFunInterface.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +FunctionInterfaceConversion +// !LANGUAGE: +FunctionalInterfaceConversion fun interface Foo { fun invoke() diff --git a/compiler/testData/diagnostics/tests/funInterface/basicFunInterfaceConversion.kt b/compiler/testData/diagnostics/tests/funInterface/basicFunInterfaceConversion.kt index 52e3e01c232..bfbea8fb9da 100644 --- a/compiler/testData/diagnostics/tests/funInterface/basicFunInterfaceConversion.kt +++ b/compiler/testData/diagnostics/tests/funInterface/basicFunInterfaceConversion.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +NewInference +FunctionInterfaceConversion +SamConversionPerArgument +SamConversionForKotlinFunctions +// !LANGUAGE: +NewInference +FunctionalInterfaceConversion +SamConversionPerArgument +SamConversionForKotlinFunctions // !DIAGNOSTICS: -UNUSED_PARAMETER fun interface Foo { diff --git a/compiler/testData/diagnostics/tests/funInterface/basicFunInterfaceDisabled.kt b/compiler/testData/diagnostics/tests/funInterface/basicFunInterfaceDisabled.kt index 4bad102597d..bb4754e8b80 100644 --- a/compiler/testData/diagnostics/tests/funInterface/basicFunInterfaceDisabled.kt +++ b/compiler/testData/diagnostics/tests/funInterface/basicFunInterfaceDisabled.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: -FunctionInterfaceConversion +// !LANGUAGE: -FunctionalInterfaceConversion fun interface Foo { fun invoke() diff --git a/compiler/testData/diagnostics/tests/funInterface/funInterfaceSyntheticConstructors.kt b/compiler/testData/diagnostics/tests/funInterface/funInterfaceSyntheticConstructors.kt index c4b9340ea17..699fc41cc74 100644 --- a/compiler/testData/diagnostics/tests/funInterface/funInterfaceSyntheticConstructors.kt +++ b/compiler/testData/diagnostics/tests/funInterface/funInterfaceSyntheticConstructors.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +NewInference +SamConversionForKotlinFunctions +SamConversionPerArgument +FunctionInterfaceConversion +// !LANGUAGE: +NewInference +SamConversionForKotlinFunctions +SamConversionPerArgument +FunctionalInterfaceConversion // !DIAGNOSTICS: -UNUSED_PARAMETER fun interface KRunnable { diff --git a/compiler/testData/diagnostics/tests/funInterface/genericSubstitutionForFunInterface.kt b/compiler/testData/diagnostics/tests/funInterface/genericSubstitutionForFunInterface.kt index 39dec07369e..d1e450a1e9c 100644 --- a/compiler/testData/diagnostics/tests/funInterface/genericSubstitutionForFunInterface.kt +++ b/compiler/testData/diagnostics/tests/funInterface/genericSubstitutionForFunInterface.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +NewInference +SamConversionForKotlinFunctions +SamConversionPerArgument +FunctionInterfaceConversion +// !LANGUAGE: +NewInference +SamConversionForKotlinFunctions +SamConversionPerArgument +FunctionalInterfaceConversion // !CHECK_TYPE fun interface F { diff --git a/compiler/testData/diagnostics/tests/funInterface/severalConversionsForFunInterface.kt b/compiler/testData/diagnostics/tests/funInterface/severalConversionsForFunInterface.kt index 5690aa82031..5a97a54eede 100644 --- a/compiler/testData/diagnostics/tests/funInterface/severalConversionsForFunInterface.kt +++ b/compiler/testData/diagnostics/tests/funInterface/severalConversionsForFunInterface.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +NewInference +SamConversionForKotlinFunctions +SamConversionPerArgument +FunctionInterfaceConversion +// !LANGUAGE: +NewInference +SamConversionForKotlinFunctions +SamConversionPerArgument +FunctionalInterfaceConversion interface J { fun foo1(r: KRunnable) diff --git a/compiler/testData/diagnostics/tests/funInterface/suspendFunInterfaceConversion.kt b/compiler/testData/diagnostics/tests/funInterface/suspendFunInterfaceConversion.kt index 398c0368ff9..bffd4d08f24 100644 --- a/compiler/testData/diagnostics/tests/funInterface/suspendFunInterfaceConversion.kt +++ b/compiler/testData/diagnostics/tests/funInterface/suspendFunInterfaceConversion.kt @@ -1,4 +1,4 @@ -// !LANGUAGE: +NewInference +SamConversionForKotlinFunctions +SamConversionPerArgument +FunctionInterfaceConversion +// !LANGUAGE: +NewInference +SamConversionForKotlinFunctions +SamConversionPerArgument +FunctionalInterfaceConversion // !DIAGNOSTICS: -UNUSED_PARAMETER -NOTHING_TO_INLINE fun interface SuspendRunnable { diff --git a/compiler/util/src/org/jetbrains/kotlin/config/LanguageVersionSettings.kt b/compiler/util/src/org/jetbrains/kotlin/config/LanguageVersionSettings.kt index c4cdd8e27e1..10433faa2bf 100644 --- a/compiler/util/src/org/jetbrains/kotlin/config/LanguageVersionSettings.kt +++ b/compiler/util/src/org/jetbrains/kotlin/config/LanguageVersionSettings.kt @@ -125,7 +125,7 @@ enum class LanguageFeature( ProperVisibilityForCompanionObjectInstanceField(KOTLIN_1_4, kind = BUG_FIX), DoNotGenerateThrowsForDelegatedKotlinMembers(KOTLIN_1_4), ProperIeee754Comparisons(KOTLIN_1_4, kind = BUG_FIX), - FunctionInterfaceConversion(KOTLIN_1_4, kind = UNSTABLE_FEATURE), + FunctionalInterfaceConversion(KOTLIN_1_4, kind = UNSTABLE_FEATURE), // Temporarily disabled, see KT-27084/KT-22379 SoundSmartcastFromLoopConditionForLoopAssignedVariables(sinceVersion = null, kind = BUG_FIX),