From cdf7de5524a0a4e1ec3f3c64b29054199306504d Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Tue, 16 Feb 2021 12:43:25 +0300 Subject: [PATCH] [FE] Change message for sealed interfaces with language target < 1.5 --- .../kotlin/resolve/checkers/SealedInterfaceAllowedChecker.kt | 2 +- compiler/testData/cli/jvm/internalArgDisableLanguageFeature.out | 2 +- .../tests/sealed/interfaces/sealedInterfacesDisabled.kt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/SealedInterfaceAllowedChecker.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/SealedInterfaceAllowedChecker.kt index ae9f92c84a8..e8da70a6617 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/SealedInterfaceAllowedChecker.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/SealedInterfaceAllowedChecker.kt @@ -18,6 +18,6 @@ object SealedInterfaceAllowedChecker : DeclarationChecker { if (descriptor !is ClassDescriptor) return if (descriptor.kind != ClassKind.INTERFACE) return val keyword = declaration.modifierList?.getModifier(KtTokens.SEALED_KEYWORD) ?: return - context.trace.report(Errors.WRONG_MODIFIER_TARGET.on(keyword, KtTokens.SEALED_KEYWORD, KotlinTarget.INTERFACE.description)) + context.trace.report(Errors.UNSUPPORTED_FEATURE.on(keyword, LanguageFeature.SealedInterfaces to context.languageVersionSettings)) } } diff --git a/compiler/testData/cli/jvm/internalArgDisableLanguageFeature.out b/compiler/testData/cli/jvm/internalArgDisableLanguageFeature.out index a3fd0e1c992..9620adcd8e7 100644 --- a/compiler/testData/cli/jvm/internalArgDisableLanguageFeature.out +++ b/compiler/testData/cli/jvm/internalArgDisableLanguageFeature.out @@ -7,7 +7,7 @@ This mode is not recommended for production use, as no stability/compatibility guarantees are given on compiler or generated code. Use it at your own risk! -compiler/testData/cli/jvm/internalArgDisableLanguageFeature.kt:1:1: error: modifier 'sealed' is not applicable to 'interface' +compiler/testData/cli/jvm/internalArgDisableLanguageFeature.kt:1:1: error: the feature "sealed interfaces" is disabled sealed interface A ^ COMPILATION_ERROR diff --git a/compiler/testData/diagnostics/tests/sealed/interfaces/sealedInterfacesDisabled.kt b/compiler/testData/diagnostics/tests/sealed/interfaces/sealedInterfacesDisabled.kt index 2ba0a7ccbd9..171b49ff4c2 100644 --- a/compiler/testData/diagnostics/tests/sealed/interfaces/sealedInterfacesDisabled.kt +++ b/compiler/testData/diagnostics/tests/sealed/interfaces/sealedInterfacesDisabled.kt @@ -2,4 +2,4 @@ // !LANGUAGE: -SealedInterfaces // !DIAGNOSTICS: -UNUSED_VARIABLE -sealed interface Base +sealed interface Base