1

次のコードがあります。

@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 

それは単純な方法ですが、多くの式を持つ大きな方法がある場合、変数名を置き換える最も簡単な方法は何ですか (たとえば、から) x?y

4

1 に答える 1