为什么没有触发macroTransform?

时间:2015-04-14 05:29:00

标签: scala macros

我编写了一些代码来测试这个函数,学习如何编写注释宏,但是没有调用该方法。

class column extends StaticAnnotation {
  def macroTransform(annottees: Any*): Any = macro impl
}

def impl(c: blackbox.Context)(annottees: c.Expr[Any]*): c.Expr[Any] = ???

@column class c {}

我还在impl中添加了断点,但没有暂停;我在impl体中添加了一些日志,但没有记录。

似乎这种方法甚至没有被调用。

为什么呢?我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

最典型的原因是缺少对宏天堂编译器插件的引用。如果没有为您的项目启用宏天堂(在sbt或IDE中),则宏注释将不会扩展。