From 5daf79d2de3232962bc7ee948dc1c526d1e7dee8 Mon Sep 17 00:00:00 2001 From: Michael Bogdanov Date: Fri, 15 May 2015 17:45:32 +0300 Subject: [PATCH] Tests for obsolete KT-5232: vfy error with default parameter in method of trait #KT-5232 Obsolete --- .../box/defaultArguments/function/kt5232.kt | 14 +++++++++++ .../tests/defaultArguments/kt5232.kt | 11 ++++++++ .../tests/defaultArguments/kt5232.txt | 25 +++++++++++++++++++ .../checkers/JetDiagnosticsTestGenerated.java | 15 +++++++++++ .../BlackBoxCodegenTestGenerated.java | 6 +++++ 5 files changed, 71 insertions(+) create mode 100644 compiler/testData/codegen/box/defaultArguments/function/kt5232.kt create mode 100644 compiler/testData/diagnostics/tests/defaultArguments/kt5232.kt create mode 100644 compiler/testData/diagnostics/tests/defaultArguments/kt5232.txt diff --git a/compiler/testData/codegen/box/defaultArguments/function/kt5232.kt b/compiler/testData/codegen/box/defaultArguments/function/kt5232.kt new file mode 100644 index 00000000000..0d1d0e99c2c --- /dev/null +++ b/compiler/testData/codegen/box/defaultArguments/function/kt5232.kt @@ -0,0 +1,14 @@ +trait A { + fun visit(a:String, b:String="") : String = b + a +} + +class B : A { + override fun visit(a:String, b:String) : String = b + a +} + +fun box(): String { + val result = B().visit("K", "O") + if (result != "OK") return "fail $result" + + return B().visit("OK") +} \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/defaultArguments/kt5232.kt b/compiler/testData/diagnostics/tests/defaultArguments/kt5232.kt new file mode 100644 index 00000000000..29cd1312922 --- /dev/null +++ b/compiler/testData/diagnostics/tests/defaultArguments/kt5232.kt @@ -0,0 +1,11 @@ +trait A { + fun visit(a:Int, b:String="") : String = b + a +} + +class B : A { + override fun visit(a:Int, b:String) : String = b + a +} + +class C : A { + override fun visit(a:Int) : String = "" + a +} \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/defaultArguments/kt5232.txt b/compiler/testData/diagnostics/tests/defaultArguments/kt5232.txt new file mode 100644 index 00000000000..7b075381662 --- /dev/null +++ b/compiler/testData/diagnostics/tests/defaultArguments/kt5232.txt @@ -0,0 +1,25 @@ +package + +internal interface A { + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + internal open fun visit(/*0*/ a: kotlin.Int, /*1*/ b: kotlin.String = ...): kotlin.String +} + +internal final class B : A { + public constructor B() + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + internal open override /*1*/ fun visit(/*0*/ a: kotlin.Int, /*1*/ b: kotlin.String = ...): kotlin.String +} + +internal final class C : A { + public constructor C() + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + internal open fun visit(/*0*/ a: kotlin.Int): kotlin.String + internal open override /*1*/ /*fake_override*/ fun visit(/*0*/ a: kotlin.Int, /*1*/ b: kotlin.String = ...): kotlin.String +} diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/JetDiagnosticsTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/JetDiagnosticsTestGenerated.java index 839037dfb6d..add7e7467c0 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/JetDiagnosticsTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/JetDiagnosticsTestGenerated.java @@ -3106,6 +3106,21 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest { } } + @TestMetadata("compiler/testData/diagnostics/tests/defaultArguments") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class DefaultArguments extends AbstractJetDiagnosticsTest { + public void testAllFilesPresentInDefaultArguments() throws Exception { + JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/diagnostics/tests/defaultArguments"), Pattern.compile("^(.+)\\.kt$"), true); + } + + @TestMetadata("kt5232.kt") + public void testKt5232() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/defaultArguments/kt5232.kt"); + doTest(fileName); + } + } + @TestMetadata("compiler/testData/diagnostics/tests/delegatedProperty") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/generated/BlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/generated/BlackBoxCodegenTestGenerated.java index ec7d64c6875..820c881fb38 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/generated/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/generated/BlackBoxCodegenTestGenerated.java @@ -2373,6 +2373,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { doTest(fileName); } + @TestMetadata("kt5232.kt") + public void testKt5232() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/defaultArguments/function/kt5232.kt"); + doTest(fileName); + } + @TestMetadata("memberFunctionManyArgs.kt") public void testMemberFunctionManyArgs() throws Exception { String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/defaultArguments/function/memberFunctionManyArgs.kt");