Files
kotlin/compiler/testData/codegen/classes/delegationToVal.kt
2015-05-12 19:43:17 +02:00

26 lines
574 B
Kotlin
Vendored

interface IActing {
fun act(): String
}
class CActing(val value: String = "OK"): IActing {
override fun act(): String = value
}
// final so no need in delegate field
class Test(val acting: CActing = CActing()): IActing by acting {
}
// even if open so we don't need delegate field
open class Test2(open val acting: CActing = CActing()): IActing by acting {
}
// even if open the backing field is final, so we don't need delegate field
class Test3() : Test2() {
override val acting = CActing("OKOK")
}
fun box(): String {
val test = Test()
return test.act()
}