我有以下代码:
object Test extends App {
import Macros._
val f = 1
Macros.get(f)
}
Run Code Online (Sandbox Code Playgroud)
import language.experimental.macros
import scala.reflect.macros.Context
object Macros {
def get(a: Int) = macro getImpl
def getImpl(c: Context)(a: c.Expr[Int]) = {
import c.universe._
println(showRaw(a))
}
}
Run Code Online (Sandbox Code Playgroud)
它返回:
Expr(Select(This(newTypeName("Test")), newTermName("f")))
如何从termName("f")一个1值中提取?有可能用宏吗?