From 4baa74f396d4d26084e66dc7160ba5b120573362 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Fri, 23 Sep 2022 22:06:30 +0200 Subject: [PATCH] Add regression tests for obsolete issues #KT-50909 #KT-50974 #KT-51888 --- .../FirBlackBoxCodegenTestGenerated.java | 18 ++++++++++++ .../codegen/box/inlineClasses/kt50909.kt | 17 +++++++++++ .../kt50974_resultMultiModule.kt | 29 +++++++++++++++++++ .../nonDefaultInheritance/diamondWithJava.kt | 26 +++++++++++++++++ .../codegen/BlackBoxCodegenTestGenerated.java | 6 ++++ .../IrBlackBoxCodegenTestGenerated.java | 18 ++++++++++++ .../LightAnalysisModeTestGenerated.java | 5 ++++ .../js/test/JsCodegenBoxTestGenerated.java | 6 ++++ .../test/ir/IrJsCodegenBoxTestGenerated.java | 6 ++++ .../IrCodegenBoxWasmTestGenerated.java | 5 ++++ .../NativeCodegenBoxTestGenerated.java | 6 ++++ 11 files changed, 142 insertions(+) create mode 100644 compiler/testData/codegen/box/inlineClasses/kt50909.kt create mode 100644 compiler/testData/codegen/box/inlineClasses/kt50974_resultMultiModule.kt create mode 100644 compiler/testData/codegen/box/jvm8/defaults/nonDefaultInheritance/diamondWithJava.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 4d7f9be54ad..4674a7c9101 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 @@ -22133,6 +22133,18 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT runTest("compiler/testData/codegen/box/inlineClasses/kt48993Generic.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal()); } + @Test + @TestMetadata("kt50909.kt") + public void testKt50909() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/kt50909.kt"); + } + + @Test + @TestMetadata("kt50974_resultMultiModule.kt") + public void testKt50974_resultMultiModule() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/kt50974_resultMultiModule.kt"); + } + @Test @TestMetadata("kt51157.kt") public void testKt51157() throws Exception { @@ -29819,6 +29831,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/jvm8/defaults/nonDefaultInheritance"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); } + @Test + @TestMetadata("diamondWithJava.kt") + public void testDiamondWithJava() throws Exception { + runTest("compiler/testData/codegen/box/jvm8/defaults/nonDefaultInheritance/diamondWithJava.kt"); + } + @Test @TestMetadata("simple.kt") public void testSimple() throws Exception { diff --git a/compiler/testData/codegen/box/inlineClasses/kt50909.kt b/compiler/testData/codegen/box/inlineClasses/kt50909.kt new file mode 100644 index 00000000000..073b3741ca0 --- /dev/null +++ b/compiler/testData/codegen/box/inlineClasses/kt50909.kt @@ -0,0 +1,17 @@ +// TARGET_BACKEND: JVM_IR +// WITH_STDLIB + +data class Parent(val child: Parent.Child?) { + val result = + if (this.child == null) foo(this.child) + else "Fail" + + @JvmInline + value class Child(val value: String) +} + +fun foo(x: String?): String = + x ?: "OK" + +fun box(): String = + Parent(null).result diff --git a/compiler/testData/codegen/box/inlineClasses/kt50974_resultMultiModule.kt b/compiler/testData/codegen/box/inlineClasses/kt50974_resultMultiModule.kt new file mode 100644 index 00000000000..ed1579e62b6 --- /dev/null +++ b/compiler/testData/codegen/box/inlineClasses/kt50974_resultMultiModule.kt @@ -0,0 +1,29 @@ +// IGNORE_LIGHT_ANALYSIS +// IGNORE_BACKEND: JVM +// WITH_STDLIB +// MODULE: lib +// FILE: lib.kt + +public class WhateverUseCase : UseCaseWithParameter, Int> { + override operator fun invoke(param: Result): Result { + return param.onFailure { + return if (it is NumberFormatException) + Result.success(0) + else + Result.failure(it) + } + } +} + +interface UseCaseWithParameter { + operator fun invoke(param: P) : Result +} + +// MODULE: main(lib) +// FILE: main.kt + +fun box(): String { + val useCase = WhateverUseCase() + return if (useCase(Result.failure(NumberFormatException())) == Result.success(0)) "OK" + else "Fail" +} diff --git a/compiler/testData/codegen/box/jvm8/defaults/nonDefaultInheritance/diamondWithJava.kt b/compiler/testData/codegen/box/jvm8/defaults/nonDefaultInheritance/diamondWithJava.kt new file mode 100644 index 00000000000..861a766f18f --- /dev/null +++ b/compiler/testData/codegen/box/jvm8/defaults/nonDefaultInheritance/diamondWithJava.kt @@ -0,0 +1,26 @@ +// TARGET_BACKEND: JVM_IR +// JVM_TARGET: 1.8 +// MODULE: lib +// !JVM_DEFAULT_MODE: all +// FILE: P.java + +public interface P { + default String test() { + return "OK"; + } +} + +// FILE: kotlin.kt + +abstract class A : P + +interface B : P + +// MODULE: main(lib) +// !JVM_DEFAULT_MODE: disable +// FILE: main.kt +abstract class C : A(), P, B + +fun box(): String { + return object : C() {}.test() +} 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 6d853e45134..7a9e7c45dd0 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 @@ -21443,6 +21443,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/inlineClasses/kt48993Generic.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal()); } + @Test + @TestMetadata("kt50974_resultMultiModule.kt") + public void testKt50974_resultMultiModule() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/kt50974_resultMultiModule.kt"); + } + @Test @TestMetadata("kt51157.kt") public void testKt51157() 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 37982276bc6..ec0d5643a42 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 @@ -22133,6 +22133,18 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/inlineClasses/kt48993Generic.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal()); } + @Test + @TestMetadata("kt50909.kt") + public void testKt50909() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/kt50909.kt"); + } + + @Test + @TestMetadata("kt50974_resultMultiModule.kt") + public void testKt50974_resultMultiModule() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/kt50974_resultMultiModule.kt"); + } + @Test @TestMetadata("kt51157.kt") public void testKt51157() throws Exception { @@ -29819,6 +29831,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/jvm8/defaults/nonDefaultInheritance"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); } + @Test + @TestMetadata("diamondWithJava.kt") + public void testDiamondWithJava() throws Exception { + runTest("compiler/testData/codegen/box/jvm8/defaults/nonDefaultInheritance/diamondWithJava.kt"); + } + @Test @TestMetadata("simple.kt") public void testSimple() 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 fd545128770..775609c9b61 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -16613,6 +16613,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/inlineClasses/kt45991.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal()); } + @TestMetadata("kt50974_resultMultiModule.kt") + public void ignoreKt50974_resultMultiModule() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/kt50974_resultMultiModule.kt"); + } + @TestMetadata("mappingOfBoxedFlexibleInlineClassTypeGeneric.kt") public void ignoreMappingOfBoxedFlexibleInlineClassTypeGeneric() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/mappingOfBoxedFlexibleInlineClassTypeGeneric.kt", TransformersFunctions.getReplaceOptionalJvmInlineAnnotationWithReal()); diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/JsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/JsCodegenBoxTestGenerated.java index 78460269b3b..8c4c4ae7dd7 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/JsCodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/JsCodegenBoxTestGenerated.java @@ -16873,6 +16873,12 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { runTest("compiler/testData/codegen/box/inlineClasses/kt47823.kt"); } + @Test + @TestMetadata("kt50974_resultMultiModule.kt") + public void testKt50974_resultMultiModule() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/kt50974_resultMultiModule.kt"); + } + @Test @TestMetadata("kt51157.kt") public void testKt51157() throws Exception { diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java index 234388108e7..121ecbd1561 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java @@ -16885,6 +16885,12 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { runTest("compiler/testData/codegen/box/inlineClasses/kt47823.kt"); } + @Test + @TestMetadata("kt50974_resultMultiModule.kt") + public void testKt50974_resultMultiModule() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/kt50974_resultMultiModule.kt"); + } + @Test @TestMetadata("kt51157.kt") public void testKt51157() throws Exception { diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testOld/wasm/semantics/IrCodegenBoxWasmTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testOld/wasm/semantics/IrCodegenBoxWasmTestGenerated.java index 5c3e3f80456..b176c74f046 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testOld/wasm/semantics/IrCodegenBoxWasmTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testOld/wasm/semantics/IrCodegenBoxWasmTestGenerated.java @@ -14955,6 +14955,11 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest runTest("compiler/testData/codegen/box/inlineClasses/kt47823.kt"); } + @TestMetadata("kt50974_resultMultiModule.kt") + public void testKt50974_resultMultiModule() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/kt50974_resultMultiModule.kt"); + } + @TestMetadata("kt51157.kt") public void testKt51157() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/kt51157.kt"); diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java index f31b4b99197..3479d01af48 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java @@ -18601,6 +18601,12 @@ public class NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTest runTest("compiler/testData/codegen/box/inlineClasses/kt47823.kt"); } + @Test + @TestMetadata("kt50974_resultMultiModule.kt") + public void testKt50974_resultMultiModule() throws Exception { + runTest("compiler/testData/codegen/box/inlineClasses/kt50974_resultMultiModule.kt"); + } + @Test @TestMetadata("kt51157.kt") public void testKt51157() throws Exception {