summaryrefslogtreecommitdiff
path: root/test/files/neg/quasiquotes-syntax-error-position.check
diff options
context:
space:
mode:
authorDen Shabalin <den.shabalin@gmail.com>2013-08-08 18:55:45 +0200
committerDen Shabalin <den.shabalin@gmail.com>2013-08-14 11:45:47 +0200
commite1bef09d8afe58d00aa0620ee1fd5e7ff92fe470 (patch)
treeeadd8288ddf464d02e65824cc4834fce968d4bd3 /test/files/neg/quasiquotes-syntax-error-position.check
parentb4598b4a7826b76cc6405b448b50d6c20f7a5732 (diff)
downloadscala-e1bef09d8afe58d00aa0620ee1fd5e7ff92fe470.tar.gz
scala-e1bef09d8afe58d00aa0620ee1fd5e7ff92fe470.tar.bz2
scala-e1bef09d8afe58d00aa0620ee1fd5e7ff92fe470.zip
SI-6843 well-positioned syntax errors for quasiquotes
This is achieved in a following way: 1. Similarly to toolbox quasiquotes can go away with wrapping for parsing purpose after introduction of `parseStats` and `parseRule` entry points. 2. In case of syntax error quasiquote computes equivalent corresponding position in the source code with the help of `corrrespondingPosition` mapper which relies on position data collected into `posMap` during code generation.
Diffstat (limited to 'test/files/neg/quasiquotes-syntax-error-position.check')
-rw-r--r--test/files/neg/quasiquotes-syntax-error-position.check32
1 files changed, 32 insertions, 0 deletions
diff --git a/test/files/neg/quasiquotes-syntax-error-position.check b/test/files/neg/quasiquotes-syntax-error-position.check
new file mode 100644
index 0000000000..3bd813b1bb
--- /dev/null
+++ b/test/files/neg/quasiquotes-syntax-error-position.check
@@ -0,0 +1,32 @@
+quasiquotes-syntax-error-position.scala:5: error: '=' expected but identifier found.
+ q"def $a f"
+ ^
+quasiquotes-syntax-error-position.scala:6: error: illegal start of simple expression
+ q"$a("
+ ^
+quasiquotes-syntax-error-position.scala:7: error: '}' expected but end of quote found.
+ q"class $t { def foo = $a"
+ ^
+quasiquotes-syntax-error-position.scala:8: error: '.' expected but splicee found.
+ q"import $t $t"
+ ^
+quasiquotes-syntax-error-position.scala:9: error: illegal start of definition
+ q"package p"
+ ^
+quasiquotes-syntax-error-position.scala:10: error: ';' expected but '@' found.
+ q"foo@$a"
+ ^
+quasiquotes-syntax-error-position.scala:11: error: case classes without a parameter list are not allowed;
+use either case objects or case classes with an explicit `()' as a parameter list.
+ q"case class A"
+ ^
+quasiquotes-syntax-error-position.scala:12: error: identifier expected but ']' found.
+ tq"$t => $t $t]"
+ ^
+quasiquotes-syntax-error-position.scala:13: error: end of quote expected but 'case' found.
+ cq"pattern => body ; case pattern2 =>"
+ ^
+quasiquotes-syntax-error-position.scala:14: error: ')' expected but end of quote found.
+ pq"$a(bar"
+ ^
+10 errors found