blob: 4d1c1a0e69dd3fee888a670a40fc267230ff7b73 [file]
// MODULE: base
// FILE: base.kt
package serialization.fake_overrides
open class A {
open fun qux() = "quxSuper"
open fun tic() = "ticSuper"
}
// MODULE: move(base)
// FILE: move.kt
// VERSION: 1
package serialization.fake_overrides
open class X {
}
class Y: X() {
fun bar() = "barStale"
}
class B: A() {
}
class C: A() {
override fun tic() = "ticChild"
}
// FILE: move2.kt
// VERSION: 2
package serialization.fake_overrides
open class X {
fun bar() = "barMoved"
}
class Y: X() {
}
class B: A() {
override fun qux() = "quxChild"
}
class C: A() {
}
// MODULE: use(move, base)
// FILE: use.kt
package serialization.fake_overrides
class Z: X() {
}
fun test0() = Y().bar()
fun test2() = B().qux()
fun test3() = C().qux()
fun test4() = B().tic()
fun test5() = C().tic()
// MODULE: main(use, move, base)
// FILE: main.kt
import serialization.fake_overrides.*
fun test1() = Z().bar()
fun box(): String {
val failedTests = listOfNotNull(
test0().takeIf { it != "barMoved" },
test1().takeIf { it != "barMoved" },
test2().takeIf { it != "quxChild" },
test3().takeIf { it != "quxSuper" },
test4().takeIf { it != "ticSuper" },
test5().takeIf { it != "ticSuper" },
)
return if (failedTests.isNotEmpty()) failedTests.joinToString() else "OK"
}