Kim*_*bel 17 macros scala scala-2.10
我在Scala中编写一个宏,但是当我调用它时,我收到一条错误消息"Double不接受参数".显然,宏构建AST的方式有问题.那我怎么能看到扩展的宏呢?有没有办法在运行时调用宏实现?
Eug*_*ako 20
提供-Ymacro-debug-lite或-Ymacro-debug-verbose选择编译器.
关闭我的头顶,印刷的AST的detalization被支配-Yshow-trees-compact,-Yshow-trees-stringified,-Xprint-types,-uniqid和-Yshow-symkinds.您可以通过运行scala -X和scala -Y(或检查scala设置的源代码来查找其他宝石,网址为https://github.com/scala/scala/blob/2.10.x/src/compiler/scala/tools/nsc/settings/ScalaSettings.scala).
此外,尽管本质上是一个宏,但是reification有自己的跟踪机制,可以通过-Yreify-copypaste和配置-Yreify-debug.