From ab883d91c8c32f4a883d0be6b5d622415ef700f9 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Thu, 16 Feb 2023 13:20:17 +0100 Subject: [PATCH] FE: add tests to reproduce KT-56720 --- ...CompilerTestFE10TestdataTestGenerated.java | 12 +++++++++++ ...eeOldFrontendDiagnosticsTestGenerated.java | 12 +++++++++++ ...siOldFrontendDiagnosticsTestGenerated.java | 12 +++++++++++ ...lFromOneJavaInterfaceWithDelegation.fir.kt | 19 ++++++++++++++++++ ...yImplFromOneJavaInterfaceWithDelegation.kt | 19 ++++++++++++++++++ ...mplFromOneKotlinInterfaceWithDelegation.kt | 20 +++++++++++++++++++ .../test/runners/DiagnosticTestGenerated.java | 12 +++++++++++ ...kBoxCodegenWithIrInlinerTestGenerated.java | 6 ++++++ 8 files changed, 112 insertions(+) create mode 100644 compiler/testData/diagnostics/tests/override/manyImplFromOneJavaInterfaceWithDelegation.fir.kt create mode 100644 compiler/testData/diagnostics/tests/override/manyImplFromOneJavaInterfaceWithDelegation.kt create mode 100644 compiler/testData/diagnostics/tests/override/manyImplFromOneKotlinInterfaceWithDelegation.kt diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java index 5ce4977969f..3930d073194 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java @@ -23952,6 +23952,18 @@ public class DiagnosisCompilerTestFE10TestdataTestGenerated extends AbstractDiag runTest("compiler/testData/diagnostics/tests/override/kt8990.kt"); } + @Test + @TestMetadata("manyImplFromOneJavaInterfaceWithDelegation.kt") + public void testManyImplFromOneJavaInterfaceWithDelegation() throws Exception { + runTest("compiler/testData/diagnostics/tests/override/manyImplFromOneJavaInterfaceWithDelegation.kt"); + } + + @Test + @TestMetadata("manyImplFromOneKotlinInterfaceWithDelegation.kt") + public void testManyImplFromOneKotlinInterfaceWithDelegation() throws Exception { + runTest("compiler/testData/diagnostics/tests/override/manyImplFromOneKotlinInterfaceWithDelegation.kt"); + } + @Test @TestMetadata("MissingDelegate.kt") public void testMissingDelegate() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java index 965f15bfdb5..f6ba0456ed5 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java @@ -23952,6 +23952,18 @@ public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFir runTest("compiler/testData/diagnostics/tests/override/kt8990.kt"); } + @Test + @TestMetadata("manyImplFromOneJavaInterfaceWithDelegation.kt") + public void testManyImplFromOneJavaInterfaceWithDelegation() throws Exception { + runTest("compiler/testData/diagnostics/tests/override/manyImplFromOneJavaInterfaceWithDelegation.kt"); + } + + @Test + @TestMetadata("manyImplFromOneKotlinInterfaceWithDelegation.kt") + public void testManyImplFromOneKotlinInterfaceWithDelegation() throws Exception { + runTest("compiler/testData/diagnostics/tests/override/manyImplFromOneKotlinInterfaceWithDelegation.kt"); + } + @Test @TestMetadata("MissingDelegate.kt") public void testMissingDelegate() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java index 755d066d0a2..ef200242782 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java @@ -23958,6 +23958,18 @@ public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDia runTest("compiler/testData/diagnostics/tests/override/kt8990.kt"); } + @Test + @TestMetadata("manyImplFromOneJavaInterfaceWithDelegation.kt") + public void testManyImplFromOneJavaInterfaceWithDelegation() throws Exception { + runTest("compiler/testData/diagnostics/tests/override/manyImplFromOneJavaInterfaceWithDelegation.kt"); + } + + @Test + @TestMetadata("manyImplFromOneKotlinInterfaceWithDelegation.kt") + public void testManyImplFromOneKotlinInterfaceWithDelegation() throws Exception { + runTest("compiler/testData/diagnostics/tests/override/manyImplFromOneKotlinInterfaceWithDelegation.kt"); + } + @Test @TestMetadata("MissingDelegate.kt") public void testMissingDelegate() throws Exception { diff --git a/compiler/testData/diagnostics/tests/override/manyImplFromOneJavaInterfaceWithDelegation.fir.kt b/compiler/testData/diagnostics/tests/override/manyImplFromOneJavaInterfaceWithDelegation.fir.kt new file mode 100644 index 00000000000..ce8a6cb4b44 --- /dev/null +++ b/compiler/testData/diagnostics/tests/override/manyImplFromOneJavaInterfaceWithDelegation.fir.kt @@ -0,0 +1,19 @@ +// FILE: A.java + +public interface A { + default void foo() {} +} + +// FILE: B.java + +public interface B extends A + +// FILE: C.java + +public interface C extends A + +// FILE: test.kt + +class Adapter : B, C + +class D(val adapter: Adapter) : B by adapter, C by adapter diff --git a/compiler/testData/diagnostics/tests/override/manyImplFromOneJavaInterfaceWithDelegation.kt b/compiler/testData/diagnostics/tests/override/manyImplFromOneJavaInterfaceWithDelegation.kt new file mode 100644 index 00000000000..98fca9c346e --- /dev/null +++ b/compiler/testData/diagnostics/tests/override/manyImplFromOneJavaInterfaceWithDelegation.kt @@ -0,0 +1,19 @@ +// FILE: A.java + +public interface A { + default void foo() {} +} + +// FILE: B.java + +public interface B extends A + +// FILE: C.java + +public interface C extends A + +// FILE: test.kt + +class Adapter : B, C + +class D(val adapter: Adapter) : B by adapter, C by adapter diff --git a/compiler/testData/diagnostics/tests/override/manyImplFromOneKotlinInterfaceWithDelegation.kt b/compiler/testData/diagnostics/tests/override/manyImplFromOneKotlinInterfaceWithDelegation.kt new file mode 100644 index 00000000000..037744443b4 --- /dev/null +++ b/compiler/testData/diagnostics/tests/override/manyImplFromOneKotlinInterfaceWithDelegation.kt @@ -0,0 +1,20 @@ +// FIR_IDENTICAL +// FILE: A.kt + +interface A { + fun foo() {} +} + +// FILE: B.kt + +interface B : A + +// FILE: C.kt + +interface C : A + +// FILE: test.kt + +class Adapter : B, C + +class D(val adapter: Adapter) : B by adapter, C by adapter diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java index 298b46814e1..5b9decba296 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java @@ -23958,6 +23958,18 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest { runTest("compiler/testData/diagnostics/tests/override/kt8990.kt"); } + @Test + @TestMetadata("manyImplFromOneJavaInterfaceWithDelegation.kt") + public void testManyImplFromOneJavaInterfaceWithDelegation() throws Exception { + runTest("compiler/testData/diagnostics/tests/override/manyImplFromOneJavaInterfaceWithDelegation.kt"); + } + + @Test + @TestMetadata("manyImplFromOneKotlinInterfaceWithDelegation.kt") + public void testManyImplFromOneKotlinInterfaceWithDelegation() throws Exception { + runTest("compiler/testData/diagnostics/tests/override/manyImplFromOneKotlinInterfaceWithDelegation.kt"); + } + @Test @TestMetadata("MissingDelegate.kt") public void testMissingDelegate() throws Exception { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java index 24ce62c3807..49b73d94aa8 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java @@ -18445,6 +18445,12 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack runTest("compiler/testData/codegen/box/fir/LookupTags.kt"); } + @Test + @TestMetadata("manyImplFromOneJavaInterfaceWithDelegation.kt") + public void testManyImplFromOneJavaInterfaceWithDelegation() throws Exception { + runTest("compiler/testData/codegen/box/fir/manyImplFromOneJavaInterfaceWithDelegation.kt"); + } + @Test @TestMetadata("NameHighlighter.kt") public void testNameHighlighter() throws Exception {