Files
kotlin-fork/js/js.translator/testData/inline/cases/callableReference.kt
T
2014-10-03 14:23:47 +04:00

23 lines
548 B
Kotlin

package foo
// CHECK_CONTAINS_NO_CALLS: multiplyInline
// CHECK_NOT_CALLED: runNoinline
inline fun multiply(a: Int, b: Int) = a * b
inline fun run(a: Int, b: Int, func: (Int, Int) -> Int) = func(a, b)
fun multiplyInline(a: Int, b: Int) = run(a, b, ::multiply)
inline fun runNoinline(a: Int, b: Int, noinline func: (Int, Int) -> Int) = func(a, b)
fun multiplyNoinline(a: Int, b: Int) = runNoinline(a, b, ::multiply)
fun box(): String {
assertEquals(6, multiplyInline(2, 3))
assertEquals(6, multiplyNoinline(2, 3))
return "OK"
}