Представьте меня есть макрос аннотация аннотирования случая класса:макросов Scala, как получить дерево определенного класса
class message(`type`: String) extends StaticAnnotation {
def macroTransform(annottees: Any*) = macro message.impl
}
...
@message("SearchReq")
case class SearchReq(req: String)
У меня есть MessageRegister объект, находящийся в другом пакете. В аннотации @message body message.impl
Мне нужно добавить тип сообщения в регистр.
Я понятия не имею, как это сделать. Первое, что пришло в голову - получить дерево объекта MessageRegister и добавить код в его тело, которое выполняется во время выполнения. Следующая идея заключается в том, что как-то аннотация @message выполняется во время выполнения, и я просто выполняю MessageRegister.registerMessage (msg).
Как я могу решить эту проблему?
Аналогичный вопрос: http://stackoverflow.com/questions/30555338/scala-macro-modify-object – Daryl