Steven Wang
05/16/2023, 3:39 PMp: KProperty<SomeClass, *>
, how do I check this property is defined as val or var in it's containing class?Wout Werkman
05/16/2023, 3:49 PMKMutableProperty
class A(var a: Int)
class B(val a: Int)
fun isMutable(prop: KProperty<*>): Boolean = prop is KMutableProperty<*>
println(isMutable(A(1)::a)) // true
println(isMutable(B(1)::a)) // false
SomeClass
type:
interface SomeClass {
val a: Int
}
class A(override var a: Int): SomeClass
class B(override val a: Int): SomeClass
fun isMutable(prop: KProperty1<out SomeClass, *>): Boolean = prop is KMutableProperty<*>
println(isMutable(A::a))
println(isMutable(B::a))
Steven Wang
05/16/2023, 4:07 PM