summaryrefslogtreecommitdiff
path: root/test/files/neg/si7980.check
diff options
context:
space:
mode:
authorDen Shabalin <den.shabalin@gmail.com>2013-12-02 16:31:33 +0100
committerDen Shabalin <den.shabalin@gmail.com>2013-12-10 16:02:45 +0100
commit4c899ea34c01eebf1215abd579d11393cf20a487 (patch)
tree2b730c5274281f94b216f7f59a2ccfb7ef82160c /test/files/neg/si7980.check
parent4be6ea147a7d8f300c1e6db2a216b50fe8cf5dc7 (diff)
downloadscala-4c899ea34c01eebf1215abd579d11393cf20a487.tar.gz
scala-4c899ea34c01eebf1215abd579d11393cf20a487.tar.bz2
scala-4c899ea34c01eebf1215abd579d11393cf20a487.zip
Refactor Holes and Reifiers slices of Quasiquotes cake
This commit performs a number of preliminary refactoring needed to implement unliftable: 1. Replace previous inheritance-heavy implementation of Holes with similar but much simpler one. Holes are now split into two different categories: ApplyHole and UnapplyHole which correspondingly represent information about holes in construction and deconstruction quasiquotes. 2. Make Placeholders extract holes rather than their field values. This is required to be able to get additional mode-specific information from holes (e.g. only ApplyHoles have types). 3. Bring ApplyReifier & UnapplyReifier even closer to the future where there is just a single base Reifier with mode parameter. Along the way a few bugs were fixed: 1. SI-7980 SI-7996 fail with nice error on bottom types splices 2. Use asSeenFrom instead of typeArguments in parseCardinality. This fixes a crash if T <:< Iterable[Tree] but does not itself have any type arguments. 3. Fix spurious error message on splicing of Lists through Liftable[List[T]]
Diffstat (limited to 'test/files/neg/si7980.check')
-rw-r--r--test/files/neg/si7980.check4
1 files changed, 4 insertions, 0 deletions
diff --git a/test/files/neg/si7980.check b/test/files/neg/si7980.check
new file mode 100644
index 0000000000..b085cabf1d
--- /dev/null
+++ b/test/files/neg/si7980.check
@@ -0,0 +1,4 @@
+si7980.scala:7: error: Can't splice Nothing, bottom type values often indicate programmer mistake
+ println(q"class ${Name(X)} { }")
+ ^
+one error found