From e4e6c46d88ba525a4ed60405205062cdcf3ee967 Mon Sep 17 00:00:00 2001 From: Alexandre Archambault Date: Wed, 13 Mar 2019 10:32:47 +0100 Subject: [PATCH] Try to use https://github.com/lampepfl/dotty/pull/5870 --- .../shared/src/main/dotty/sourcecode/Macros.scala | 5 ++--- .../src/test/scala/sourcecode/TextTests.scala | 13 +++++-------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/sourcecode/shared/src/main/dotty/sourcecode/Macros.scala b/sourcecode/shared/src/main/dotty/sourcecode/Macros.scala index 85702f7..9f14a04 100644 --- a/sourcecode/shared/src/main/dotty/sourcecode/Macros.scala +++ b/sourcecode/shared/src/main/dotty/sourcecode/Macros.scala @@ -195,9 +195,8 @@ object Macros { def text[T: Type](v: Expr[T])(implicit c: Reflection): Expr[sourcecode.Text[T]] = { import c._ - import scala.quoted.Toolbox.Default._ - val txt = v.show - '(sourcecode.Text[T](~v, ~txt.toExpr)) + val txt = v.unseal.underlyingArgument.pos.sourceCode.toString.toExpr + '(sourcecode.Text[T](~v, ~txt)) } sealed trait Chunk diff --git a/sourcecode/shared/src/test/scala/sourcecode/TextTests.scala b/sourcecode/shared/src/test/scala/sourcecode/TextTests.scala index d2f7324..c2e6c2c 100644 --- a/sourcecode/shared/src/test/scala/sourcecode/TextTests.scala +++ b/sourcecode/shared/src/test/scala/sourcecode/TextTests.scala @@ -5,14 +5,11 @@ object TextTests { assert(foo(1) == (1, "1")) val bar = Seq("lols") assert(foo(bar) == (Seq("lols"), "bar")) - // FIXME Don't pass on dotty (second element not ok) - if (TestUtil.isDotty) { - assert(foo(Symbol("lol").toString * 2)._1 == "'lol'lol") - assert(foo{println("Hello"); Symbol("lol").toString * 2}._1 == "'lol'lol") - } else { - assert(foo(Symbol("lol").toString * 2) == ("'lol'lol", "Symbol(\"lol\").toString * 2")) - assert(foo{println("Hello"); Symbol("lol").toString * 2} == ("'lol'lol", "Symbol(\"lol\").toString * 2")) - } + assert( + foo(Symbol("lol").toString * 2) == ("'lol'lol", "Symbol(\"lol\").toString * 2"), + s"Expected: ${("'lol'lol", "Symbol(\"lol\").toString * 2")}, got: ${foo(Symbol("lol").toString * 2)}" + ) + assert(foo{println("Hello"); Symbol("lol").toString * 2} == ("'lol'lol", "Symbol(\"lol\").toString * 2")) } def foo[T](v: sourcecode.Text[T]) = (v.value, v.source) }