¿Alguien sabe el estado de una API de reflexión con todas las características para Scala?Reflection API for Scala
Sé que puede usar la API de reflexión de Java para hacer cosas simples, pero esto no funciona bien con las funciones de idioma de Scala. Encontré un interesting article que describe una API experimental de Scala Mirroring, pero hasta donde sé, esto todavía es experimental. También encontré mención de un ScalaSigParser, pero parece ser un nivel bastante bajo.
Esto es más una curiosidad que otra cosa ya que actualmente estoy jugando con Scala. Pensé que la respuesta a esta pregunta también podría ser útil para otros interesados en Scala.
¿Puede ser más específico sobre lo que quiere que haga la reflexión? Puede usar rutinas en scala.tools.nsc para ayudar con el cambio de nombre, y algunas cosas simplemente no se reflejan bien, realmente necesita compilación para ayudarlo porque no se trata solo de llamar a los métodos existentes (por ejemplo, si necesita un nuevo cierre). –
Primero, estaba pensando que sería bueno crear instancias de clases con parámetros nombrados de modo que no tenga que preocuparse por el orden de los parámetros; podría tratarse de un reemplazo inmutable del patrón de estilo JavaBean. También estaba pensando que sería bueno poder ver la estructura de una clase en lo que respecta a las funciones de Scala. es decir. consígame todos los ctors - encuentre el primario - llámelo. O responda preguntas como este campo es val o var. Además, sería bueno usar una API de reflexión hecha en estilo Scala idiomático en lugar de recurrir a la API de Java. Solo ideas ... –
No estaba pensando en algunas de las características de metaprogramación más dinámicas, como agregar métodos en tiempo de ejecución o en declaraciones de estilo eval, simplemente en línea con lo que la API de reflexión de Java le permite hacer, pero adaptada para el lenguaje Scala. –