次のコードは、呼び出し関数 (C _ _ FUNC _ _ など) を取得します。
def __func__(c: Context) = {
import c.universe._
c.enclosingMethod match {
case DefDef(mods, name, tparams, vparamss, tpt, rhs) =>
c.universe.reify(println(
"\n mods "+c.literal(mods.toString).splice
+"\n name "+c.literal(name.toString).splice
+"\n tparams "+c.literal(tparams.toString).splice
+"\n vparamss "+c.literal(vparamss.toString).splice
+"\n tpt "+c.literal(tpt.toString).splice
+"\n rhs "+c.literal(rhs.toString).splice
))
case _ => c.abort(c.enclosingPosition, "NoEnclosingMethod")
}
}
しかし、マクロを呼び出す関数を呼び出す関数の名前を取得するにはどうすればよいでしょうか?
あなたの助けを前もってありがとう。