我有以下代码:
@compileTimeOnly("enable macro paradise to expand macro annotations")
class replace extends StaticAnnotation {
def macroTransform(annottees: Any*) = macro replaceImpl.replace
}
object replaceImpl {
def replace(c: Context)(annottees: c.Expr[Any]*): c.Expr[Any] = {
import c.universe._
// ?
c.Expr[Any](q"")
}
}
通过此代码,我想x
在下一个使用示例中替换变量名 ():
@replace
def foo(x: Int) = x + 1
这是简单的方法,但是如果我有一个包含许多表达式的大方法,那么替换变量名的最简单方法是什么(例如from x
to )?y