В каждом из следующих случаев у меня есть некоторые свойства mutable var
.Согласно Javadocs изменяемые свойства представлены KMutableProperty
, но в этих примерах protected
свойство представлено классом KProperty
.Почему это так?
class FooA {
var publicProp: String? = null
protected var protectedProp: String? = null
private var privateProp: String? = null
fun foo() {
val a = ::publicProp
val b = ::protectedProp
val c = ::privateProp
}
}
open class FooB {
var publicProp: String? = null
protected var protectedProp: String? = null
private var privateProp: String? = null
fun foo() {
val a = ::publicProp
val b = ::protectedProp
val c = ::privateProp
}
}
class Bar : FooB() {
fun bar() {
val a = ::publicProp
val b = ::protectedProp
}
}
Тип подсказки от IDEA