blob: 255dafd47e67bd150871879ba235a4fc4839204e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
import scala.reflect.macros.BlackboxContext
import language.experimental.macros
object Macros {
def impl(c: BlackboxContext) = {
import c.universe._
val x = Ident(newTermName("x"))
def defAndUseX(rhs: Tree) = {
Block(List(ValDef(NoMods, newTermName("x"), TypeTree(), rhs)), x)
}
val xi4 = defAndUseX(Literal(Constant(4)))
val xs2 = defAndUseX(Literal(Constant("2")))
c.Expr[String](Apply(Select(xi4, newTermName("$plus")), List(xs2)))
}
def foo = macro impl
}
|