From 7bf837c79315e5db7e049f3ffeb6c6842d18880c Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Sun, 16 Mar 2014 21:39:18 +0100 Subject: Fix of t0774: empty file Was previously wrapped in a package but the resulting tree had no position, which caused a Typer assertion. If now represented as EmptyTree. --- src/dotty/tools/dotc/parsing/Parsers.scala | 1 + tests/pos/t0612/C.scala | 6 ++++++ tests/pos/t0612/Ob.scala | 5 +++++ tests/pos/t0774/deathname.scala | 1 + tests/pos/t0774/unrelated.scala | 9 +++++++++ tests/untried/pos/t0774/deathname.scala | 1 - tests/untried/pos/t0774/unrelated.scala | 9 --------- 7 files changed, 22 insertions(+), 10 deletions(-) create mode 100644 tests/pos/t0612/C.scala create mode 100644 tests/pos/t0612/Ob.scala create mode 100644 tests/pos/t0774/deathname.scala create mode 100644 tests/pos/t0774/unrelated.scala delete mode 100644 tests/untried/pos/t0774/deathname.scala delete mode 100644 tests/untried/pos/t0774/unrelated.scala 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/pos/t0774/deathname.scala b/tests/pos/t0774/deathname.scala new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/tests/pos/t0774/deathname.scala @@ -0,0 +1 @@ + diff --git a/tests/pos/t0774/unrelated.scala b/tests/pos/t0774/unrelated.scala new file mode 100644 index 000000000..1efdb2505 --- /dev/null +++ b/tests/pos/t0774/unrelated.scala @@ -0,0 +1,9 @@ +object Outer { + import Inner._ + + deathname + + object Inner { + def deathname: Int = 1 + } +} diff --git a/tests/untried/pos/t0774/deathname.scala b/tests/untried/pos/t0774/deathname.scala deleted file mode 100644 index 8b1378917..000000000 --- a/tests/untried/pos/t0774/deathname.scala +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/untried/pos/t0774/unrelated.scala b/tests/untried/pos/t0774/unrelated.scala deleted file mode 100644 index 1efdb2505..000000000 --- a/tests/untried/pos/t0774/unrelated.scala +++ /dev/null @@ -1,9 +0,0 @@ -object Outer { - import Inner._ - - deathname - - object Inner { - def deathname: Int = 1 - } -} -- cgit v1.2.3