From ede4b619802b673f63f341461940b2b910929c4e Mon Sep 17 00:00:00 2001 From: Denis Zharkov Date: Wed, 20 Jan 2016 14:20:39 +0300 Subject: [PATCH] Add tests for obsolete issue #KT-7412 Obsolete --- .../defaultArguments/function/covariantOverride.kt | 10 ++++++++++ .../function/covariantOverrideGeneric.kt | 10 ++++++++++ .../generated/BlackBoxCodegenTestGenerated.java | 12 ++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 compiler/testData/codegen/box/defaultArguments/function/covariantOverride.kt create mode 100644 compiler/testData/codegen/box/defaultArguments/function/covariantOverrideGeneric.kt diff --git a/compiler/testData/codegen/box/defaultArguments/function/covariantOverride.kt b/compiler/testData/codegen/box/defaultArguments/function/covariantOverride.kt new file mode 100644 index 00000000000..b2ad3e749c2 --- /dev/null +++ b/compiler/testData/codegen/box/defaultArguments/function/covariantOverride.kt @@ -0,0 +1,10 @@ +open class Foo { + open fun foo(x: CharSequence = "O"): CharSequence = x +} +class Bar(): Foo() { + override fun foo(x: CharSequence): String { // Note the covariant return type + return x.toString() + "K" + } +} + +fun box() = Bar().foo() diff --git a/compiler/testData/codegen/box/defaultArguments/function/covariantOverrideGeneric.kt b/compiler/testData/codegen/box/defaultArguments/function/covariantOverrideGeneric.kt new file mode 100644 index 00000000000..9f24919d51d --- /dev/null +++ b/compiler/testData/codegen/box/defaultArguments/function/covariantOverrideGeneric.kt @@ -0,0 +1,10 @@ +open class Foo { + open fun foo(x: CharSequence = "O"): CharSequence = x +} +class Bar: Foo() { + override fun foo(x: CharSequence): T { // Note the covariant return type + return (x.toString() + "K") as T + } +} + +fun box() = Bar().foo() diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/generated/BlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/generated/BlackBoxCodegenTestGenerated.java index b870dfc16b7..7005461a35f 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/generated/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/generated/BlackBoxCodegenTestGenerated.java @@ -2778,6 +2778,18 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { doTest(fileName); } + @TestMetadata("covariantOverride.kt") + public void testCovariantOverride() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/defaultArguments/function/covariantOverride.kt"); + doTest(fileName); + } + + @TestMetadata("covariantOverrideGeneric.kt") + public void testCovariantOverrideGeneric() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/defaultArguments/function/covariantOverrideGeneric.kt"); + doTest(fileName); + } + @TestMetadata("extensionFunctionManyArgs.kt") public void testExtensionFunctionManyArgs() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/defaultArguments/function/extensionFunctionManyArgs.kt");