¿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 cambiar un campo de miembro con la reflexión de Kotlin?
  • ¿Cómo uso el object Kotlin por reflexión?
  • Kotlin: ¿Cómo se accede a los methods get y setValue de un delegado?
  • Reflexión de Kotlin: compruebe si la propiedad tiene tipo
  • Implementando una interfaz de kotlin en java
  • ¿El comstackdor de Kotlin siempre conserva los nombres de los parameters en bytecode?
  • String.intern () devuelve diferentes valores en un controller JDBC
  • ¿Hay alguna manera de identificar una class de datos Kotlin de una class regular de Kotlin?
  • Crear una nueva instancia de una KClass
  • ¿Puedo usar kotlin.reflect para get un valor de un campo
  • Reflexión de KFlin KFunction - get valores de parameters