是否有Scala意识到像Javassist这样的高级字节码操作工具?

我正在寻找一个像Javassist这样的高级字节码操作工具,但是它可以理解一些Scala特性。较低级别的字节码操作工具应该是相对不可知的,但对于我的用例来说,Javassist级别的东西好多了。然而,该级别的工具需要了解源语言及其字节码映射。对Scala有类似的东西吗?
到目前为止,我已经能够使用Javassist和Scala进行非常简单的操作,但是由于某些Scala / Java的差异,我已经被其他一些事情所困扰了。
我不认为这样的工具存在(还)。目前的情况是,您不能混合使用不同版本的Scala编译的编译单元,即使用Scala 2.9编译的类不能与使用Scala 2.10编译的类进行互操作。

当您使用Scala 2.10时,您可以使用Scala reflectionScala macros达到与字节码修改类似的目标。对我来说,这看起来像是最未来的证明方式。

您的一个问题是为了添加串行版本ID。这绝对可以用Scala宏。使用Scala宏,可以根据API更改来管理外部数据库中的串行版本ids。

http://stackoverflow.com/questions/17535971/is-there-scala-aware-high-level-byte-code-manipulation-tool-like-javassist

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:是否有Scala意识到像Javassist这样的高级字节码操作工具?