elect
02/12/2020, 5:10 PMDerek Peirce
02/13/2020, 4:10 AMMarc Knaup
02/13/2020, 4:12 AMinterface Delegation<Value> {
operator fun getValue(thisRef: Any?, property: KProperty<*>): Value
}
fun <Value> delegation(block: () -> Value) = object : Delegation<Value> {
override fun getValue(thisRef: Any?, property: KProperty<*>) = block()
}
fun main() {
val foo by delegation { 42 }
println(foo) // 42
}
Marc Knaup
02/13/2020, 4:12 AMMarc Knaup
02/13/2020, 4:13 AMval SomeClass.foo get() = 42
then that indeed won’t work.elect
02/13/2020, 8:26 AMfun foo() {
val a get() = 2
}