[FE 1.0] Report a more precise diagnostic when parameter modifiers (vararg) are changed in actualization

^KT-62747 Fixed
This commit is contained in:
Nikita Bobko
2023-10-19 17:20:23 +02:00
committed by Space Team
parent 0f82baf841
commit 12f932a63a
10 changed files with 67 additions and 2 deletions
@@ -0,0 +1,16 @@
// MODULE: m1-common
// FILE: common.kt
open class Base {
<!INCOMPATIBLE_MATCHING{JVM}!>open fun foo(vararg bar: Int) {}<!>
}
<!INCOMPATIBLE_MATCHING{JVM}!>expect open class Foo : Base {
}<!>
// MODULE: m2-jvm()()(m1-common)
// FILE: jvm.kt
actual open class Foo : Base() {
override fun foo(bar: IntArray) {}
}
@@ -0,0 +1,16 @@
// MODULE: m1-common
// FILE: common.kt
open class Base {
open fun foo(vararg bar: Int) {}
}
expect open class Foo : Base {
}
// MODULE: m2-jvm()()(m1-common)
// FILE: jvm.kt
actual open <!ACTUAL_CLASSIFIER_MUST_HAVE_THE_SAME_MEMBERS_AS_NON_FINAL_EXPECT_CLASSIFIER_WARNING!>class Foo<!> : Base() {
override fun <!VARARG_CHANGED_IN_NON_FINAL_EXPECT_CLASSIFIER_ACTUALIZATION_WARNING!>foo<!>(bar: IntArray) {}
}