Deprecate PropertyMetadata, use KProperty<*> for delegated properties instead

This commit is contained in:
Alexander Udalov
2015-10-12 21:42:18 +03:00
parent 3c74f48f91
commit ec1b4776fe
145 changed files with 536 additions and 379 deletions
@@ -1,12 +1,14 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
import kotlin.reflect.KProperty
class A(val map: MutableMap<String, CharSequence>) {
var a: String by map.withDefault1 { "foo" }
}
operator fun <G> MutableMap<in String, in G>.getValue(thisRef: Any?, property: PropertyMetadata): G = throw Exception()
operator fun <G> MutableMap<in String, in G>.getValue(thisRef: Any?, property: KProperty<*>): G = throw Exception()
operator fun <S> MutableMap<in String, in S>.setValue(thisRef: Any?, property: PropertyMetadata, value: S) {}
operator fun <S> MutableMap<in String, in S>.setValue(thisRef: Any?, property: KProperty<*>, value: S) {}
fun <K, V> MutableMap<K, V>.withDefault1(default: (key: K) -> V): MutableMap<K, V> = this
fun <K, V> MutableMap<K, V>.withDefault1(default: (key: K) -> V): MutableMap<K, V> = this