KClass
nesnesinin yalnızca members
alanına erişmenin tamam olduğunu kabul ettim. Ama olmadığında bir dava buldum. Her iki test de istisnalar atıyor.Bilinmeyen (Any) nesnesinde kclass.memberProperties öğesini aramak güvenli midir?
@Test fun mapProperties() {
val map = mapOf("a" to "b")
val cls = map.javaClass.kotlin
cls.members
}
Atmalar: kotlin.reflect.KotlinReflectionInternalError: Incorrect resolution sequence for Java field public open val values: kotlin.collections.MutableCollection<(V..V?)> defined in java.util.Collections.SingletonMap[[email protected]]
@Test fun mapProperties2() {
val map = mapOf("a" to "b")
val cls = clsByReified(map)
cls.members
}
inline fun <reified T: Any> clsByReified(instance: T): KClass<T> {
return T::class
}
Atmalar: Ben bir hata tökezledi ya da sadece bir şey eksik kotlin.reflect.KotlinReflectionInternalError: No metadata found for public abstract val entries: [Not-computed] defined in kotlin.collections.Map[[email protected]]
emin olmaz.