From 372a512c919eace1f0b4d5a78ef7173ad48f85db Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Tue, 25 Oct 2022 18:28:15 +0400 Subject: [PATCH] [JS IR] Add case with bridge for method with default parameters --- .../FirBlackBoxCodegenTestGenerated.java | 6 +++++ .../box/bridges/methodWithDefaultParameter.kt | 24 +++++++++++++++++++ .../codegen/BlackBoxCodegenTestGenerated.java | 6 +++++ .../IrBlackBoxCodegenTestGenerated.java | 6 +++++ .../LightAnalysisModeTestGenerated.java | 5 ++++ .../js/test/JsCodegenBoxTestGenerated.java | 6 +++++ .../test/ir/IrJsCodegenBoxTestGenerated.java | 6 +++++ .../IrCodegenBoxWasmTestGenerated.java | 5 ++++ .../NativeCodegenBoxTestGenerated.java | 6 +++++ 9 files changed, 70 insertions(+) create mode 100644 compiler/testData/codegen/box/bridges/methodWithDefaultParameter.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 b4f28273437..f89dd47157b 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 @@ -2369,6 +2369,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT runTest("compiler/testData/codegen/box/bridges/nestedClassTypeParameters.kt"); } + @Test + @TestMetadata("methodWithDefaultParameter.kt") + public void testMethodWithDefaultParameter() throws Exception { + runTest("compiler/testData/codegen/box/bridges/methodWithDefaultParameter.kt"); + } + @Test @TestMetadata("noBridgeOnMutableCollectionInheritance.kt") public void testNoBridgeOnMutableCollectionInheritance() throws Exception { diff --git a/compiler/testData/codegen/box/bridges/methodWithDefaultParameter.kt b/compiler/testData/codegen/box/bridges/methodWithDefaultParameter.kt new file mode 100644 index 00000000000..b6236f0d769 --- /dev/null +++ b/compiler/testData/codegen/box/bridges/methodWithDefaultParameter.kt @@ -0,0 +1,24 @@ +interface A { + fun foo(foo: Any? = null): Boolean +} + +interface B { + fun foo(foo: Any? = null): Boolean +} + +open class B2 : B { + override fun foo(foo: Any?): Boolean { + return false + } +} + +open class C : B2(), A { + final override fun foo(foo: Any?): Boolean { + return true + } +} + +fun box(): String { + val a: A = C() + return if (a.foo()) "OK" else "fail" +} \ No newline at end of file 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 6e77217a328..c71fd06bd06 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 @@ -2273,6 +2273,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/bridges/nestedClassTypeParameters.kt"); } + @Test + @TestMetadata("methodWithDefaultParameter.kt") + public void testMethodWithDefaultParameter() throws Exception { + runTest("compiler/testData/codegen/box/bridges/methodWithDefaultParameter.kt"); + } + @Test @TestMetadata("noBridgeOnMutableCollectionInheritance.kt") public void testNoBridgeOnMutableCollectionInheritance() 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 c747b150f27..1f1c9f13a5e 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 @@ -2369,6 +2369,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/bridges/nestedClassTypeParameters.kt"); } + @Test + @TestMetadata("methodWithDefaultParameter.kt") + public void testMethodWithDefaultParameter() throws Exception { + runTest("compiler/testData/codegen/box/bridges/methodWithDefaultParameter.kt"); + } + @Test @TestMetadata("noBridgeOnMutableCollectionInheritance.kt") public void testNoBridgeOnMutableCollectionInheritance() 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 7f17ae6b005..bd87fe04c6f 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -1992,6 +1992,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/bridges/nestedClassTypeParameters.kt"); } + @TestMetadata("methodWithDefaultParameter.kt") + public void testMethodWithDefaultParameter() throws Exception { + runTest("compiler/testData/codegen/box/bridges/methodWithDefaultParameter.kt"); + } + @TestMetadata("noBridgeOnMutableCollectionInheritance.kt") public void testNoBridgeOnMutableCollectionInheritance() throws Exception { runTest("compiler/testData/codegen/box/bridges/noBridgeOnMutableCollectionInheritance.kt"); 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 d9152323987..0ab90176cf8 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 @@ -1547,6 +1547,12 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { runTest("compiler/testData/codegen/box/bridges/nestedClassTypeParameters.kt"); } + @Test + @TestMetadata("methodWithDefaultParameter.kt") + public void testMethodWithDefaultParameter() throws Exception { + runTest("compiler/testData/codegen/box/bridges/methodWithDefaultParameter.kt"); + } + @Test @TestMetadata("noBridgeOnMutableCollectionInheritance.kt") public void testNoBridgeOnMutableCollectionInheritance() 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 70475a267cc..a1de45ef7fd 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 @@ -1601,6 +1601,12 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { runTest("compiler/testData/codegen/box/bridges/nestedClassTypeParameters.kt"); } + @Test + @TestMetadata("methodWithDefaultParameter.kt") + public void testMethodWithDefaultParameter() throws Exception { + runTest("compiler/testData/codegen/box/bridges/methodWithDefaultParameter.kt"); + } + @Test @TestMetadata("noBridgeOnMutableCollectionInheritance.kt") public void testNoBridgeOnMutableCollectionInheritance() 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 3bd1f4ab701..750371fb79b 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 @@ -1422,6 +1422,11 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest runTest("compiler/testData/codegen/box/bridges/nestedClassTypeParameters.kt"); } + @TestMetadata("methodWithDefaultParameter.kt") + public void testMethodWithDefaultParameter() throws Exception { + runTest("compiler/testData/codegen/box/bridges/methodWithDefaultParameter.kt"); + } + @TestMetadata("noBridgeOnMutableCollectionInheritance.kt") public void testNoBridgeOnMutableCollectionInheritance() throws Exception { runTest("compiler/testData/codegen/box/bridges/noBridgeOnMutableCollectionInheritance.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 a9ed605d6f0..e9a0a1c5983 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 @@ -1639,6 +1639,12 @@ public class NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTest runTest("compiler/testData/codegen/box/bridges/nestedClassTypeParameters.kt"); } + @Test + @TestMetadata("methodWithDefaultParameter.kt") + public void testMethodWithDefaultParameter() throws Exception { + runTest("compiler/testData/codegen/box/bridges/methodWithDefaultParameter.kt"); + } + @Test @TestMetadata("noBridgeOnMutableCollectionInheritance.kt") public void testNoBridgeOnMutableCollectionInheritance() throws Exception {