mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-08 08:31:26 +00:00
22 lines
410 B
Kotlin
Vendored
22 lines
410 B
Kotlin
Vendored
import kotlin.reflect.KProperty
|
|
|
|
class Delegate {
|
|
var inner = 1
|
|
operator fun getValue(t: Any?, p: KProperty<*>): Int = inner
|
|
operator fun setValue(t: Any?, p: KProperty<*>, i: Int) { inner = i }
|
|
}
|
|
|
|
fun foo() = Delegate()
|
|
|
|
class A {
|
|
var prop: Int by foo()
|
|
}
|
|
|
|
fun box(): String {
|
|
val c = A()
|
|
if(c.prop != 1) return "fail get"
|
|
c.prop = 2
|
|
if (c.prop != 2) return "fail set"
|
|
return "OK"
|
|
}
|