[K2, MPP] Fix actualization of fake overrides (fixes a set of bugs in coroutines / ktor)
Split MissingFakeOverridesAdder on FakeOverridesActualizer and ActualFakeOverridesAdder ^KT-57984 Fixed ^KT-58003 Fixed ^KT-58124 Fixed ^KT-57833 Fixed ^KT-58153 Fixed
This commit is contained in:
committed by
Space Team
parent
58f8e25bfe
commit
432c781ff7
@@ -0,0 +1,18 @@
|
||||
// FIR_IDENTICAL
|
||||
// ISSUE: KT-58153
|
||||
|
||||
// MODULE: m1-common
|
||||
// FILE: common.kt
|
||||
|
||||
expect open class LockFreeLinkedListNode()
|
||||
|
||||
class NodeList: LockFreeLinkedListNode() {
|
||||
override fun toString(): String = ""
|
||||
}
|
||||
|
||||
// MODULE: m2-jvm()()(m1-common)
|
||||
// FILE: platform.kt
|
||||
|
||||
actual open class LockFreeLinkedListNode {
|
||||
override fun toString(): String = ""
|
||||
}
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// !LANGUAGE: +MultiPlatformProjects
|
||||
|
||||
// MODULE: common
|
||||
// TARGET_PLATFORM: Common
|
||||
// FILE: common.kt
|
||||
|
||||
expect open class C1()
|
||||
expect interface I1
|
||||
|
||||
<!MANY_IMPL_MEMBER_NOT_IMPLEMENTED{JVM}!>open class A : C1(), I1<!>
|
||||
<!MANY_IMPL_MEMBER_NOT_IMPLEMENTED{JVM}!>open class B : I1, C1()<!>
|
||||
|
||||
expect abstract class C2()
|
||||
expect interface I2
|
||||
|
||||
// TODO: KT-58829
|
||||
<!MANY_IMPL_MEMBER_NOT_IMPLEMENTED{JVM}!>class C : C2(), I2<!>
|
||||
|
||||
// MODULE: jvm()()(common)
|
||||
// TARGET_PLATFORM: JVM
|
||||
// FILE: main.kt
|
||||
|
||||
actual open class C1 {
|
||||
fun f() {}
|
||||
}
|
||||
|
||||
actual interface I1 {
|
||||
fun f() {}
|
||||
}
|
||||
|
||||
actual abstract class C2 actual constructor() {
|
||||
fun g() {}
|
||||
}
|
||||
|
||||
actual interface I2 {
|
||||
fun g()
|
||||
}
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// !LANGUAGE: +MultiPlatformProjects
|
||||
|
||||
// MODULE: common
|
||||
// TARGET_PLATFORM: Common
|
||||
// FILE: common.kt
|
||||
|
||||
expect open class C1()
|
||||
expect interface I1
|
||||
|
||||
open <!MANY_IMPL_MEMBER_NOT_IMPLEMENTED{JVM}!>class A<!> : C1(), I1
|
||||
open <!MANY_IMPL_MEMBER_NOT_IMPLEMENTED{JVM}!>class B<!> : I1, C1()
|
||||
|
||||
expect abstract class C2()
|
||||
expect interface I2
|
||||
|
||||
// TODO: KT-58829
|
||||
class C : C2(), I2
|
||||
|
||||
// MODULE: jvm()()(common)
|
||||
// TARGET_PLATFORM: JVM
|
||||
// FILE: main.kt
|
||||
|
||||
actual open class C1 {
|
||||
fun f() {}
|
||||
}
|
||||
|
||||
actual interface I1 {
|
||||
fun f() {}
|
||||
}
|
||||
|
||||
actual abstract class C2 actual constructor() {
|
||||
fun g() {}
|
||||
}
|
||||
|
||||
actual interface I2 {
|
||||
fun g()
|
||||
}
|
||||
Vendored
+34
@@ -0,0 +1,34 @@
|
||||
// FIR_IDENTICAL
|
||||
// ISSUE: KT-57833
|
||||
|
||||
// MODULE: m1-common
|
||||
// FILE: common.kt
|
||||
|
||||
interface ByteChannel : ByteReadChannel, ByteWriteChannel
|
||||
|
||||
expect interface ByteReadChannel {
|
||||
val isClosedForWrite: Boolean
|
||||
|
||||
fun f()
|
||||
}
|
||||
|
||||
expect interface ByteWriteChannel {
|
||||
val isClosedForWrite: Boolean
|
||||
|
||||
fun f()
|
||||
}
|
||||
|
||||
// MODULE: m2-jvm()()(m1-common)
|
||||
// FILE: platform.kt
|
||||
|
||||
actual interface ByteReadChannel {
|
||||
actual val isClosedForWrite: Boolean
|
||||
|
||||
actual fun f()
|
||||
}
|
||||
|
||||
actual interface ByteWriteChannel {
|
||||
actual val isClosedForWrite: Boolean
|
||||
|
||||
actual fun f()
|
||||
}
|
||||
Reference in New Issue
Block a user