blob: 33debeeec0982e8c26c728b6e36cfa7ee0e46ff2 [file]
// FILE: lib.kt
package foo
inline fun bar(n: Int, x: Int) = if (n <= 5) x else 10
// FILE: main.kt
package foo
private var LOG = ""
fun log(string: String) {
LOG += "$string;"
}
fun pullLog(): String {
val string = LOG
LOG = ""
return string
}
fun <T> fizz(x: T): T {
log("fizz($x)")
return x
}
// CHECK_NOT_CALLED: bar_vux9f0$
fun test(n: Int): Int = bar(n, fizz(n))
fun box(): String {
var result = test(4)
if (result != 4) return "fail1: $result"
result = test(8)
if (result != 10) return "fail2: $result"
var log = pullLog()
if (log != "fizz(4);fizz(8);") return "fail_log: $log"
return "OK"
}