Files
kotlin/compiler/testData/codegen/boxInline/lambdaTransformation/lambdaInLambda2.kt
2016-04-04 12:07:46 +03:00

38 lines
597 B
Kotlin
Vendored

// FILE: 1.kt
// WITH_RUNTIME
package test
inline fun <R> mfun(f: () -> R) {
f()
}
fun noInline(suffix: String, l: (s: String) -> Unit) {
l(suffix)
}
// FILE: 2.kt
//NO_CHECK_LAMBDA_INLINING
import test.*
import java.util.*
fun test1(prefix: String): String {
var result = "fail"
mfun {
noInline("start") {
if (it.startsWith(prefix)) {
result = "OK"
}
}
}
return result
}
fun box(): String {
if (test1("start") != "OK") return "fail1"
if (test1("nostart") != "fail") return "fail2"
return "OK"
}