getValue()/setValue() should be marked with 'operator'

This commit is contained in:
Yan Zhulanow
2015-10-12 01:59:40 +03:00
parent bc3d1ddda0
commit dc8e796e49
121 changed files with 242 additions and 231 deletions
@@ -1,24 +1,24 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
class A<R>() {
fun <T> getValue(t: Any?, p: PropertyMetadata): T = null!!
fun <T> setValue(t: Any?, p: PropertyMetadata, x: T) = Unit
operator fun <T> getValue(t: Any?, p: PropertyMetadata): T = null!!
operator fun <T> setValue(t: Any?, p: PropertyMetadata, x: T) = Unit
}
var a1: Int by <!TYPE_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>A<!>()
var a2: Int by A<String>()
class B<R>() {
fun <T> getValue(t: Any?, p: PropertyMetadata): T = null!!
fun setValue(t: Any?, p: PropertyMetadata, x: R) = Unit
operator fun <T> getValue(t: Any?, p: PropertyMetadata): T = null!!
operator fun setValue(t: Any?, p: PropertyMetadata, x: R) = Unit
}
var b1: Int by B()
var b2: Int by B<Number>()
class C<R>() {
fun getValue(t: Any?, p: PropertyMetadata): R = null!!
fun <T> setValue(t: Any?, p: PropertyMetadata, x: T) = Unit
operator fun getValue(t: Any?, p: PropertyMetadata): R = null!!
operator fun <T> setValue(t: Any?, p: PropertyMetadata, x: T) = Unit
}
var c1: Int by C()