[IrActualizer] Don't actualize expect types

This was never semantically correct, but was not important
before KT-63644, as they were immediately dropped after that anyway.

After KT-63644, they were used to compute fake overrides inside them,
which were later matched against actual class, which can
produce false-positive matching errors.

^KT-64835
This commit is contained in:
Pavel Kunyavskiy
2024-01-09 10:23:34 +01:00
committed by Space Team
parent cf3672314a
commit 9374cacdd6
12 changed files with 88 additions and 0 deletions
@@ -0,0 +1,24 @@
// LANGUAGE: +MultiPlatformProjects
// MODULE: lib-common
// FILE: common.kt
abstract expect class Base
expect class Child : Base
// MODULE: lib()()(lib-common)
// FILE: platform.kt
actual abstract class Base() {
abstract fun foo(): Any
}
actual class Child: Base() {
override fun foo(): String = "OK"
}
fun box(): String {
return Child().foo()
}