blob: 4d0d89af8694595d2684cfdaa8f81cce6e602974 [file]
// FILE: lib.kt
package foo
import kotlin.test.*
// CHECK_CONTAINS_NO_CALLS: squareMultipliedByTwo except=imul
internal inline fun inline1(a: Int): Int {
return a
}
internal inline fun inline2(a: Int): Int {
return inline1(a) + inline1(a)
}
internal inline fun inline3(a: Int): Int {
return inline1(a) * inline2(a)
}
// FILE: main.kt
package foo
import kotlin.test.*
// CHECK_NOT_CALLED: sumEvenInRange
// CHECK_BREAKS_COUNT: function=squareMultipliedByTwo count=0
// CHECK_LABELS_COUNT: function=squareMultipliedByTwo name=$l$block count=0
internal fun squareMultipliedByTwo(a: Int): Int {
return inline3(a)
}
fun box(): String {
assertEquals(2, squareMultipliedByTwo(1))
assertEquals(18, squareMultipliedByTwo(3))
assertEquals(32, squareMultipliedByTwo(4))
return "OK"
}