Jan Skrasek
08/20/2022, 8:14 AMinterface Destination {}
interface Dialog : Destination {}
inline fun <reified T : Destination> add() {
   val isDialog1 = T is Dialog // does not compile
   val isDialog2 = Dialog::class.java.isAssignableFrom(T::class.java) // works, but uses Java reflection
   val isDialog3 = (typeOf<T>().classifier as KClass<T>).isSubclassOf(Dialog::class) // works, but uses Kotlin full reflection, doesn't it?
}