Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- inline fun <reified T : Any, DELEGATE : Any> findDelegate(
- instance: T, delegatingTo: KClass<DELEGATE>): DELEGATE? {
- for (prop in T::class.declaredMemberProperties) {
- val javaField = prop.javaField ?: continue
- javaField.isAccessible = true // is private, have to open that up
- if (delegatingTo.java.isAssignableFrom(javaField.type)) {
- @Suppress("UNCHECKED_CAST")
- return javaField.get(instance) as DELEGATE
- }
- }
- return null
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement