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

39 lines
1.0 KiB
Kotlin
Vendored

// MODULE: lib
// FILE: B.kt
// VERSION: 1
infix fun X.foo(param: String) = "foo before change $param"
tailrec fun bar(param: String) = "bar before change $param"
class X() {
infix fun qux(param: String) = "qux before change $param"
tailrec fun muc(param: String) = "muc before change $param"
}
// FILE: A.kt
// VERSION: 2
fun X.foo(param: String) = "foo after removal of infix $param"
fun bar(param: String) = "bar after removal of tailrec $param"
class X() {
fun qux(param: String) = "qux after removal of infix $param"
fun muc(param: String) = "muc after removal of tailrec $param"
}
// MODULE: mainLib(lib)
// FILE: mainLib.kt
fun lib(): String = when {
X() foo "yes" != "foo after removal of infix yes" -> "fail 1"
bar("indeed") != "bar after removal of tailrec indeed" -> "fail 2"
X() qux "naturally" != "qux after removal of infix naturally" -> "fail 3"
X().muc("of course") != "muc after removal of tailrec of course" -> "fail 4"
else -> "OK"
}
// MODULE: main(mainLib)
// FILE: main.kt
fun box(): String = lib()