diff options
author | Denys Shabalin <denys.shabalin@typesafe.com> | 2014-01-24 18:46:06 +0100 |
---|---|---|
committer | Denys Shabalin <denys.shabalin@typesafe.com> | 2014-01-24 18:46:06 +0100 |
commit | 40f1ff20927a1754f4aa7a417df62e3b87554d5a (patch) | |
tree | 8c56c311cc4f34302b5e511e7c5df3fe68a4b289 | |
parent | fdce4a0f64fbbe5b87c41f93ae33bb3084449fa3 (diff) | |
download | scala-40f1ff20927a1754f4aa7a417df62e3b87554d5a.tar.gz scala-40f1ff20927a1754f4aa7a417df62e3b87554d5a.tar.bz2 scala-40f1ff20927a1754f4aa7a417df62e3b87554d5a.zip |
SI-8171 make tq"" an alias for empty type tree
-rw-r--r-- | src/compiler/scala/tools/reflect/quasiquotes/Parsers.scala | 7 | ||||
-rw-r--r-- | test/files/scalacheck/quasiquotes/TypeConstructionProps.scala | 8 |
2 files changed, 13 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/reflect/quasiquotes/Parsers.scala b/src/compiler/scala/tools/reflect/quasiquotes/Parsers.scala index 1bd9323752..ec4ca1c845 100644 --- a/src/compiler/scala/tools/reflect/quasiquotes/Parsers.scala +++ b/src/compiler/scala/tools/reflect/quasiquotes/Parsers.scala @@ -170,7 +170,12 @@ trait Parsers { self: Quasiquotes => } object TypeParser extends Parser { - def entryPoint = _.typ() + def entryPoint = { parser => + if (parser.in.token == EOF) + TypeTree() + else + parser.typ() + } } object CaseParser extends Parser { diff --git a/test/files/scalacheck/quasiquotes/TypeConstructionProps.scala b/test/files/scalacheck/quasiquotes/TypeConstructionProps.scala index be7a96d91e..0984032084 100644 --- a/test/files/scalacheck/quasiquotes/TypeConstructionProps.scala +++ b/test/files/scalacheck/quasiquotes/TypeConstructionProps.scala @@ -28,4 +28,10 @@ object TypeConstructionProps extends QuasiquoteProperties("type construction") val restpe = tq"C" assert(tq"..$argtpes => $restpe" ≈ tq"(A, B) => C") } -}
\ No newline at end of file + + property("empty tq") = test { + val tt: TypeTree = tq" " + assert(tt.tpe == null) + assert(tt.original == null) + } +} |