Files
kotlin/compiler/testData/codegen/box/diagnostics/functions/tailRecursion/whenWithIs.kt
Svetlana Isakova b71260f54e Moved tests
that are used both for codegen & diagnostics to codegen/box/diagnostics
2014-11-21 14:02:45 +03:00

16 lines
447 B
Kotlin

tailRecursive fun withWhen(counter : Int, d : Any) : Int =
if (counter == 0) {
0
}
else if (counter == 5) {
withWhen(counter - 1, 999)
}
else
when (d) {
is String -> withWhen(counter - 1, "is String")
is Number -> withWhen(counter, "is Number")
else -> throw IllegalStateException()
}
fun box() : String = if (withWhen(100000, "test") == 0) "OK" else "FAIL"