Use non-allowed actual defaults in backends to workaround compiler exception

It's difficult to fix KT-22818 until the IR comes along, so we're
providing a workaround where one can disable the
ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS error and provide default values
in the actual function, to avoid exception from the backend.

 #KT-22818
This commit is contained in:
Alexander Udalov
2018-09-18 18:07:19 +03:00
parent 18b53f331a
commit 3ca81b95c2
8 changed files with 131 additions and 3 deletions
@@ -12640,6 +12640,16 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/defaultArguments"), Pattern.compile("^(.+)\\.kt$"), TargetBackend.JS_IR, true);
}
@TestMetadata("bothInExpectAndActual.kt")
public void testBothInExpectAndActual() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/defaultArguments/bothInExpectAndActual.kt");
}
@TestMetadata("bothInExpectAndActual2.kt")
public void testBothInExpectAndActual2() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/defaultArguments/bothInExpectAndActual2.kt");
}
@TestMetadata("constructor.kt")
public void testConstructor() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/defaultArguments/constructor.kt");
@@ -13700,6 +13700,16 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/defaultArguments"), Pattern.compile("^(.+)\\.kt$"), TargetBackend.JS, true);
}
@TestMetadata("bothInExpectAndActual.kt")
public void testBothInExpectAndActual() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/defaultArguments/bothInExpectAndActual.kt");
}
@TestMetadata("bothInExpectAndActual2.kt")
public void testBothInExpectAndActual2() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/defaultArguments/bothInExpectAndActual2.kt");
}
@TestMetadata("constructor.kt")
public void testConstructor() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/defaultArguments/constructor.kt");