From 4d51d71699646c1f861b303867361dfeff17a78c Mon Sep 17 00:00:00 2001 From: Mikhael Bogdanov Date: Mon, 8 Mar 2021 16:36:27 +0100 Subject: [PATCH] Fix EXPLICIT_OVERRIDE_REQUIRED_IN_MIXED_MODE message --- .../resolve/jvm/diagnostics/DefaultErrorMessagesJvm.java | 2 +- .../jvmDefaultClashWithNoCompatibility/output.txt | 2 +- .../jvmDefaultClashWithOld/output.txt | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/diagnostics/DefaultErrorMessagesJvm.java b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/diagnostics/DefaultErrorMessagesJvm.java index ce2a5a46f29..b75c785baf1 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/diagnostics/DefaultErrorMessagesJvm.java +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/diagnostics/DefaultErrorMessagesJvm.java @@ -199,7 +199,7 @@ public class DefaultErrorMessagesJvm implements DefaultErrorMessages.Extension { MAP.put(EXPLICIT_OVERRIDE_REQUIRED_IN_MIXED_MODE, "Explicit override is required for ''{0}'' in the ''-Xjvm-default={2}'' mode. " + "Otherwise, implicit class override ''{1}'' (compiled in the old -Xjvm-default mode) " + - "is not fully overridden and might be incorrectly called at runtime", + "is not fully overridden and would be incorrectly called at runtime", SHORT_NAMES_IN_TYPES, SHORT_NAMES_IN_TYPES, TO_STRING); MAP.put(DANGEROUS_CHARACTERS, "Name contains characters which can cause problems on Windows: {0}", STRING); diff --git a/compiler/testData/compileKotlinAgainstCustomBinaries/jvmDefaultClashWithNoCompatibility/output.txt b/compiler/testData/compileKotlinAgainstCustomBinaries/jvmDefaultClashWithNoCompatibility/output.txt index 320ded8e2be..214d55e8787 100644 --- a/compiler/testData/compileKotlinAgainstCustomBinaries/jvmDefaultClashWithNoCompatibility/output.txt +++ b/compiler/testData/compileKotlinAgainstCustomBinaries/jvmDefaultClashWithNoCompatibility/output.txt @@ -1,4 +1,4 @@ -compiler/testData/compileKotlinAgainstCustomBinaries/jvmDefaultClashWithNoCompatibility/source.kt:12:7: error: explicit override is required for 'public open fun evaluate(): Any? defined in KotlinEvaluatableUElement' in the '-Xjvm-default=all-compatibility' mode. Otherwise, implicit class override 'public open fun evaluate(): Any? defined in KotlinAbstractUExpression' (compiled in the old -Xjvm-default mode) is not fully overridden and might be incorrectly called at runtime +compiler/testData/compileKotlinAgainstCustomBinaries/jvmDefaultClashWithNoCompatibility/source.kt:12:7: error: explicit override is required for 'public open fun evaluate(): Any? defined in KotlinEvaluatableUElement' in the '-Xjvm-default=all-compatibility' mode. Otherwise, implicit class override 'public open fun evaluate(): Any? defined in KotlinAbstractUExpression' (compiled in the old -Xjvm-default mode) is not fully overridden and would be incorrectly called at runtime class KotlinUBinaryExpressionWithType : KotlinAbstractUExpression(), KotlinEvaluatableUElement {} ^ COMPILATION_ERROR diff --git a/compiler/testData/compileKotlinAgainstCustomBinaries/jvmDefaultClashWithOld/output.txt b/compiler/testData/compileKotlinAgainstCustomBinaries/jvmDefaultClashWithOld/output.txt index 840d20d5208..d537fc93db0 100644 --- a/compiler/testData/compileKotlinAgainstCustomBinaries/jvmDefaultClashWithOld/output.txt +++ b/compiler/testData/compileKotlinAgainstCustomBinaries/jvmDefaultClashWithOld/output.txt @@ -1,7 +1,7 @@ -compiler/testData/compileKotlinAgainstCustomBinaries/jvmDefaultClashWithOld/source.kt:15:7: error: explicit override is required for 'public open var test: String defined in SubCheck' in the '-Xjvm-default=all' mode. Otherwise, implicit class override 'public open var test: String defined in base.CheckClass' (compiled in the old -Xjvm-default mode) is not fully overridden and might be incorrectly called at runtime +compiler/testData/compileKotlinAgainstCustomBinaries/jvmDefaultClashWithOld/source.kt:15:7: error: explicit override is required for 'public open var test: String defined in SubCheck' in the '-Xjvm-default=all' mode. Otherwise, implicit class override 'public open var test: String defined in base.CheckClass' (compiled in the old -Xjvm-default mode) is not fully overridden and would be incorrectly called at runtime class SubCheckClass : CheckClass(), SubCheck ^ -compiler/testData/compileKotlinAgainstCustomBinaries/jvmDefaultClashWithOld/source.kt:15:7: error: explicit override is required for 'public open fun test(): String defined in SubCheck' in the '-Xjvm-default=all' mode. Otherwise, implicit class override 'public open fun test(): String defined in base.CheckClass' (compiled in the old -Xjvm-default mode) is not fully overridden and might be incorrectly called at runtime +compiler/testData/compileKotlinAgainstCustomBinaries/jvmDefaultClashWithOld/source.kt:15:7: error: explicit override is required for 'public open fun test(): String defined in SubCheck' in the '-Xjvm-default=all' mode. Otherwise, implicit class override 'public open fun test(): String defined in base.CheckClass' (compiled in the old -Xjvm-default mode) is not fully overridden and would be incorrectly called at runtime class SubCheckClass : CheckClass(), SubCheck ^ COMPILATION_ERROR