verificador tabla qué que intérprete herramienta función extension ejemplos cursos cumple codigo scala bytecode javassist bytecode-manipulation

tabla - ¿Existe Scala, una herramienta de manipulación de códigos de bytes de alto nivel como Javassist?



tabla de codigo bytecode (1)

Estoy buscando una herramienta de manipulación de códigos de bytes de alto nivel como Javassist, pero que comprenda algunas de las peculiaridades de Scala. Las herramientas de manipulación de códigos de bytes de nivel inferior deberían ser relativamente agnósticas, pero para mi uso, algo a nivel de Javassist es mucho mejor. Sin embargo, una herramienta a ese nivel necesita saber sobre el idioma de origen y su asignación de bytecode. ¿Existe algo como esto para Scala? Hasta ahora he podido usar Javassist con Scala para cosas muy simples, pero algunas diferencias entre Scala y Java me han mordido por un par de cosas más.


No creo que esa herramienta exista (todavía). La situación actual es que no puede mezclar unidades de compilación compiladas con diferentes versiones de Scala, es decir, una clase compilada con Scala 2.9 no interactuará con una clase compilada con Scala 2.10.

Cuando usa Scala 2.10, puede usar la reflexión de Scala y las macros de Scala para alcanzar objetivos similares a los de la modificación de bytecode. Para mí, esto parece ser la forma de la prueba más futura.

Una de sus preguntas tuvo como objetivo agregar una ID de versión de serie. Esto debería ser definitivamente posible con las macros de Scala. Con las macros de Scala, incluso podría ser posible administrar los identificadores de la versión en serie en una base de datos externa de acuerdo con los cambios de API.