aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2014-03-16 21:39:18 +0100
committerTobias Schlatter <tobias@meisch.ch>2014-03-21 11:24:04 +0100
commit7bf837c79315e5db7e049f3ffeb6c6842d18880c (patch)
treefc74ac3f158adeba356fbca9d0d0df91d894c3d8
parent2c2ab10958e27ced276c9906f18a67c1eddd1928 (diff)
downloaddotty-7bf837c79315e5db7e049f3ffeb6c6842d18880c.tar.gz
dotty-7bf837c79315e5db7e049f3ffeb6c6842d18880c.tar.bz2
dotty-7bf837c79315e5db7e049f3ffeb6c6842d18880c.zip
Fix of t0774: empty file
Was previously wrapped in a package <empty> but the resulting tree had no position, which caused a Typer assertion. If now represented as EmptyTree.
-rw-r--r--src/dotty/tools/dotc/parsing/Parsers.scala1
-rw-r--r--tests/pos/t0612/C.scala6
-rw-r--r--tests/pos/t0612/Ob.scala5
-rw-r--r--tests/pos/t0774/deathname.scala (renamed from tests/untried/pos/t0774/deathname.scala)0
-rw-r--r--tests/pos/t0774/unrelated.scala (renamed from tests/untried/pos/t0774/unrelated.scala)0
5 files changed, 12 insertions, 0 deletions
diff --git a/src/dotty/tools/dotc/parsing/Parsers.scala b/src/dotty/tools/dotc/parsing/Parsers.scala
index aea019bed..7bc7d5516 100644
--- a/src/dotty/tools/dotc/parsing/Parsers.scala
+++ b/src/dotty/tools/dotc/parsing/Parsers.scala
@@ -2071,6 +2071,7 @@ object Parsers {
topstats() match {
case List(stat @ PackageDef(_, _)) => stat
+ case Nil => EmptyTree // without this case we'd get package defs without positions
case stats => PackageDef(Ident(nme.EMPTY_PACKAGE), stats)
}
}
diff --git a/tests/pos/t0612/C.scala b/tests/pos/t0612/C.scala
new file mode 100644
index 000000000..1f260a5b0
--- /dev/null
+++ b/tests/pos/t0612/C.scala
@@ -0,0 +1,6 @@
+package test
+package app
+
+class C {
+ Ob.f
+}
diff --git a/tests/pos/t0612/Ob.scala b/tests/pos/t0612/Ob.scala
new file mode 100644
index 000000000..d12e64963
--- /dev/null
+++ b/tests/pos/t0612/Ob.scala
@@ -0,0 +1,5 @@
+package test
+
+object Ob {
+ protected[test] def f: Unit = {}
+}
diff --git a/tests/untried/pos/t0774/deathname.scala b/tests/pos/t0774/deathname.scala
index 8b1378917..8b1378917 100644
--- a/tests/untried/pos/t0774/deathname.scala
+++ b/tests/pos/t0774/deathname.scala
diff --git a/tests/untried/pos/t0774/unrelated.scala b/tests/pos/t0774/unrelated.scala
index 1efdb2505..1efdb2505 100644
--- a/tests/untried/pos/t0774/unrelated.scala
+++ b/tests/pos/t0774/unrelated.scala