Replace get() and set() to getValue() and setValue() (property delegates)
This commit is contained in:
+1
-1
@@ -1,7 +1,7 @@
|
||||
// KT-5612
|
||||
|
||||
class Delegate {
|
||||
public fun get(thisRef: Any?, prop: PropertyMetadata): String {
|
||||
public fun getValue(thisRef: Any?, prop: PropertyMetadata): String {
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
class Delegate {
|
||||
var inner = 1
|
||||
fun get(t: Any?, p: PropertyMetadata): Int = inner
|
||||
fun set(t: Any?, p: PropertyMetadata, i: Int) { inner = i }
|
||||
fun getValue(t: Any?, p: PropertyMetadata): Int = inner
|
||||
fun setValue(t: Any?, p: PropertyMetadata, i: Int) { inner = i }
|
||||
}
|
||||
|
||||
class B {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
class Delegate {
|
||||
fun get(t: Any?, p: PropertyMetadata): Int = 1
|
||||
fun getValue(t: Any?, p: PropertyMetadata): Int = 1
|
||||
}
|
||||
|
||||
class AImpl {
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
class Delegate {
|
||||
var inner = Derived()
|
||||
fun get(t: Any?, p: PropertyMetadata): Derived {
|
||||
fun getValue(t: Any?, p: PropertyMetadata): Derived {
|
||||
inner = Derived(inner.a + "-get")
|
||||
return inner
|
||||
}
|
||||
fun set(t: Any?, p: PropertyMetadata, i: Base) { inner = Derived(inner.a + "-" + i.a + "-set") }
|
||||
fun setValue(t: Any?, p: PropertyMetadata, i: Base) { inner = Derived(inner.a + "-" + i.a + "-set") }
|
||||
}
|
||||
|
||||
class A {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
class Delegate {
|
||||
fun get(t: Any?, p: PropertyMetadata, s: String = ""): Int = 1
|
||||
fun getValue(t: Any?, p: PropertyMetadata, s: String = ""): Int = 1
|
||||
}
|
||||
|
||||
val prop: Int by Delegate()
|
||||
|
||||
@@ -3,8 +3,8 @@ class A {
|
||||
|
||||
class Delegate {
|
||||
var inner = 1
|
||||
fun get(t: Any?, p: PropertyMetadata): Int = inner
|
||||
fun set(t: Any?, p: PropertyMetadata, i: Int) { inner = i }
|
||||
fun getValue(t: Any?, p: PropertyMetadata): Int = inner
|
||||
fun setValue(t: Any?, p: PropertyMetadata, i: Int) { inner = i }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
class Delegate {
|
||||
var inner = 1
|
||||
fun get(t: Any?, p: PropertyMetadata): Int = inner
|
||||
fun set(t: Any?, p: PropertyMetadata, i: Int) { inner = i }
|
||||
fun getValue(t: Any?, p: PropertyMetadata): Int = inner
|
||||
fun setValue(t: Any?, p: PropertyMetadata, i: Int) { inner = i }
|
||||
}
|
||||
|
||||
class A {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
class Delegate {
|
||||
var inner = 1
|
||||
fun get(t: Any?, p: PropertyMetadata): Int = inner
|
||||
fun set(t: Any?, p: PropertyMetadata, i: Int) { inner = i }
|
||||
fun getValue(t: Any?, p: PropertyMetadata): Int = inner
|
||||
fun setValue(t: Any?, p: PropertyMetadata, i: Int) { inner = i }
|
||||
}
|
||||
|
||||
fun foo() = Delegate()
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
class Delegate {
|
||||
var inner = 1
|
||||
fun get(t: Any?, p: PropertyMetadata): Int = inner
|
||||
fun set(t: Any?, p: PropertyMetadata, i: Int) { inner = i }
|
||||
fun getValue(t: Any?, p: PropertyMetadata): Int = inner
|
||||
fun setValue(t: Any?, p: PropertyMetadata, i: Int) { inner = i }
|
||||
}
|
||||
|
||||
val p = Delegate()
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
class Delegate {
|
||||
fun get(t: A, p: PropertyMetadata): Int = 1
|
||||
fun getValue(t: A, p: PropertyMetadata): Int = 1
|
||||
}
|
||||
|
||||
val A.prop: Int by Delegate()
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
class Delegate {
|
||||
fun get(t: F.A, p: PropertyMetadata): Int = 1
|
||||
fun getValue(t: F.A, p: PropertyMetadata): Int = 1
|
||||
}
|
||||
|
||||
class F {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
class Delegate<T>(var inner: T) {
|
||||
fun get(t: Any?, p: PropertyMetadata): T = inner
|
||||
fun set(t: Any?, p: PropertyMetadata, i: T) { inner = i }
|
||||
fun getValue(t: Any?, p: PropertyMetadata): T = inner
|
||||
fun setValue(t: Any?, p: PropertyMetadata, i: T) { inner = i }
|
||||
}
|
||||
|
||||
class A {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
class Delegate {
|
||||
}
|
||||
|
||||
fun Delegate.get(t: Any?, p: PropertyMetadata): Int = 1
|
||||
fun Delegate.getValue(t: Any?, p: PropertyMetadata): Int = 1
|
||||
|
||||
class A {
|
||||
val prop: Int by Delegate()
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ class Delegate {
|
||||
}
|
||||
|
||||
class A {
|
||||
fun Delegate.get(t: Any?, p: PropertyMetadata): Int = 1
|
||||
fun Delegate.getValue(t: Any?, p: PropertyMetadata): Int = 1
|
||||
val prop: Int by Delegate()
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
class Delegate {
|
||||
fun get(t: Any?, p: PropertyMetadata): Int = 1
|
||||
fun getValue(t: Any?, p: PropertyMetadata): Int = 1
|
||||
}
|
||||
|
||||
class A {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
class Delegate {
|
||||
var inner = 1
|
||||
fun get(t: Any?, p: PropertyMetadata): Int = inner
|
||||
fun set(t: Any?, p: PropertyMetadata, i: Int) { inner = i }
|
||||
fun getValue(t: Any?, p: PropertyMetadata): Int = inner
|
||||
fun setValue(t: Any?, p: PropertyMetadata, i: Int) { inner = i }
|
||||
}
|
||||
|
||||
class A {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
class Delegate {
|
||||
fun get(t: Any?, p: PropertyMetadata): Int = 1
|
||||
fun getValue(t: Any?, p: PropertyMetadata): Int = 1
|
||||
}
|
||||
|
||||
interface A {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
class Delegate<T>(var inner: T) {
|
||||
fun get(t: Any?, p: PropertyMetadata): T = inner
|
||||
fun set(t: Any?, p: PropertyMetadata, i: T) { inner = i }
|
||||
fun getValue(t: Any?, p: PropertyMetadata): T = inner
|
||||
fun setValue(t: Any?, p: PropertyMetadata, i: T) { inner = i }
|
||||
}
|
||||
|
||||
class A {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
class Delegate<T>(var inner: T) {
|
||||
fun get(t: Any?, p: PropertyMetadata): T = inner
|
||||
fun set(t: Any?, p: PropertyMetadata, i: T) { inner = i }
|
||||
fun getValue(t: Any?, p: PropertyMetadata): T = inner
|
||||
fun setValue(t: Any?, p: PropertyMetadata, i: T) { inner = i }
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
class Delegate {
|
||||
var inner = 1
|
||||
fun get(t: Any?, p: PropertyMetadata): Int = inner
|
||||
fun set(t: Any?, p: PropertyMetadata, i: Int) { inner = i }
|
||||
fun getValue(t: Any?, p: PropertyMetadata): Int = inner
|
||||
fun setValue(t: Any?, p: PropertyMetadata, i: Int) { inner = i }
|
||||
}
|
||||
|
||||
class A {
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
class Delegate {
|
||||
var name = ""
|
||||
fun get(t: Any?, p: PropertyMetadata): String = name
|
||||
fun getValue(t: Any?, p: PropertyMetadata): String = name
|
||||
fun propertyDelegated(p: PropertyMetadata, s: String = "is OK") { name = "${p.name} $s" }
|
||||
}
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -3,7 +3,7 @@ class A {
|
||||
|
||||
inner class Delegate {
|
||||
var name = ""
|
||||
fun get(t: Any?, p: PropertyMetadata): String = name
|
||||
fun getValue(t: Any?, p: PropertyMetadata): String = name
|
||||
fun propertyDelegated(p: PropertyMetadata) { name = p.name }
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -1,6 +1,6 @@
|
||||
class Delegate {
|
||||
var name = ""
|
||||
fun get(t: Any?, p: PropertyMetadata): String = name
|
||||
fun getValue(t: Any?, p: PropertyMetadata): String = name
|
||||
fun propertyDelegated(p: PropertyMetadata) { name = p.name }
|
||||
}
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -1,6 +1,6 @@
|
||||
class Delegate {
|
||||
var name = ""
|
||||
fun get(t: Any?, p: PropertyMetadata): String = name
|
||||
fun getValue(t: Any?, p: PropertyMetadata): String = name
|
||||
fun propertyDelegated(p: PropertyMetadata) { name = p.name }
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
class Delegate {
|
||||
var name = ""
|
||||
fun get(t: Any?, p: PropertyMetadata): String = name
|
||||
fun getValue(t: Any?, p: PropertyMetadata): String = name
|
||||
fun propertyDelegated(p: PropertyMetadata) { name = p.name }
|
||||
}
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -1,6 +1,6 @@
|
||||
class Delegate {
|
||||
var name = ""
|
||||
fun get(t: A, p: PropertyMetadata): String = name
|
||||
fun getValue(t: A, p: PropertyMetadata): String = name
|
||||
fun propertyDelegated(p: PropertyMetadata) { name = p.name }
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
class Delegate {
|
||||
var name = ""
|
||||
fun get(t: F.A, p: PropertyMetadata): String = name
|
||||
fun getValue(t: F.A, p: PropertyMetadata): String = name
|
||||
fun propertyDelegated(p: PropertyMetadata) { name = p.name }
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
class Delegate {
|
||||
var name = ""
|
||||
fun get(t: Any?, p: PropertyMetadata): String = name
|
||||
fun getValue(t: Any?, p: PropertyMetadata): String = name
|
||||
fun propertyDelegated(p: PropertyMetadata) { name = p.name }
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
class Delegate {
|
||||
var inner = "OK"
|
||||
fun get(t: Any?, p: PropertyMetadata): String = inner
|
||||
fun getValue(t: Any?, p: PropertyMetadata): String = inner
|
||||
|
||||
private fun propertyDelegated(p: PropertyMetadata) { inner = "fail" }
|
||||
fun propertyDelegated() { inner = "fail" }
|
||||
|
||||
Vendored
+1
-1
@@ -1,6 +1,6 @@
|
||||
class Delegate {
|
||||
var name = ""
|
||||
fun get(t: Any?, p: PropertyMetadata): String = name
|
||||
fun getValue(t: Any?, p: PropertyMetadata): String = name
|
||||
}
|
||||
|
||||
fun Delegate.propertyDelegated(p: PropertyMetadata) { name = p.name }
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
class Delegate {
|
||||
var name = ""
|
||||
fun get(t: Any?, p: PropertyMetadata): String = name
|
||||
fun getValue(t: Any?, p: PropertyMetadata): String = name
|
||||
fun propertyDelegated(p: PropertyMetadata) { name = p.name }
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
class Delegate {
|
||||
var name = ""
|
||||
fun get(t: Any?, p: PropertyMetadata): String = name
|
||||
fun getValue(t: Any?, p: PropertyMetadata): String = name
|
||||
fun propertyDelegated(p: PropertyMetadata) { name = p.name }
|
||||
}
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -1,6 +1,6 @@
|
||||
class Delegate {
|
||||
var count = 0
|
||||
fun get(t: Any?, p: PropertyMetadata) {}
|
||||
fun getValue(t: Any?, p: PropertyMetadata) {}
|
||||
fun propertyDelegated(vararg p: PropertyMetadata) { count++ }
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
class Delegate {
|
||||
var name = ""
|
||||
fun get(t: Any?, p: PropertyMetadata): String = name
|
||||
fun getValue(t: Any?, p: PropertyMetadata): String = name
|
||||
fun propertyDelegated(p: PropertyMetadata) { name = p.name }
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
class Delegate {
|
||||
var name = ""
|
||||
fun get(t: Any?, p: PropertyMetadata): String = name
|
||||
fun getValue(t: Any?, p: PropertyMetadata): String = name
|
||||
fun propertyDelegated(vararg p: PropertyMetadata) { name = p[0].name }
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ val Int.foo: String by O
|
||||
object O {
|
||||
val metadatas = HashSet<PropertyMetadata>()
|
||||
|
||||
fun get(t: Any?, p: PropertyMetadata): String {
|
||||
fun getValue(t: Any?, p: PropertyMetadata): String {
|
||||
metadatas.add(p)
|
||||
return ""
|
||||
}
|
||||
|
||||
+6
-6
@@ -17,18 +17,18 @@ val metadatas = IdentityHashMap<PropertyMetadata, Unit>()
|
||||
fun record(p: PropertyMetadata) = metadatas.put(p, Unit)
|
||||
|
||||
object IntHandler {
|
||||
fun get(t: Any?, p: PropertyMetadata): Int { record(p); return 42 }
|
||||
fun set(t: Any?, p: PropertyMetadata, value: Int) { record(p) }
|
||||
fun getValue(t: Any?, p: PropertyMetadata): Int { record(p); return 42 }
|
||||
fun setValue(t: Any?, p: PropertyMetadata, value: Int) { record(p) }
|
||||
}
|
||||
|
||||
object AnyHandler {
|
||||
fun get(t: Any?, p: PropertyMetadata): Any? { record(p); return 3.14 }
|
||||
fun set(t: Any?, p: PropertyMetadata, value: Any?) { record(p) }
|
||||
fun getValue(t: Any?, p: PropertyMetadata): Any? { record(p); return 3.14 }
|
||||
fun setValue(t: Any?, p: PropertyMetadata, value: Any?) { record(p) }
|
||||
}
|
||||
|
||||
object StringHandler {
|
||||
fun get(t: Any?, p: PropertyMetadata): String { record(p); return p.name }
|
||||
fun set(t: Any?, p: PropertyMetadata, value: String) { record(p) }
|
||||
fun getValue(t: Any?, p: PropertyMetadata): String { record(p); return p.name }
|
||||
fun setValue(t: Any?, p: PropertyMetadata, value: String) { record(p) }
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
class Delegate {
|
||||
var inner = 1
|
||||
fun get(t: Any?, p: PropertyMetadata): Int = inner
|
||||
fun getValue(t: Any?, p: PropertyMetadata): Int = inner
|
||||
}
|
||||
|
||||
fun Delegate.set(t: Any?, p: PropertyMetadata, i: Int) { inner = i }
|
||||
fun Delegate.setValue(t: Any?, p: PropertyMetadata, i: Int) { inner = i }
|
||||
|
||||
class A {
|
||||
var prop: Int by Delegate()
|
||||
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
class Delegate {
|
||||
var inner = 1
|
||||
fun get(t: Any?, p: PropertyMetadata): Int = inner
|
||||
fun getValue(t: Any?, p: PropertyMetadata): Int = inner
|
||||
}
|
||||
|
||||
class A {
|
||||
fun Delegate.set(t: Any?, p: PropertyMetadata, i: Int) { inner = i }
|
||||
fun Delegate.setValue(t: Any?, p: PropertyMetadata, i: Int) { inner = i }
|
||||
|
||||
var prop: Int by Delegate()
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
class Delegate {
|
||||
fun get(t: Any?, p: PropertyMetadata): Int = 1
|
||||
fun getValue(t: Any?, p: PropertyMetadata): Int = 1
|
||||
}
|
||||
|
||||
val prop: Int by Delegate()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
class Delegate {
|
||||
var inner = 1
|
||||
fun get(t: Any?, p: PropertyMetadata): Int = inner
|
||||
fun set(t: Any?, p: PropertyMetadata, i: Int) { inner = i }
|
||||
fun getValue(t: Any?, p: PropertyMetadata): Int = inner
|
||||
fun setValue(t: Any?, p: PropertyMetadata, i: Int) { inner = i }
|
||||
}
|
||||
|
||||
var prop: Int by Delegate()
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
class Delegate<T>(val f: (T) -> Int) {
|
||||
fun get(t: T, p: PropertyMetadata): Int = f(t)
|
||||
fun getValue(t: T, p: PropertyMetadata): Int = f(t)
|
||||
}
|
||||
|
||||
val p = Delegate<A> { t -> t.foo() }
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
class Delegate {
|
||||
fun get(t: Any?, p: PropertyMetadata): Int = 1
|
||||
fun getValue(t: Any?, p: PropertyMetadata): Int = 1
|
||||
}
|
||||
|
||||
class A {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
class Delegate {
|
||||
var inner = 1
|
||||
fun get(t: Any?, p: PropertyMetadata): Int = inner
|
||||
fun set(t: Any?, p: PropertyMetadata, i: Int) { inner = i }
|
||||
fun getValue(t: Any?, p: PropertyMetadata): Int = inner
|
||||
fun setValue(t: Any?, p: PropertyMetadata, i: Int) { inner = i }
|
||||
}
|
||||
|
||||
class A {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
class Delegate {
|
||||
fun get(t: Any?, vararg p: PropertyMetadata): Int = 1
|
||||
fun getValue(t: Any?, vararg p: PropertyMetadata): Int = 1
|
||||
}
|
||||
|
||||
val prop: Int by Delegate()
|
||||
|
||||
+2
-2
@@ -1,14 +1,14 @@
|
||||
public open class TestDelegate<T: Any>(private val initializer: () -> T) {
|
||||
private var value: T? = null
|
||||
|
||||
public open fun get(thisRef: Any?, desc: PropertyMetadata): T {
|
||||
public open fun getValue(thisRef: Any?, desc: PropertyMetadata): T {
|
||||
if (value == null) {
|
||||
value = initializer()
|
||||
}
|
||||
return value!!
|
||||
}
|
||||
|
||||
public open fun set(thisRef: Any?, desc: PropertyMetadata, svalue : T) {
|
||||
public open fun setValue(thisRef: Any?, desc: PropertyMetadata, svalue : T) {
|
||||
value = svalue
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
class D {
|
||||
fun get(a: Any, p: PropertyMetadata) { }
|
||||
fun getValue(a: Any, p: PropertyMetadata) { }
|
||||
}
|
||||
|
||||
object P {
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
class Holder(var value: Int) {
|
||||
fun get(that: Any?, desc: PropertyMetadata) = value
|
||||
fun set(that: Any?, desc: PropertyMetadata, newValue: Int) { value = newValue }
|
||||
fun getValue(that: Any?, desc: PropertyMetadata) = value
|
||||
fun setValue(that: Any?, desc: PropertyMetadata, newValue: Int) { value = newValue }
|
||||
}
|
||||
|
||||
interface R<T: Comparable<T>> {
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
// java.lang.VerifyError: (class: NotImplemented, method: get signature: (Ljava/lang/Object;Ljet/PropertyMetadata;)Ljava/lang/Object;) Unable to pop operand off an empty stack
|
||||
|
||||
class NotImplemented<T>(){
|
||||
fun get(thisRef: Any?, prop: PropertyMetadata): T = notImplemented()
|
||||
fun set(thisRef: Any?, prop: PropertyMetadata, value: T) = notImplemented()
|
||||
fun getValue(thisRef: Any?, prop: PropertyMetadata): T = notImplemented()
|
||||
fun setValue(thisRef: Any?, prop: PropertyMetadata, value: T) = notImplemented()
|
||||
}
|
||||
|
||||
fun notImplemented() : Nothing = notImplemented()
|
||||
|
||||
+2
-2
@@ -2,11 +2,11 @@
|
||||
|
||||
var currentAccountId: Int? by SessionAccessor()
|
||||
class SessionAccessor<T> {
|
||||
fun get(o : Nothing?, desc: PropertyMetadata): T {
|
||||
fun getValue(o : Nothing?, desc: PropertyMetadata): T {
|
||||
return null as T
|
||||
}
|
||||
|
||||
fun set(o : Nothing?, desc: PropertyMetadata, value: T) {
|
||||
fun setValue(o : Nothing?, desc: PropertyMetadata, value: T) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -7,11 +7,11 @@ class MyClass() {
|
||||
}
|
||||
|
||||
class Delegate {
|
||||
fun get(t: Any?, p: PropertyMetadata): String {
|
||||
fun getValue(t: Any?, p: PropertyMetadata): String {
|
||||
return "OK"
|
||||
}
|
||||
|
||||
fun set(t: Any?, p: PropertyMetadata, i: String) {}
|
||||
fun setValue(t: Any?, p: PropertyMetadata, i: String) {}
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@ class A {
|
||||
}
|
||||
|
||||
object NumberDecrypter {
|
||||
fun get(instance: Any?, data: PropertyMetadata) = when (data.name) {
|
||||
fun getValue(instance: Any?, data: PropertyMetadata) = when (data.name) {
|
||||
"four" -> 4
|
||||
"two" -> 2
|
||||
else -> throw AssertionError()
|
||||
|
||||
+2
-2
@@ -3,11 +3,11 @@ var result: String by Delegate
|
||||
object Delegate {
|
||||
var value = "lol"
|
||||
|
||||
fun get(instance: Any?, data: PropertyMetadata): String {
|
||||
fun getValue(instance: Any?, data: PropertyMetadata): String {
|
||||
return value
|
||||
}
|
||||
|
||||
fun set(instance: Any?, data: PropertyMetadata, newValue: String) {
|
||||
fun setValue(instance: Any?, data: PropertyMetadata, newValue: String) {
|
||||
value = newValue
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ val <T> Value<T>.additionalText by DVal(Value<T>::text) //works
|
||||
val <T> Value<T>.additionalValue by DVal(Value<T>::value) //not work
|
||||
|
||||
class DVal<T, R, P: KProperty1<T, R>>(val kmember: P) {
|
||||
fun get(t: T, p: PropertyMetadata): R {
|
||||
fun getValue(t: T, p: PropertyMetadata): R {
|
||||
return kmember.get(t)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ class Project {
|
||||
}
|
||||
}
|
||||
|
||||
inline fun <reified T : Any> Project.get(t: Any?, p: PropertyMetadata): T = getInstance(javaClass<T>())
|
||||
inline fun <reified T : Any> Project.getValue(t: Any?, p: PropertyMetadata): T = getInstance(javaClass<T>())
|
||||
|
||||
val project = Project()
|
||||
val x1: Int by project
|
||||
|
||||
@@ -25,7 +25,7 @@ class C {
|
||||
|
||||
|
||||
object Delegate {
|
||||
fun get(x: C, p: PropertyMetadata) = throw AssertionError()
|
||||
fun getValue(x: C, p: PropertyMetadata) = throw AssertionError()
|
||||
|
||||
fun set(x: C, p: PropertyMetadata, value: Int) = throw AssertionError()
|
||||
fun setValue(x: C, p: PropertyMetadata, value: Int) = throw AssertionError()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user