Add regression tests for final expect classes overrides that change modality

KT-61840
Specifically see the comment:
https://youtrack.jetbrains.com/issue/KT-61840/K2-support-changes-in-overrides-of-fake-overrides-of-expect-declarations#focus=Comments-27-8077580.0-0

Review: https://jetbrains.team/p/kt/reviews/12147/timeline
This commit is contained in:
Nikita Bobko
2023-09-11 16:07:16 +02:00
committed by Space Team
parent 408e2f109f
commit d6acba1c33
5 changed files with 68 additions and 0 deletions
@@ -109,6 +109,18 @@ public class FirOldFrontendMPPDiagnosticsWithLightTreeTestGenerated extends Abst
runTest("compiler/testData/diagnostics/tests/multiplatform/callConflictsOnExpectAndActualWeaklyCompatible.kt");
}
@Test
@TestMetadata("changeModalityFromOpenToFinalInOverride_finalExpectClass_finalActualClass.kt")
public void testChangeModalityFromOpenToFinalInOverride_finalExpectClass_finalActualClass() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/changeModalityFromOpenToFinalInOverride_finalExpectClass_finalActualClass.kt");
}
@Test
@TestMetadata("changeModalityFromOpenToFinalInOverride_finalExpectClass_openActualClass.kt")
public void testChangeModalityFromOpenToFinalInOverride_finalExpectClass_openActualClass() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/changeModalityFromOpenToFinalInOverride_finalExpectClass_openActualClass.kt");
}
@Test
@TestMetadata("checkNoActualForExpectInLastModule.kt")
public void testCheckNoActualForExpectInLastModule() throws Exception {
@@ -109,6 +109,18 @@ public class FirOldFrontendMPPDiagnosticsWithPsiTestGenerated extends AbstractFi
runTest("compiler/testData/diagnostics/tests/multiplatform/callConflictsOnExpectAndActualWeaklyCompatible.kt");
}
@Test
@TestMetadata("changeModalityFromOpenToFinalInOverride_finalExpectClass_finalActualClass.kt")
public void testChangeModalityFromOpenToFinalInOverride_finalExpectClass_finalActualClass() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/changeModalityFromOpenToFinalInOverride_finalExpectClass_finalActualClass.kt");
}
@Test
@TestMetadata("changeModalityFromOpenToFinalInOverride_finalExpectClass_openActualClass.kt")
public void testChangeModalityFromOpenToFinalInOverride_finalExpectClass_openActualClass() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/changeModalityFromOpenToFinalInOverride_finalExpectClass_openActualClass.kt");
}
@Test
@TestMetadata("checkNoActualForExpectInLastModule.kt")
public void testCheckNoActualForExpectInLastModule() throws Exception {
@@ -0,0 +1,16 @@
// FIR_IDENTICAL
// MODULE: m1-common
// FILE: common.kt
open class Base {
open fun foo() {}
}
expect class Foo : Base
// MODULE: m2-jvm()()(m1-common)
// FILE: jvm.kt
actual class Foo : Base() {
final override fun foo() {}
}
@@ -0,0 +1,16 @@
// FIR_IDENTICAL
// MODULE: m1-common
// FILE: common.kt
open class Base {
open fun foo() {}
}
expect class Foo : Base
// MODULE: m2-jvm()()(m1-common)
// FILE: jvm.kt
actual open class Foo : Base() {
final override fun foo() {}
}
@@ -23476,6 +23476,18 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest {
runTest("compiler/testData/diagnostics/tests/multiplatform/callConflictsOnExpectAndActualWeaklyCompatible.kt");
}
@Test
@TestMetadata("changeModalityFromOpenToFinalInOverride_finalExpectClass_finalActualClass.kt")
public void testChangeModalityFromOpenToFinalInOverride_finalExpectClass_finalActualClass() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/changeModalityFromOpenToFinalInOverride_finalExpectClass_finalActualClass.kt");
}
@Test
@TestMetadata("changeModalityFromOpenToFinalInOverride_finalExpectClass_openActualClass.kt")
public void testChangeModalityFromOpenToFinalInOverride_finalExpectClass_openActualClass() throws Exception {
runTest("compiler/testData/diagnostics/tests/multiplatform/changeModalityFromOpenToFinalInOverride_finalExpectClass_openActualClass.kt");
}
@Test
@TestMetadata("checkNoActualForExpectInLastModule.kt")
public void testCheckNoActualForExpectInLastModule() throws Exception {