Scala宏注释:" scala.reflect.macros.TypecheckException:not found:value x"

时间:2016-06-27 22:07:50

标签: scala scala-macros

我有一个声明两个变量的简单类。

{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声明?

0 个答案:

没有答案