2
定义Scala宏时,是否有符号或类型转换为树?无论如何,当定义Scala宏时从符号或类型转到树
具体来说,该场景需要查找伴随对象上的文字。
在Scala代码,这看起来是这样的:
class Fred(a: String)
object Fred {
val FredDescription = "hello"
}
在宏我有机会获得弗雷德的WeakTypeTag,可以用它来获取访问的伴侣,它的类型签名:
context.universe.weakTypeOf[A].typeSymbol.companionSymbol.typeSignature
但我看不到任何访问文字或树的方式来匹配伴侣对象的文字。
这可能吗?为某些任意类型或符号获取树有没有一个技巧?
在我们的实验性nextgen宏系统中,我们正在考虑为您编译的程序保存AST,以便您始终可以获取您可能感兴趣的程序元素的AST:http://scalamacros.org/news/2014/ 3月2日/项目palladium.html。 –