diff options
Diffstat (limited to 'tests/pending/pos/t8013/inpervolator_1.scala')
-rw-r--r-- | tests/pending/pos/t8013/inpervolator_1.scala | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/tests/pending/pos/t8013/inpervolator_1.scala b/tests/pending/pos/t8013/inpervolator_1.scala deleted file mode 100644 index 612e1d727..000000000 --- a/tests/pending/pos/t8013/inpervolator_1.scala +++ /dev/null @@ -1,33 +0,0 @@ - -package t8013 - -// perverse macro to confuse Xlint - -import scala.language.experimental.macros -import scala.reflect.macros.blackbox.Context - -object Perverse { - - implicit class Impervolator(sc: StringContext) { - def p(args: Any*): String = macro pImpl - } - - // turn a nice interpolation into something that looks - // nothing like an interpolation or anything we might - // recognize, but which includes a "$id" in an apply. - def pImpl(c: Context)(args: c.Expr[Any]*): c.Expr[String] = { - import c.universe._ - val macroPos = c.macroApplication.pos - val text = macroPos.source.lineToString(macroPos.line - 1) substring macroPos.column - val tt = Literal(Constant(text)) - val tree = q"t8013.Perverse.pervert($tt)" - c.Expr[String](tree) - } - - // identity doesn't seem very perverse in this context - //def pervert(text: String): String = text - def pervert(text: String): String = { - Console println s"Perverting [$text]" - text - } -} |