Files
kotlin-fork/compiler/testData/codegen/boxInline/noInline/noInline.kt
T
2021-02-02 17:53:52 +03:00

27 lines
522 B
Kotlin
Vendored

// NO_CHECK_LAMBDA_INLINING
// FILE: 1.kt
inline fun calc(s: (Int) -> Int, noinline p: (Int) -> Int) : Int {
val z = p
return s(11) + z(11) + p(11)
}
inline fun extensionLambda(noinline bar: Int.() -> Int) = 10.bar()
// FILE: 2.kt
fun test1(): Int {
return calc( { l: Int -> 2*l}, { l: Int -> 4*l})
}
fun test2(): Int {
return extensionLambda({this * 16})
}
fun box(): String {
if (test1() != 110) return "test1: ${test1()}"
if (test2() != 160) return "test2: ${test2()}"
return "OK"
}