Files
kotlin-fork/backend.native/tests/external/codegen/blackbox/extensionFunctions/whenFail.kt
T

28 lines
532 B
Kotlin

// TODO: muted automatically, investigate should it be ran for JS or not
// IGNORE_BACKEND: JS, NATIVE
fun StringBuilder.takeFirst(): Char {
if (this.length == 0) return 0.toChar()
val c = this.get(0)
this.deleteCharAt(0)
return c
}
fun foo(expr: StringBuilder): Int {
val c = expr.takeFirst()
when(c) {
0.toChar() -> throw Exception("zero")
else -> throw Exception("nonzero" + c)
}
}
fun box(): String {
try {
foo(StringBuilder())
return "Fail"
}
catch (e: Exception) {
return "OK"
}
}