summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2010-07-01 18:29:09 +0000
committerPaul Phillips <paulp@improving.org>2010-07-01 18:29:09 +0000
commit49344ed1da7c03476de8958e8c7aa224493f4adb (patch)
tree8d6b85f974030acd7f6be36f86c84897b9a64923 /src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
parent6a949bb61ce6c3f96c96417f01343e68062bc43a (diff)
downloadscala-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/scala/tools/nsc/ast/parser/Parsers.scala')
-rw-r--r--src/compiler/scala/tools/nsc/ast/parser/Parsers.scala8
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)
}
}