diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java index 7f21b3dbeda..e7801da77da 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java @@ -14629,6 +14629,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT public void testPropertySetter() throws Exception { runTest("compiler/testData/codegen/box/fakeOverride/propertySetter.kt"); } + + @Test + @TestMetadata("varianceOverload.kt") + public void testVarianceOverload() throws Exception { + runTest("compiler/testData/codegen/box/fakeOverride/varianceOverload.kt"); + } } @Nested diff --git a/compiler/testData/codegen/box/fakeOverride/varianceOverload.kt b/compiler/testData/codegen/box/fakeOverride/varianceOverload.kt new file mode 100644 index 00000000000..fa9a4698c7c --- /dev/null +++ b/compiler/testData/codegen/box/fakeOverride/varianceOverload.kt @@ -0,0 +1,63 @@ + +// MODULE: lib +// FILE: lib.kt +// KT-43831 + + +var result = "FAIL" + +class Change : IsChange { + + override fun qux(select: RPPG1): IsChange? { + result = "" + return null + } + + override fun foo(select: RPPG1, sss: RPPG1): Change? { + result += "O" + return null + } + + override fun bar(a: RPPG2>, b: RPPG3, out AC3>): Change? { + result += "K" + return null + } + +} + +interface IsChange { + fun qux(select: RPPG1): IsChange? + + fun foo(select: RPPG1, sss: RPPG1): IsChange? + + + fun bar(a: RPPG2>, b: RPPG3, out AC3>): IsChange? +} + +abstract class AC1 : BAC1() +abstract class AC2 : BAC2() +abstract class AC3 : BAC3() + +interface I1 +interface I2 +interface I3 + +abstract class BAC1 : I1 +abstract class BAC2 : I2 +abstract class BAC3 : I3 + +class RPPG1 +class RPPG2 +class RPPG3 + +// MODULE: main(lib) +// FILE: main.kt + +fun box(): String { + val c = Change() + c.qux(RPPG1()) + c.foo(RPPG1(), RPPG1()) + c.bar(RPPG2(), RPPG3()) + return result + +} \ No newline at end of file diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java index 4fabe55fdda..e9208134610 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java @@ -14629,6 +14629,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { public void testPropertySetter() throws Exception { runTest("compiler/testData/codegen/box/fakeOverride/propertySetter.kt"); } + + @Test + @TestMetadata("varianceOverload.kt") + public void testVarianceOverload() throws Exception { + runTest("compiler/testData/codegen/box/fakeOverride/varianceOverload.kt"); + } } @Nested diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java index 32b9bcdcee2..d0cbbdb125c 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java @@ -14629,6 +14629,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes public void testPropertySetter() throws Exception { runTest("compiler/testData/codegen/box/fakeOverride/propertySetter.kt"); } + + @Test + @TestMetadata("varianceOverload.kt") + public void testVarianceOverload() throws Exception { + runTest("compiler/testData/codegen/box/fakeOverride/varianceOverload.kt"); + } } @Nested diff --git a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index f89ad546ddd..acb06b859ba 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -12078,6 +12078,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes public void testPropertySetter() throws Exception { runTest("compiler/testData/codegen/box/fakeOverride/propertySetter.kt"); } + + @TestMetadata("varianceOverload.kt") + public void testVarianceOverload() throws Exception { + runTest("compiler/testData/codegen/box/fakeOverride/varianceOverload.kt"); + } } @TestMetadata("compiler/testData/codegen/box/fieldRename") diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java index 791de4bd8af..36e343d0123 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java @@ -10713,6 +10713,11 @@ public class IrJsCodegenBoxES6TestGenerated extends AbstractIrJsCodegenBoxES6Tes public void testPropertySetter() throws Exception { runTest("compiler/testData/codegen/box/fakeOverride/propertySetter.kt"); } + + @TestMetadata("varianceOverload.kt") + public void testVarianceOverload() throws Exception { + runTest("compiler/testData/codegen/box/fakeOverride/varianceOverload.kt"); + } } @TestMetadata("compiler/testData/codegen/box/fieldRename") diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java index 9a1556f7db5..a90c4995b66 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java @@ -10198,6 +10198,11 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { public void testPropertySetter() throws Exception { runTest("compiler/testData/codegen/box/fakeOverride/propertySetter.kt"); } + + @TestMetadata("varianceOverload.kt") + public void testVarianceOverload() throws Exception { + runTest("compiler/testData/codegen/box/fakeOverride/varianceOverload.kt"); + } } @TestMetadata("compiler/testData/codegen/box/fieldRename") diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java index 44ef736c75e..1c1d05da831 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java @@ -10198,6 +10198,11 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { public void testPropertySetter() throws Exception { runTest("compiler/testData/codegen/box/fakeOverride/propertySetter.kt"); } + + @TestMetadata("varianceOverload.kt") + public void testVarianceOverload() throws Exception { + runTest("compiler/testData/codegen/box/fakeOverride/varianceOverload.kt"); + } } @TestMetadata("compiler/testData/codegen/box/fieldRename") diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/wasm/semantics/IrCodegenBoxWasmTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/wasm/semantics/IrCodegenBoxWasmTestGenerated.java index 77f4dddc959..f1673cf96e0 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/wasm/semantics/IrCodegenBoxWasmTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/wasm/semantics/IrCodegenBoxWasmTestGenerated.java @@ -5172,6 +5172,11 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest public void testPropertySetter() throws Exception { runTest("compiler/testData/codegen/box/fakeOverride/propertySetter.kt"); } + + @TestMetadata("varianceOverload.kt") + public void testVarianceOverload() throws Exception { + runTest("compiler/testData/codegen/box/fakeOverride/varianceOverload.kt"); + } } @TestMetadata("compiler/testData/codegen/box/fieldRename")