https://kotlinlang.org logo
Title
c

caffeine

07/12/2021, 11:19 PM
Всем привет. Есть у меня
interface I1
class C1:I1
class C2
Нужно реализовать функцию, которая принимает два класса (
KClass<out Any>
). Функция должна вернуть является ли один класс предком другого класса. На данном примере результат будет такой
isChild(I1::class,C1:class) = true
isChild(I1::class, C2::class) = false
Сделать это нужно в рамках kotlin/common. Лучшее что нашел - это
KClass.isInstance(...)
, но экземпляров классов у меня на руках нет :( Подскажите пожалуйста
g

gildor

07/13/2021, 4:21 AM
я думаю такого нет для common и ни для чего кроме JVM
нуда common версия https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect.full/is-subclass-of.html Имеет смысл зарепортить feature request
b

bezrukov

07/13/2021, 8:19 AM
по
KClass.supertypes
посмотреть не подойдет?
g

gildor

07/13/2021, 8:21 AM
supertypes доступно только на jvm
b

bezrukov

07/13/2021, 8:22 AM
а, понятно