Следующий код должен перебирать цепочку суперклассов класса переданного объекта до тех пор, пока не будет достигнут верхний уровень.Kotlin: получить суперкласс из объекта класса - ошибка вывода объекта
protected fun getBestMethodFor(o: Any): Method? {
val nodeClass = o.javaClass
val objectClass = Any::class.java
...
// Go through superclasses.
var c = nodeClass
while (c != objectClass && ans == null) {
debugMsg("Looking for class match for " + c.name)
...
c = c.superclass
}
...
}
Это приводит к 2 ошибки:
Error:(57, 17) Kotlin: Type mismatch: inferred type is Class<in Any!>! but Class<Any> was expected
Error:(57, 19) Kotlin: Type inference failed. Expected type mismatch: inferred type is Class<in Any!>! but Class<Any> was expected
Почему этот недостаток, и что мне нужно изменить, чтобы исправить это?
Примечание: код был автоматически преобразован из Java с использованием конвертера IntelliJ.