[MPP] Forbid actual member in expect class

Such member descriptor will be actual and expect at the same time,
so we should run both checks.

^KT-40903 Fixed
This commit is contained in:
Roman Efremov
2023-04-03 18:17:21 +02:00
committed by Space Team
parent c3734aa9ce
commit bcf4528763
7 changed files with 50 additions and 5 deletions
@@ -0,0 +1,13 @@
// MODULE: m1-common
// FILE: common.kt
expect class Foo {
<!ACTUAL_WITHOUT_EXPECT!>actual fun bar()<!>
}
// MODULE: m1-jvm()()(m1-common)
// FILE: jvm.kt
actual class Foo {
actual fun bar() {}
}
@@ -0,0 +1,13 @@
// MODULE: m1-common
// FILE: common.kt
expect class Foo {
actual fun <!ACTUAL_WITHOUT_EXPECT{JVM}!>bar<!>()
}
// MODULE: m1-jvm()()(m1-common)
// FILE: jvm.kt
actual class Foo {
actual fun bar() {}
}
@@ -1,12 +1,12 @@
<!DEPRECATED_MODIFIER, INCOMPATIBLE_MODIFIERS!>header<!> <!INCOMPATIBLE_MODIFIERS!>impl<!> class <!NO_ACTUAL_FOR_EXPECT!>First<!>
<!DEPRECATED_MODIFIER, INCOMPATIBLE_MODIFIERS!>header<!> <!INCOMPATIBLE_MODIFIERS!>impl<!> class <!ACTUAL_WITHOUT_EXPECT, NO_ACTUAL_FOR_EXPECT!>First<!>
<!DEPRECATED_MODIFIER, INCOMPATIBLE_MODIFIERS!>header<!> <!INCOMPATIBLE_MODIFIERS!>expect<!> class <!NO_ACTUAL_FOR_EXPECT!>Second<!>
<!DEPRECATED_MODIFIER, INCOMPATIBLE_MODIFIERS!>header<!> <!INCOMPATIBLE_MODIFIERS!>actual<!> class <!NO_ACTUAL_FOR_EXPECT!>Third<!>
<!DEPRECATED_MODIFIER, INCOMPATIBLE_MODIFIERS!>header<!> <!INCOMPATIBLE_MODIFIERS!>actual<!> class <!ACTUAL_WITHOUT_EXPECT, NO_ACTUAL_FOR_EXPECT!>Third<!>
<!DEPRECATED_MODIFIER, INCOMPATIBLE_MODIFIERS!>impl<!> <!INCOMPATIBLE_MODIFIERS!>expect<!> class <!NO_ACTUAL_FOR_EXPECT!>Fourth<!>
<!DEPRECATED_MODIFIER, INCOMPATIBLE_MODIFIERS!>impl<!> <!INCOMPATIBLE_MODIFIERS!>expect<!> class <!ACTUAL_WITHOUT_EXPECT, NO_ACTUAL_FOR_EXPECT!>Fourth<!>
<!DEPRECATED_MODIFIER, INCOMPATIBLE_MODIFIERS!>impl<!> <!INCOMPATIBLE_MODIFIERS!>actual<!> class <!ACTUAL_WITHOUT_EXPECT!>Fifth<!>
<!INCOMPATIBLE_MODIFIERS!>expect<!> <!INCOMPATIBLE_MODIFIERS!>actual<!> class <!NO_ACTUAL_FOR_EXPECT!>Sixth<!>
<!INCOMPATIBLE_MODIFIERS!>expect<!> <!INCOMPATIBLE_MODIFIERS!>actual<!> class <!ACTUAL_WITHOUT_EXPECT, NO_ACTUAL_FOR_EXPECT!>Sixth<!>