Попробуйте заменить
val xx = reify(hi)
с
val xx = Literal(Constant(hi))
т.е. построить дерево вручную (и
.importTree(hello.xx.tree)
с
.importTree(hello.xx)
).
(Если это Literal(Constant...
только в вашем примере и более сложное дерево в реальном случае использования, в любом случае попробуйте построить его вручную, а не использовать reify
.)
Тогда у вас будет другая ошибка
Error: type mismatch;
found : String("HI")
required: reflect.runtime.universe.Tree
setYY(new Hello("HI"))
потому что ваш макрос возвращает
Expr[Hello]({
val h = new Hello("HO");
h.yy = "HI"; // h.yy is q"" i.e. Tree, "HI" is String
h
})