summaryrefslogtreecommitdiff
path: root/test/files/neg/parser-import-errors.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2013-09-18 07:48:57 -0700
committerPaul Phillips <paulp@improving.org>2013-09-18 12:13:06 -0700
commitf7a315adf63fdac2a7f95f87b88e03d4139af863 (patch)
tree6486f3d8f7bb4a462497b170ab84c65784669b29 /test/files/neg/parser-import-errors.scala
parent1c8bbd7ec5b8859f75abfbc4e70482dede2b7007 (diff)
downloadscala-f7a315adf63fdac2a7f95f87b88e03d4139af863.tar.gz
scala-f7a315adf63fdac2a7f95f87b88e03d4139af863.tar.bz2
scala-f7a315adf63fdac2a7f95f87b88e03d4139af863.zip
SI-7854, SI-6768 better parsing/positioning in parser
The parser hole I found while working on the generated positions serves as the umbrella for a host of improvements. Upgraded positions assigned during some specific challenging situations mostly involving the creation of synthetic trees, e.g. for comprehensions and closures. While doing so improved some error messages. Eliminated some of the most glaring duplication in the parser. It's written like there is some payoff associated with being spectacularly imperative. Not so far.
Diffstat (limited to 'test/files/neg/parser-import-errors.scala')
-rw-r--r--test/files/neg/parser-import-errors.scala49
1 files changed, 49 insertions, 0 deletions
diff --git a/test/files/neg/parser-import-errors.scala b/test/files/neg/parser-import-errors.scala
new file mode 100644
index 0000000000..010bb95a1e
--- /dev/null
+++ b/test/files/neg/parser-import-errors.scala
@@ -0,0 +1,49 @@
+package p1 {
+ class A1
+ class B1
+ class C1
+}
+
+package p2 {
+ import p1.{ A1, B1 => Q1, C1 => _ }
+
+ class X {
+ new A1
+ new B1
+ new C1
+ new Q1
+ }
+}
+
+package p3 {
+ import p1.{ A1 => X1, X1 => A1 }
+ class X {
+ new A1
+ new B1
+ new C1
+ new X1
+ }
+}
+
+package p4 {
+ import p1.{ A1 => B1, B1 => A1 }
+ class X {
+ new A1
+ new B1
+ new C1
+ }
+}
+
+package p5 {
+ import p1.{ A1, B1 => A1 }
+ class X {
+ new A1
+ }
+}
+
+package p6 {
+ import p1.{ Z1, B1 => Z1 }
+ class X {
+ new Z1
+ }
+}