diff options
author | Paul Phillips <paulp@improving.org> | 2013-09-18 07:48:57 -0700 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2013-09-18 12:13:06 -0700 |
commit | f7a315adf63fdac2a7f95f87b88e03d4139af863 (patch) | |
tree | 6486f3d8f7bb4a462497b170ab84c65784669b29 /test/files/neg/parser-import-errors.scala | |
parent | 1c8bbd7ec5b8859f75abfbc4e70482dede2b7007 (diff) | |
download | scala-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.scala | 49 |
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 + } +} |