bloder
02/10/2018, 4:07 AMclass ExampleClass(private val targetClass: KClass<*>, private val solution: KCallable<*>) {
private val studentMethod by lazy {
var methodFinding: KCallable<*>? = null
for (m: KCallable<*> in targetClass.declaredMembers) {
if (m.name == solution.name && (methodFinding == null || validateParameterTypes(m))) {
methodFinding = m
}
}
methodFinding
}
private fun validateParameterTypes(m: KCallable<*>): Boolean { ... }
}
jonathan
02/10/2018, 4:43 AMby lazy
, but got this error:
Kotlin: Smart cast to 'KCallable<*>' is impossible, because 'studentMethod' is a property that has open or custom getter