Files
kotlin-fork/compiler/testData/codegen/box/defaultArguments/kt36853_nestedObject.kt
T
2021-03-18 15:19:24 +03:00

34 lines
677 B
Kotlin
Vendored

// 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)