testData for binary compatibility tests on klib library evolution

This commit is contained in:
Alexander Gorshenev
2020-12-23 07:24:10 +03:00
parent 3704b2a5af
commit 504bdfc283
39 changed files with 1910 additions and 0 deletions
@@ -0,0 +1,38 @@
// MODULE: lib
// FILE: A.kt
// VERSION: 1
fun X.foo(param: String) = "foo before change $param"
fun bar(param: String) = "bar before change $param"
class X() {
fun qux(param: String) = "qux before change $param"
fun muc(param: String) = "muc before change $param"
}
// FILE: B.kt
// VERSION: 2
infix fun X.foo(param: String) = "foo after change to infix $param"
tailrec fun bar(param: String) = "bar after change to tailrec $param"
class X() {
infix fun qux(param: String) = "qux after change to infix $param"
tailrec fun muc(param: String) = "muc after change to tailrec $param"
}
// MODULE: mainLib(lib)
// FILE: mainLib.kt
fun lib(): String = when {
X().foo("yes") != "foo after change to infix yes" -> "fail 1"
bar("indeed") != "bar after change to tailrec indeed" -> "fail 2"
X().qux("naturally") != "qux after change to infix naturally" -> "fail 3"
X().muc("of course") != "muc after change to tailrec of course" -> "fail 4"
else -> "OK"
}
// MODULE: main(mainLib)
// FILE: main.kt
fun box(): String = lib()