import kotlin.reflect.* class Foo(val prop: Any) { fun func() {} } fun n01() = Foo::prop fun n02() = Foo::func fun n03() = Foo::class fun n04(p: KProperty0) = p.get() fun n05(p: KMutableProperty0) = p.set("") fun n06(p: KProperty0) = p.get() fun n07(p: KFunction) = p.name fun n08(p: KProperty1) = p.get("") fun n09(p: KProperty2) = p.get("", "") fun n10() = (Foo::func).invoke(Foo("")) fun n11() = (Foo::func)(Foo("")) fun y01() = Foo::prop.getter fun y02() = Foo::class.members fun y03() = Foo::class.simpleName fun y04() = Foo::class.properties