Files
kotlin-fork/compiler/testData/diagnostics/tests/callableReference/property/extensionFromTopLevel.kt
T

26 lines
529 B
Kotlin
Vendored

// !CHECK_TYPE
import kotlin.reflect.*
val String.countCharacters: Int
get() = length
var Int.meaning: Long
get() = 42L
set(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)
}