2015-04-14 2 views
0

Я пишу код для проверки этой функции, чтобы узнать, как сделать макрос аннотации, но метод не вызывается.Почему macroTransform не запускается?

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, но ничего не регистрируется.

Кажется, что этот метод даже не вызывается.

Почему? Я что-то упустил?

ответ

1

Самая типичная причина для этого - отсутствие ссылки на плагин компилятора макроса рай. Если для вашего проекта (в sbt или в среде IDE) макрос-рай не включен, макрокоманды не будут расширяться.

Смежные вопросы