| class Value<T : Any?> { |
| constructor(value: T = null as T, text: String? = null) /* primary */ { |
| super/*Any*/() |
| /* <init>() */ |
| |
| } |
| |
| var value: T |
| field = value |
| get |
| set |
| |
| var text: String? |
| field = text |
| get |
| set |
| |
| } |
| |
| val <T : Any?> Value<T>.additionalText: Int /* by */ |
| field = DVal(kmember = Value::text) |
| get(): Int { |
| return #additionalText$delegate.getValue(t = <this>, p = ::additionalText/*</* null */>()*/) |
| } |
| |
| val <T : Any?> Value<T>.additionalValue: Int /* by */ |
| field = DVal(kmember = Value::value) |
| get(): Int { |
| return #additionalValue$delegate.getValue(t = <this>, p = ::additionalValue/*</* null */>()*/) |
| } |
| |
| class DVal { |
| constructor(kmember: Any) /* primary */ { |
| super/*Any*/() |
| /* <init>() */ |
| |
| } |
| |
| val kmember: Any |
| field = kmember |
| get |
| |
| operator fun getValue(t: Any?, p: Any): Int { |
| return 42 |
| } |
| |
| } |
| |
| var recivier: Any? |
| field = "fail" |
| get |
| set |
| |
| var value2: Any? |
| field = "fail2" |
| get |
| set |
| |
| var <T : Any?> T.bar: T |
| get(): T { |
| return <this> |
| } |
| set(value: T) { |
| <set-recivier>(<set-?> = <this>) |
| <set-value2>(<set-?> = value) |
| } |
| |
| val barRef: KMutableProperty1<String?, String?> |
| field = ::bar/*<String?>()*/ |
| get |