aboutsummaryrefslogtreecommitdiff
path: root/tests/pending/pos/t8013/inpervolator_1.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/pending/pos/t8013/inpervolator_1.scala')
-rw-r--r--tests/pending/pos/t8013/inpervolator_1.scala33
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
- }
-}