Files
kotlin/compiler/testData/codegen/boxInline/lambdaTransformation/lambdaInLambda2.kt
2018-12-21 16:09:06 +01:00

39 lines
620 B
Kotlin
Vendored

// TARGET_BACKEND: JVM
// 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"
}