Files
kotlin-fork/compiler/testData/diagnostics/tests/callableReference/property/extensionFromTopLevel.kt
T
2018-05-04 18:04:57 +03:00

26 lines
556 B
Kotlin
Vendored

// !CHECK_TYPE
import kotlin.reflect.*
val String.countCharacters: Int
get() = length
var Int.meaning: Long
get() = 42L
set(<!UNUSED_PARAMETER!>value<!>) {}
fun test() {
val f = String::countCharacters
checkSubtype<KProperty1<String, Int>>(f)
checkSubtype<KMutableProperty1<String, Int>>(<!TYPE_MISMATCH!>f<!>)
checkSubtype<Int>(f.get("abc"))
f.<!UNRESOLVED_REFERENCE!>set<!>("abc", 0)
val g = Int::meaning
checkSubtype<KMutableProperty1<Int, Long>>(g)
checkSubtype<Long>(g.get(0))
g.set(1, 0L)
}