¿Cómo obtengo las funciones declaradas de una class Kotlin (KClass en M12)?

Básicamente eso. Me pregunto cómo get las funciones / methods que se le dan a una KClass … parece que solo puedo iterar sobre las properties y properties de la extensión.

Actualización : ahora puede get funciones de una class con extensiones declaradas en el package kotlin.reflect : functions , functions declanetworkingFunctions , functions memberFunctions , staticFunctions , etc.

La reflexión de Kotlin es un trabajo en progreso en este momento. Planeamos enviar API para funciones de introspección en el próximo hito, presumiblemente a fines de este verano.

Mientras tanto, la única solución es usar la reflexión de Java para esta tarea.

La reflexión de Kotlin está más completa en los últimos hitos que incluyen las 1.0 betas.

Vea la documentation general para Kotlin Reflection y específicamente la de KClass .

Por ejemplo, dada una class, puede ver las funciones de miembro usando:

 val functions = Someclass::class.declanetworkingMemberFunctions 

o properties:

 val properties = Someclass::class.declanetworkingMemberProperties 

Y para pasar de una class Java a una class K:

 val kclz = this.javaClass.kotlin 

Ver también: Kotlin.reflect packages API docs

  • ¿Cómo obtengo el valor de una propiedad con reflection?
  • instancia :: class.java vs. instance.javaClass
  • El operador de Kotlin Reflection obtiene la implementación
  • La igualdad de class Kotlin falla
  • ¿Cómo cambiar un campo de miembro con la reflexión de Kotlin?
  • Kotlin obtiene la anotación de campo siempre vacía
  • Kotlin enlazó la incoinheritance de las references invocables
  • Crear una nueva instancia de una KClass
  • Kotlin invoke getter / setter reflexivamente
  • Kotlin: ¿Cómo puedo usar la reflexión en los packages?
  • Configurar la reflexión de kotlin, class.java no funciona