blob: 33b017012eb346bb2a0a8c9d4afbd6e7d25d944d [file] [log] [blame]
import kotlin.reflect.KProperty
class Property<TOwner, TValue>(owner: TOwner, value: TValue) {
companion object {
fun <TOwner, TValue> create(owner: TOwner, value: TValue) = Property<TOwner, TValue>(owner, value)
}
}
operator fun <TValue, TOwner> Property<TOwner, TValue>.getValue(thisRef: TOwner, property: KProperty<*>): TValue {
throw Exception()
}
fun<TOwner, TValue> createProperty(owner: TOwner, value: TValue): Property<TOwner, TValue> = Property(owner, value)
class C {
val v by <caret>
}
// EXIST: { itemText: "createProperty", typeText: "Property<C, TValue>" }
// EXIST: { itemText: "Property", tailText: "(owner: C, value: TValue) (<root>)" }
// EXIST: { itemText:"Property.create", tailText:"(owner: C, value: TValue) (<root>)", typeText:"Property<C, TValue>" }