diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/codegen/ir/FirBlackBoxCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/codegen/ir/FirBlackBoxCodegenTestGenerated.java index 99dfee1d850..a5a3048e364 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/codegen/ir/FirBlackBoxCodegenTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/codegen/ir/FirBlackBoxCodegenTestGenerated.java @@ -31636,6 +31636,11 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT runTest("compiler/testData/codegen/box/traits/doubleDiamond.kt"); } + @TestMetadata("doubleGenericDiamond.kt") + public void testDoubleGenericDiamond() throws Exception { + runTest("compiler/testData/codegen/box/traits/doubleGenericDiamond.kt"); + } + @TestMetadata("genericMethod.kt") public void testGenericMethod() throws Exception { runTest("compiler/testData/codegen/box/traits/genericMethod.kt"); diff --git a/compiler/testData/codegen/box/traits/doubleGenericDiamond.kt b/compiler/testData/codegen/box/traits/doubleGenericDiamond.kt new file mode 100644 index 00000000000..b3f7c32c348 --- /dev/null +++ b/compiler/testData/codegen/box/traits/doubleGenericDiamond.kt @@ -0,0 +1,34 @@ +// FILE: lib.kt + +var result = "" + +interface Left +interface Right +class Bottom : Left, Right + +interface A { + fun f(): T? { + result = "A" + return null + } +} + +interface B : A { + override fun f(): T? { + result = "B" + return null + } +} + +abstract class C : A + +abstract class D : C() + +// FILE: box.kt + +class Z : D(), B + +fun box(): String { + Z().f() + return if (result == "B") "OK" else "Fail: $result" +} diff --git a/compiler/tests-gen/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java index b1c26de07bb..87cfb1fc0c5 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java @@ -33407,6 +33407,11 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/traits/doubleDiamond.kt"); } + @TestMetadata("doubleGenericDiamond.kt") + public void testDoubleGenericDiamond() throws Exception { + runTest("compiler/testData/codegen/box/traits/doubleGenericDiamond.kt"); + } + @TestMetadata("genericMethod.kt") public void testGenericMethod() throws Exception { runTest("compiler/testData/codegen/box/traits/genericMethod.kt"); diff --git a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index 050474433c5..8871864fb7a 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -31041,6 +31041,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/traits/doubleDiamond.kt"); } + @TestMetadata("doubleGenericDiamond.kt") + public void testDoubleGenericDiamond() throws Exception { + runTest("compiler/testData/codegen/box/traits/doubleGenericDiamond.kt"); + } + @TestMetadata("genericMethod.kt") public void testGenericMethod() throws Exception { runTest("compiler/testData/codegen/box/traits/genericMethod.kt"); diff --git a/compiler/tests-gen/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java index ca2ec69d0ee..b06b6c3c28e 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java @@ -31636,6 +31636,11 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/traits/doubleDiamond.kt"); } + @TestMetadata("doubleGenericDiamond.kt") + public void testDoubleGenericDiamond() throws Exception { + runTest("compiler/testData/codegen/box/traits/doubleGenericDiamond.kt"); + } + @TestMetadata("genericMethod.kt") public void testGenericMethod() throws Exception { runTest("compiler/testData/codegen/box/traits/genericMethod.kt"); 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 071916bd0a2..15f4be5fddb 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 @@ -25592,6 +25592,11 @@ public class IrJsCodegenBoxES6TestGenerated extends AbstractIrJsCodegenBoxES6Tes runTest("compiler/testData/codegen/box/traits/doubleDiamond.kt"); } + @TestMetadata("doubleGenericDiamond.kt") + public void testDoubleGenericDiamond() throws Exception { + runTest("compiler/testData/codegen/box/traits/doubleGenericDiamond.kt"); + } + @TestMetadata("genericMethod.kt") public void testGenericMethod() throws Exception { runTest("compiler/testData/codegen/box/traits/genericMethod.kt"); 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 b3c5cdbfc7a..a2f65e44e31 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 @@ -25592,6 +25592,11 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { runTest("compiler/testData/codegen/box/traits/doubleDiamond.kt"); } + @TestMetadata("doubleGenericDiamond.kt") + public void testDoubleGenericDiamond() throws Exception { + runTest("compiler/testData/codegen/box/traits/doubleGenericDiamond.kt"); + } + @TestMetadata("genericMethod.kt") public void testGenericMethod() throws Exception { runTest("compiler/testData/codegen/box/traits/genericMethod.kt"); 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 6fd9d930afc..293c78c94ce 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 @@ -25592,6 +25592,11 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { runTest("compiler/testData/codegen/box/traits/doubleDiamond.kt"); } + @TestMetadata("doubleGenericDiamond.kt") + public void testDoubleGenericDiamond() throws Exception { + runTest("compiler/testData/codegen/box/traits/doubleGenericDiamond.kt"); + } + @TestMetadata("genericMethod.kt") public void testGenericMethod() throws Exception { runTest("compiler/testData/codegen/box/traits/genericMethod.kt"); 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 0870716ac09..0fc21b69740 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 @@ -13890,6 +13890,11 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest runTest("compiler/testData/codegen/box/traits/doubleDiamond.kt"); } + @TestMetadata("doubleGenericDiamond.kt") + public void testDoubleGenericDiamond() throws Exception { + runTest("compiler/testData/codegen/box/traits/doubleGenericDiamond.kt"); + } + @TestMetadata("genericMethod.kt") public void testGenericMethod() throws Exception { runTest("compiler/testData/codegen/box/traits/genericMethod.kt");