7

我想创建一个注释或特征,在编译时根据现有字段动态地向对象添加方法。尽管我对类级别的某些东西感兴趣,但我也会使用字段级别的注释(或其他更细化的东西)。

一个关于 Scala 实现细节的旧堆栈溢出问题@BeanProperty被回答为“它是一个编译器插件,但宏也可能允许你这样做”。鉴于 Scala 2.10 中宏的官方(如果是实验性的)版本,这种功能现在可能吗?

4

1 回答 1

8

更新:这个答案不再有效。见尤金斯评论。

不,这还不可能。

在 2.10 中,只有 def 宏不能做任何可比的事情。对于 2.11,世界变得更好了,宏注释将成员引入类的实现已经存在。但它们只有几个星期大,因此仅适用于某些极端情况。此外,将成员引入类的实现与宏注释的实现位于不同的分支中,因此尚无法将它们一起使用。

于 2013-03-17T16:59:33.657 回答