diff options
-rw-r--r-- | src/compiler/scala/tools/nsc/ast/parser/Parsers.scala | 8 | ||||
-rw-r--r-- | test/files/neg/bug3209.check | 4 | ||||
-rw-r--r-- | test/files/neg/bug3209.scala | 2 |
3 files changed, 10 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) } } diff --git a/test/files/neg/bug3209.check b/test/files/neg/bug3209.check new file mode 100644 index 0000000000..fa50f4ce1d --- /dev/null +++ b/test/files/neg/bug3209.check @@ -0,0 +1,4 @@ +bug3209.scala:2: error: expected start of definition +package test +^ +one error found diff --git a/test/files/neg/bug3209.scala b/test/files/neg/bug3209.scala new file mode 100644 index 0000000000..d893726659 --- /dev/null +++ b/test/files/neg/bug3209.scala @@ -0,0 +1,2 @@ +@javax.annotation.Generated(Array("test")) +package test
\ No newline at end of file |