From 72ab6d5e7ee747666a2a011e6bbb48f0bd85e119 Mon Sep 17 00:00:00 2001 From: Mikhael Bogdanov Date: Tue, 21 Sep 2021 08:37:30 +0200 Subject: [PATCH] Add test for obsolete (fixed in IR) KT-42967 #KT-42967 Fixed --- .../FirBlackBoxCodegenTestGenerated.java | 12 ++++++++ .../defaults/noDefaultImpls/kt42967_all.kt | 23 +++++++++++++++ .../codegen/box/jvm8/javaDefaults/kt42967.kt | 28 +++++++++++++++++++ .../codegen/BlackBoxCodegenTestGenerated.java | 12 ++++++++ .../IrBlackBoxCodegenTestGenerated.java | 12 ++++++++ .../LightAnalysisModeTestGenerated.java | 10 +++++++ 6 files changed, 97 insertions(+) create mode 100644 compiler/testData/codegen/box/jvm8/defaults/noDefaultImpls/kt42967_all.kt create mode 100644 compiler/testData/codegen/box/jvm8/javaDefaults/kt42967.kt diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java index ab1a192dfcb..8fd79317883 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java @@ -24512,6 +24512,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT runTest("compiler/testData/codegen/box/jvm8/defaults/noDefaultImpls/kt42674.kt"); } + @Test + @TestMetadata("kt42967_all.kt") + public void testKt42967_all() throws Exception { + runTest("compiler/testData/codegen/box/jvm8/defaults/noDefaultImpls/kt42967_all.kt"); + } + @Test @TestMetadata("localDelegatedProperties.kt") public void testLocalDelegatedProperties() throws Exception { @@ -24747,6 +24753,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT runTest("compiler/testData/codegen/box/jvm8/javaDefaults/kt40920_map.kt"); } + @Test + @TestMetadata("kt42967.kt") + public void testKt42967() throws Exception { + runTest("compiler/testData/codegen/box/jvm8/javaDefaults/kt42967.kt"); + } + @Test @TestMetadata("longChainOfKotlinExtendsFromJavaWithDefault.kt") public void testLongChainOfKotlinExtendsFromJavaWithDefault() throws Exception { diff --git a/compiler/testData/codegen/box/jvm8/defaults/noDefaultImpls/kt42967_all.kt b/compiler/testData/codegen/box/jvm8/defaults/noDefaultImpls/kt42967_all.kt new file mode 100644 index 00000000000..dcfd3071681 --- /dev/null +++ b/compiler/testData/codegen/box/jvm8/defaults/noDefaultImpls/kt42967_all.kt @@ -0,0 +1,23 @@ +// !JVM_DEFAULT_MODE: all +// TARGET_BACKEND: JVM +// IGNORE_BACKEND: JVM +// IGNORE_LIGHT_ANALYSIS +// JVM_TARGET: 1.8 +// FILE: Kotlin.kt +interface Foo { + fun foo(p: T): T = p +} + +interface FooDerived: Foo + +class Derived(val value: String) + +class Test : FooDerived { + override fun foo(a: Derived): Derived { + return super.foo(a) + } +} + +fun box(): String { + return Test().foo(Derived("OK")).value +} diff --git a/compiler/testData/codegen/box/jvm8/javaDefaults/kt42967.kt b/compiler/testData/codegen/box/jvm8/javaDefaults/kt42967.kt new file mode 100644 index 00000000000..e73e215be37 --- /dev/null +++ b/compiler/testData/codegen/box/jvm8/javaDefaults/kt42967.kt @@ -0,0 +1,28 @@ +// TARGET_BACKEND: JVM +// IGNORE_BACKEND: JVM +// JVM_TARGET: 1.8 +// FILE: JavaInterface.java + +public interface JavaInterface { + default T foo(T param) { + return param; + } +} + +// FILE: JavaDerived.java +public interface JavaDerived extends JavaInterface { + +} + +// FILE: Kotlin.kt +class Derived(val value: String) + +class Test : JavaDerived { + override fun foo(a: Derived?): Derived { + return super.foo(a) + } +} + +fun box(): String { + return Test().foo(Derived("OK")).value +} diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java index 7668c85b9a5..19dabcd9cb8 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java @@ -24380,6 +24380,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/jvm8/defaults/noDefaultImpls/kt42674.kt"); } + @Test + @TestMetadata("kt42967_all.kt") + public void testKt42967_all() throws Exception { + runTest("compiler/testData/codegen/box/jvm8/defaults/noDefaultImpls/kt42967_all.kt"); + } + @Test @TestMetadata("localDelegatedProperties.kt") public void testLocalDelegatedProperties() throws Exception { @@ -24615,6 +24621,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/jvm8/javaDefaults/kt40920_map.kt"); } + @Test + @TestMetadata("kt42967.kt") + public void testKt42967() throws Exception { + runTest("compiler/testData/codegen/box/jvm8/javaDefaults/kt42967.kt"); + } + @Test @TestMetadata("longChainOfKotlinExtendsFromJavaWithDefault.kt") public void testLongChainOfKotlinExtendsFromJavaWithDefault() throws Exception { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java index cc76f549d8f..5ea2b30f22b 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java @@ -24512,6 +24512,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/jvm8/defaults/noDefaultImpls/kt42674.kt"); } + @Test + @TestMetadata("kt42967_all.kt") + public void testKt42967_all() throws Exception { + runTest("compiler/testData/codegen/box/jvm8/defaults/noDefaultImpls/kt42967_all.kt"); + } + @Test @TestMetadata("localDelegatedProperties.kt") public void testLocalDelegatedProperties() throws Exception { @@ -24747,6 +24753,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/jvm8/javaDefaults/kt40920_map.kt"); } + @Test + @TestMetadata("kt42967.kt") + public void testKt42967() throws Exception { + runTest("compiler/testData/codegen/box/jvm8/javaDefaults/kt42967.kt"); + } + @Test @TestMetadata("longChainOfKotlinExtendsFromJavaWithDefault.kt") public void testLongChainOfKotlinExtendsFromJavaWithDefault() throws Exception { diff --git a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index d36cd008613..fb95f315df0 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -20392,6 +20392,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) public static class NoDefaultImpls extends AbstractLightAnalysisModeTest { + @TestMetadata("kt42967_all.kt") + public void ignoreKt42967_all() throws Exception { + runTest("compiler/testData/codegen/box/jvm8/defaults/noDefaultImpls/kt42967_all.kt"); + } + private void runTest(String testDataFilePath) throws Exception { KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM, testDataFilePath); } @@ -20676,6 +20681,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) public static class JavaDefaults extends AbstractLightAnalysisModeTest { + @TestMetadata("kt42967.kt") + public void ignoreKt42967() throws Exception { + runTest("compiler/testData/codegen/box/jvm8/javaDefaults/kt42967.kt"); + } + private void runTest(String testDataFilePath) throws Exception { KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM, testDataFilePath); }