diff --git a/compiler/testData/codegen/box/defaultArguments/callDefaultFromInitializer.kt b/compiler/testData/codegen/box/defaultArguments/callDefaultFromInitializer.kt new file mode 100644 index 00000000000..939ab698ad9 --- /dev/null +++ b/compiler/testData/codegen/box/defaultArguments/callDefaultFromInitializer.kt @@ -0,0 +1,16 @@ +fun foo(x: Int = 42) = x + +class C { + val s: String + init { + val x = foo() + if (x == 42) + s = "OK" + else + s = "fail" + } +} + +fun box(): String { + return C().s +} diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java index ad4e2ebc715..33ee7fa71cb 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java @@ -8615,6 +8615,11 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/box/defaultArguments"), Pattern.compile("^(.+)\\.kt$"), TargetBackend.JVM, true); } + @TestMetadata("callDefaultFromInitializer.kt") + public void testCallDefaultFromInitializer() throws Exception { + runTest("compiler/testData/codegen/box/defaultArguments/callDefaultFromInitializer.kt"); + } + @TestMetadata("implementedByFake.kt") public void testImplementedByFake() throws Exception { runTest("compiler/testData/codegen/box/defaultArguments/implementedByFake.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index dfc18f341bd..c54cbeb13af 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -8630,6 +8630,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/box/defaultArguments"), Pattern.compile("^(.+)\\.kt$"), TargetBackend.JVM, true); } + @TestMetadata("callDefaultFromInitializer.kt") + public void testCallDefaultFromInitializer() throws Exception { + runTest("compiler/testData/codegen/box/defaultArguments/callDefaultFromInitializer.kt"); + } + @TestMetadata("inheritedFromInterfaceViaAbstractSuperclass.kt") public void testInheritedFromInterfaceViaAbstractSuperclass() throws Exception { runTest("compiler/testData/codegen/box/defaultArguments/inheritedFromInterfaceViaAbstractSuperclass.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java index 29fe116dad1..e2d3a192647 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java @@ -8615,6 +8615,11 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/box/defaultArguments"), Pattern.compile("^(.+)\\.kt$"), TargetBackend.JVM_IR, true); } + @TestMetadata("callDefaultFromInitializer.kt") + public void testCallDefaultFromInitializer() throws Exception { + runTest("compiler/testData/codegen/box/defaultArguments/callDefaultFromInitializer.kt"); + } + @TestMetadata("implementedByFake.kt") public void testImplementedByFake() throws Exception { runTest("compiler/testData/codegen/box/defaultArguments/implementedByFake.kt"); diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/IrJsCodegenBoxTestGenerated.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/IrJsCodegenBoxTestGenerated.java index 8f00e1be642..3d8a9d0bb63 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/IrJsCodegenBoxTestGenerated.java +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/IrJsCodegenBoxTestGenerated.java @@ -6530,6 +6530,11 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/box/defaultArguments"), Pattern.compile("^(.+)\\.kt$"), TargetBackend.JS_IR, true); } + @TestMetadata("callDefaultFromInitializer.kt") + public void testCallDefaultFromInitializer() throws Exception { + runTest("compiler/testData/codegen/box/defaultArguments/callDefaultFromInitializer.kt"); + } + @TestMetadata("implementedByFake.kt") public void testImplementedByFake() throws Exception { runTest("compiler/testData/codegen/box/defaultArguments/implementedByFake.kt"); diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java index dee6788c1cb..28167e7da51 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java @@ -7620,6 +7620,11 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/box/defaultArguments"), Pattern.compile("^(.+)\\.kt$"), TargetBackend.JS, true); } + @TestMetadata("callDefaultFromInitializer.kt") + public void testCallDefaultFromInitializer() throws Exception { + runTest("compiler/testData/codegen/box/defaultArguments/callDefaultFromInitializer.kt"); + } + @TestMetadata("implementedByFake.kt") public void testImplementedByFake() throws Exception { runTest("compiler/testData/codegen/box/defaultArguments/implementedByFake.kt");