aboutsummaryrefslogtreecommitdiff
path: root/tests/untried/neg/t6931/Macros_1.scala
blob: 9e167e61db74f005994bb4651d68f9dccb2880cf (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import scala.language.experimental.macros
import scala.reflect.macros.blackbox.Context

object Macros {
  implicit class Error(ctx: StringContext) {
    def err(args: Any*): Unit = macro impl
  }

  def impl(c: Context)(args: c.Tree*): c.Tree = {
    import c.universe._
    val q"Macros.Error(scala.StringContext.apply($arg)).err()" = c.macroApplication
    for (i <- 1 to 3) c.error(arg.pos.withPoint(arg.pos.point + i - 1), i.toString)
    q"()"
  }
}