Files
kotlin-fork/compiler/testData/ir/interpreter/exceptions/stackOverflow.kt
T
Ivan Kylchik a9abf3b9b6 Drop redundant frames after some of exceptions in interpreter
Drop only last frame because it is pointing on function itself.
2021-08-06 13:33:21 +03:00

23 lines
809 B
Kotlin
Vendored

@CompileTimeCalculation
fun foo(i: Int): Int = foo(i + 1)
const val overflow = <!WAS_NOT_EVALUATED: `
Exception java.lang.StackOverflowError
at StackOverflowKt.foo(stackOverflow.kt:2)
at StackOverflowKt.foo(stackOverflow.kt:2)
at StackOverflowKt.foo(stackOverflow.kt:2)
at StackOverflowKt.foo(stackOverflow.kt:2)
at StackOverflowKt.foo(stackOverflow.kt:2)
at StackOverflowKt.foo(stackOverflow.kt:2)
at StackOverflowKt.foo(stackOverflow.kt:2)
at StackOverflowKt.foo(stackOverflow.kt:2)
at StackOverflowKt.foo(stackOverflow.kt:2)
at StackOverflowKt.foo(stackOverflow.kt:2)
...`!>foo(0)<!>
@CompileTimeCalculation
fun withPossibleOverflow(x: Int): Int {
if (x == 0) return 0
return withPossibleOverflow(x - 1) + 1
}
const val notOverflow = <!EVALUATED: `5000`!>withPossibleOverflow(5_000)<!>