Files
kotlin/compiler/testData/binaryCompatibility/klibEvolution/changeObjectToCompanion.kt
2021-01-26 03:42:15 +03:00

48 lines
734 B
Kotlin
Vendored

// MODULE: lib
// FILE: A.kt
// VERSION: 1
open class N {
fun bar() = "something in N"
}
class X {
fun foo() = "without companion"
object W : N() {
val qux = "this is in object"
}
}
// FILE: B.kt
// VERSION: 2
open class N {
fun bar() = "something in N"
}
class X {
fun foo() = "with companion"
companion object W : N() {
val qux = "this is in companion object"
}
}
// MODULE: mainLib(lib)
// FILE: mainLib.kt
fun lib(): String = when {
X.W.qux != "this is in companion object" -> "fail 1"
X.W.bar() != "something in N" -> "fail 2"
X().foo() != "with companion" -> "fail 3"
else -> "OK"
}
// MODULE: main(mainLib)
// FILE: main.kt
fun box(): String = lib()