Advertisement
Guest User

Untitled

a guest
Sep 25th, 2016
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.43 KB | None | 0 0
  1. inline fun <reified T : Any, DELEGATE : Any> findDelegate(
  2. instance: T, delegatingTo: KClass<DELEGATE>): DELEGATE? {
  3.  
  4. for (prop in T::class.declaredMemberProperties) {
  5. val javaField = prop.javaField ?: continue
  6. javaField.isAccessible = true // is private, have to open that up
  7. if (delegatingTo.java.isAssignableFrom(javaField.type)) {
  8. @Suppress("UNCHECKED_CAST")
  9. return javaField.get(instance) as DELEGATE
  10. }
  11. }
  12.  
  13. return null
  14. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement