diff options
author | Paul Phillips <paulp@improving.org> | 2010-07-01 18:29:09 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2010-07-01 18:29:09 +0000 |
commit | 49344ed1da7c03476de8958e8c7aa224493f4adb (patch) | |
tree | 8d6b85f974030acd7f6be36f86c84897b9a64923 /src/compiler | |
parent | 6a949bb61ce6c3f96c96417f01343e68062bc43a (diff) | |
download | scala-49344ed1da7c03476de8958e8c7aa224493f4adb.tar.gz scala-49344ed1da7c03476de8958e8c7aa224493f4adb.tar.bz2 scala-49344ed1da7c03476de8958e8c7aa224493f4adb.zip |
Warded off a parser crash on certain invalid pr...
Warded off a parser crash on certain invalid programs. Closes #3209, no
review.
Diffstat (limited to 'src/compiler')
-rw-r--r-- | src/compiler/scala/tools/nsc/ast/parser/Parsers.scala | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala b/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala index d42803cf8a..f72e45bd99 100644 --- a/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala +++ b/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala @@ -2734,10 +2734,10 @@ self => topstats() match { case List(stat @ PackageDef(_, _)) => stat case stats => - val start = stats match { - case Nil => 0 - case _ => wrappingPos(stats).startOrPoint - } + val start = + if (stats forall (_ == EmptyTree)) 0 + else wrappingPos(stats).startOrPoint + makePackaging(start, atPos(start, start, start) { Ident(nme.EMPTY_PACKAGE_NAME) }, stats) } } |