使用 quasiquotes 建立語法樹
使用 quasiquotes 在巨集中建立 Tree
。
object macro {
def addCreationDate(): java.util.Date = macro impl.addCreationDate
}
object impl {
def addCreationDate(c: Context)(): c.Expr[java.util.Date] = {
import c.universe._
val date = q"new java.util.Date()" // this is the quasiquote
c.Expr[java.util.Date](date)
}
}
它可以是任意複雜的,但它將被驗證為正確的 scala 語法。