summaryrefslogtreecommitdiff
path: root/test/files/run/macro-reify-tagless-a/Test_2.scala
blob: 584c4bdf5b64f750b12fadc2c44a3bcff0ef3576 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
object Test extends App {
  //val list: List[String] = Macros.foo("hello world")
  //println(list)

  import scala.reflect.runtime.universe._
  import scala.reflect.runtime.{currentMirror => cm}
  import scala.tools.reflect.ToolBox
  val tpt = AppliedTypeTree(Ident(definitions.ListClass), List(Ident(definitions.StringClass)))
  val rhs = Apply(Select(Ident(newTermName("Macros")), newTermName("foo")), List(Literal(Constant("hello world"))))
  val list = ValDef(NoMods, newTermName("list"), tpt, rhs)
  val tree = Block(List(list), Apply(Select(Ident(definitions.PredefModule), newTermName("println")), List(Ident(list.name))))
  try cm.mkToolBox().eval(tree)
  catch { case ex: Throwable =>  println(ex.getMessage) }
}