¿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

  • Kotlin comtesting si la function requiere parámetro de instancia
  • kotlin reflexión verificación nullable types
  • ¿Es seguro llamar a kclass.memberProperties en un object desconocido (Cualquiera)?
  • Determinar si una instancia es una instancia de una class de datos
  • ¿Cómo puedo get una reference a un object Kotlin por su nombre?
  • ¿Puedo usar kotlin.reflect para get un valor de un campo
  • Reflexión de KFlin KFunction - get valores de parameters
  • ¿Cómo puedo establecer una propiedad de un object complementario en Kotlin a través de la reflexión?
  • ¿Cómo get la reference de class de KParameter en kotlin?
  • Interoperabilidad de reflexión de Kotlin con Java
  • Llamadas a function de logging usando reflexión en kotlin