diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java index 3d866b276fa..fea5427b4cf 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java @@ -225,6 +225,12 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia runTest("compiler/testData/diagnostics/tests/DeferredTypes.kt"); } + @Test + @TestMetadata("delegationTypeMismatch.kt") + public void testDelegationTypeMismatch() throws Exception { + runTest("compiler/testData/diagnostics/tests/delegationTypeMismatch.kt"); + } + @Test @TestMetadata("DeprecatedGetSetPropertyDelegateConvention.kt") public void testDeprecatedGetSetPropertyDelegateConvention() throws Exception { diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java index 78ed908495c..1490ed90802 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java @@ -225,6 +225,12 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated runTest("compiler/testData/diagnostics/tests/DeferredTypes.kt"); } + @Test + @TestMetadata("delegationTypeMismatch.kt") + public void testDelegationTypeMismatch() throws Exception { + runTest("compiler/testData/diagnostics/tests/delegationTypeMismatch.kt"); + } + @Test @TestMetadata("DeprecatedGetSetPropertyDelegateConvention.kt") public void testDeprecatedGetSetPropertyDelegateConvention() 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 a8db89a4500..a81583c91c9 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 @@ -225,6 +225,12 @@ public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFir runTest("compiler/testData/diagnostics/tests/DeferredTypes.kt"); } + @Test + @TestMetadata("delegationTypeMismatch.kt") + public void testDelegationTypeMismatch() throws Exception { + runTest("compiler/testData/diagnostics/tests/delegationTypeMismatch.kt"); + } + @Test @TestMetadata("DeprecatedGetSetPropertyDelegateConvention.kt") public void testDeprecatedGetSetPropertyDelegateConvention() 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 80c20e72a96..7cd0578a4a6 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 @@ -225,6 +225,12 @@ public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDia runTest("compiler/testData/diagnostics/tests/DeferredTypes.kt"); } + @Test + @TestMetadata("delegationTypeMismatch.kt") + public void testDelegationTypeMismatch() throws Exception { + runTest("compiler/testData/diagnostics/tests/delegationTypeMismatch.kt"); + } + @Test @TestMetadata("DeprecatedGetSetPropertyDelegateConvention.kt") public void testDeprecatedGetSetPropertyDelegateConvention() throws Exception { diff --git a/compiler/testData/diagnostics/tests/delegationTypeMismatch.fir.kt b/compiler/testData/diagnostics/tests/delegationTypeMismatch.fir.kt new file mode 100644 index 00000000000..0d19264dd55 --- /dev/null +++ b/compiler/testData/diagnostics/tests/delegationTypeMismatch.fir.kt @@ -0,0 +1,13 @@ +// ISSUE: KT-55552 + +interface B2 { + fun d() +} + +class B + +open class C(b: B) : B2 by b {} //no error in K2, K1 - [TYPE_MISMATCH] Type mismatch: inferred type is B but B2 was expected + +fun main() { + val c = C(B()).d() //runtime AbstractMethodError +} diff --git a/compiler/testData/diagnostics/tests/delegationTypeMismatch.kt b/compiler/testData/diagnostics/tests/delegationTypeMismatch.kt new file mode 100644 index 00000000000..3ef0359fd04 --- /dev/null +++ b/compiler/testData/diagnostics/tests/delegationTypeMismatch.kt @@ -0,0 +1,13 @@ +// ISSUE: KT-55552 + +interface B2 { + fun d() +} + +class B + +open class C(b: B) : B2 by b {} //no error in K2, K1 - [TYPE_MISMATCH] Type mismatch: inferred type is B but B2 was expected + +fun main() { + val c = C(B()).d() //runtime AbstractMethodError +} 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 ac50f0a312d..68254e76d5f 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 @@ -225,6 +225,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest { runTest("compiler/testData/diagnostics/tests/DeferredTypes.kt"); } + @Test + @TestMetadata("delegationTypeMismatch.kt") + public void testDelegationTypeMismatch() throws Exception { + runTest("compiler/testData/diagnostics/tests/delegationTypeMismatch.kt"); + } + @Test @TestMetadata("DeprecatedGetSetPropertyDelegateConvention.kt") public void testDeprecatedGetSetPropertyDelegateConvention() throws Exception {