¿Cómo get los nombres de los parameters a través de la reflexión en kotlin?

java8 tiene el argumento "-parameters", pasado al comstackdor, ¿qué pasa con kotlin? Como puedo ver, el comstackdor de kotlin agrega la anotación @JetValueParameter con los nombres de param a los parameters, pero uno está privado.

Actualización : Reflection API ahora admite la obtención de nombres de parameters: KCallable.parameters le dará una list de parameters, y KParameter.name le dará el nombre.

La solución actual es usar la anotación JetValueParameter , aunque está en desuso.

Estamos trabajando en la compatibilidad con los nombres de los parameters en Kotlin reflection, que estará disponible en breve. En ese momento JetValueParameter se descartará a favor de la nueva API.

Me gustaría señalar que el comstackdor de Kotlin actualmente solo produce bytecode JVM compatible con Java 1.6, mientras que el atributo MethodParameters correspondiente a los -parameters de javac solo apareció en el bytecode de Java 1.8. Por lo tanto, aún no podrá get los nombres de los parameters de los methods de Kotlin a través de la reflexión de Java . Sin embargo, estamos considerando el soporte para bytecode target 1.8, por lo que probablemente funcione en el futuro.

  • Reflexión de KFlin KFunction - get valores de parameters
  • Interoperabilidad de reflexión de Kotlin con Java
  • Manera idiomática de invocar methods a través de la reflexión en Kotlin
  • ¿Puedo get una KFunction de una variable del tipo de function en Kotlin?
  • Kotlin: isAssignableFrom y reflexiones del tipo de reflexión
  • ¿Hay alguna manera de identificar una class de datos Kotlin de una class regular de Kotlin?
  • String.intern () devuelve diferentes valores en un controller JDBC
  • La delegación de propiedad kotlin alias lanza Exception
  • ¿Puedo usar kotlin.reflect para get un valor de un campo
  • Kotlin comtesting si la function requiere parámetro de instancia
  • Quiero detectar si una class JVM es una class Kotlin o no