[FIR] Don't traverse expect hierarchy to check DefaultArgumentsInExpectActualizedByFakeOverride
^KT-63860 Fixed Review: https://jetbrains.team/p/kt/reviews/13334/timeline The previous code was nonsense (I wrote it). It doesn't make sense to subtract actualOverriddenDeclarations from expectOverriddenDeclarations. Default parameters are mentioned on the expect side. So default params in expect/actual supertypes won't be subtracted from expectOverriddenDeclarations (but should be)
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
// FIR_IDENTICAL
|
||||
// MODULE: m1-common
|
||||
// FILE: common.kt
|
||||
|
||||
expect interface SdkBufferedSink {
|
||||
public fun write(arg: String = "default")
|
||||
}
|
||||
|
||||
abstract class AbstractBufferedSinkAdapter() : SdkBufferedSink {
|
||||
override fun write(arg: String) {
|
||||
}
|
||||
}
|
||||
|
||||
expect class BufferedSinkAdapter() : SdkBufferedSink {
|
||||
override fun write(arg: String)
|
||||
}
|
||||
|
||||
// MODULE: m2-jvm()()(m1-common)
|
||||
// FILE: jvm.kt
|
||||
|
||||
actual interface SdkBufferedSink {
|
||||
public actual fun write(arg: String): Unit
|
||||
}
|
||||
|
||||
actual class BufferedSinkAdapter actual constructor() : AbstractBufferedSinkAdapter(), SdkBufferedSink {
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
// FIR_IDENTICAL
|
||||
// MODULE: m1-common
|
||||
// FILE: common.kt
|
||||
|
||||
expect interface SdkBufferedSink {
|
||||
public fun write(arg: String = "default")
|
||||
}
|
||||
|
||||
abstract class AbstractBufferedSinkAdapter() {
|
||||
fun write(arg: String) {
|
||||
}
|
||||
}
|
||||
|
||||
expect class BufferedSinkAdapter() : SdkBufferedSink {
|
||||
override fun write(arg: String)
|
||||
}
|
||||
|
||||
// MODULE: m2-jvm()()(m1-common)
|
||||
// FILE: jvm.kt
|
||||
|
||||
actual interface SdkBufferedSink {
|
||||
public actual fun write(arg: String): Unit
|
||||
}
|
||||
|
||||
actual class BufferedSinkAdapter actual constructor() : AbstractBufferedSinkAdapter(), SdkBufferedSink {
|
||||
}
|
||||
Reference in New Issue
Block a user