24 lines
639 B
Kotlin
Vendored
24 lines
639 B
Kotlin
Vendored
// EXPECTED_REACHABLE_NODES: 1284
|
|
package foo
|
|
|
|
// CHECK_CONTAINS_NO_CALLS: multiplyInline except=imul
|
|
// CHECK_NOT_CALLED: runNoinline
|
|
|
|
internal inline fun multiply(a: Int, b: Int) = a * b
|
|
|
|
internal inline fun run(a: Int, b: Int, func: (Int, Int) -> Int) = func(a, b)
|
|
|
|
internal fun multiplyInline(a: Int, b: Int) = run(a, b, ::multiply)
|
|
|
|
|
|
internal inline fun runNoinline(a: Int, b: Int, noinline func: (Int, Int) -> Int) = func(a, b)
|
|
|
|
internal 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"
|
|
} |