Files
kotlin-fork/js/js.translator/testData/delegation/cases/delegationByIfExpr.kt
T
Michael Nedzelsky 12db8f1551 JS backend: support for explicit delegation
#KT-4479 Fixed
2014-08-09 10:24:02 +04:00

23 lines
499 B
Kotlin
Vendored

package foo
trait Base {
abstract fun foo(x: String): String
}
class BaseImpl(val s: String) : Base {
override fun foo(x: String): String = "Base: ${s}:${x}"
}
var global = true
class Derived() : Base by if (global) BaseImpl("then") else BaseImpl("else")
fun box(): String {
assertEquals("Base: then:!!", Derived().foo("!!"), "delegation by if expression")
global = false
assertEquals("Base: else:!!", Derived().foo("!!"), "delegation by if expression")
return "OK"
}