JVM_IR KT-36853 patch parents after tailrecPhase

This commit is contained in:
Dmitry Petrov
2021-03-17 14:50:31 +03:00
committed by TeamCityServer
parent 34f8c7a68b
commit ac6232b4ba
12 changed files with 200 additions and 8 deletions
@@ -0,0 +1,33 @@
// IGNORE_BACKEND: JS_IR, WASM
interface IFoo {
fun foo(): String
}
tailrec fun tailrecDefault(
fake: Int,
x: IFoo = object : IFoo {
tailrec fun tailrecDefaultNested(
b: Boolean,
y: IFoo = object: IFoo {
override fun foo() = "OK"
}
): String {
return if (b)
tailrecDefaultNested(false)
else
y.foo()
}
override fun foo(): String {
return tailrecDefaultNested(true)
}
}
): String {
return if (fake == 0)
tailrecDefault(1)
else
x.foo()
}
fun box(): String = tailrecDefault(0)