From 559b85caa80c15e9b0abd0ca79e6491f289aa1c9 Mon Sep 17 00:00:00 2001 From: Michael Bogdanov Date: Tue, 3 Nov 2015 12:37:46 +0300 Subject: [PATCH] Test for obsolete KT-6382: Incorrect bridge method calls are generated for member extension functions with default parameters #KT-6382 Obsolete --- .../boxWithStdlib/defaultArguments/kt6382.kt | 14 ++++++++++++++ .../BlackBoxWithStdlibCodegenTestGenerated.java | 6 ++++++ 2 files changed, 20 insertions(+) create mode 100644 compiler/testData/codegen/boxWithStdlib/defaultArguments/kt6382.kt diff --git a/compiler/testData/codegen/boxWithStdlib/defaultArguments/kt6382.kt b/compiler/testData/codegen/boxWithStdlib/defaultArguments/kt6382.kt new file mode 100644 index 00000000000..ae0bbc1f044 --- /dev/null +++ b/compiler/testData/codegen/boxWithStdlib/defaultArguments/kt6382.kt @@ -0,0 +1,14 @@ +fun box(): String { + return if (A().run() == "Aabc") "OK" else "fail" +} + +public class A { + fun run() = + with ("abc") { + show() + } + + private fun String.show(p: Boolean = false): String = getName() + this + + private fun getName() = "A" +} \ No newline at end of file diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/generated/BlackBoxWithStdlibCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/generated/BlackBoxWithStdlibCodegenTestGenerated.java index 314a1995b5d..5063e1cdf55 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/generated/BlackBoxWithStdlibCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/generated/BlackBoxWithStdlibCodegenTestGenerated.java @@ -1426,6 +1426,12 @@ public class BlackBoxWithStdlibCodegenTestGenerated extends AbstractBlackBoxCode JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/boxWithStdlib/defaultArguments"), Pattern.compile("^(.+)\\.kt$"), true); } + @TestMetadata("kt6382.kt") + public void testKt6382() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/boxWithStdlib/defaultArguments/kt6382.kt"); + doTestWithStdlib(fileName); + } + @TestMetadata("compiler/testData/codegen/boxWithStdlib/defaultArguments/constructor") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class)