我有一个声明两个变量的简单类。
{1:1,4:4}
宏需要推断变量x的类型并打印它。
class A {
val x = 10
@macro var y = x
}
但是typecheck会抛出异常val q"var $_ = $value" = annottees.head.tree
val typedTree = c.typecheck(value) // TypecheckException: not found: value x
println(typedTree.tpe)
,因为它无法找到值TypecheckException
。似乎x
没有进入宏的范围,它无法看到x
变量并进行类型检查。
那么,如何在宏注释中推断rhs类型的var声明?