From 40c1913dd539beb4b6184b37d87e48d98803a465 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Thu, 17 Nov 2016 18:29:09 +0100 Subject: More robust scheme for taking start/end of positions when parsing Some trees, which do not consume input have unassigned positions (so that they can fit in whatever range they are integrated). It's therefore risky to take the start or end of a parsed tree's position. This commit guards against the case where the position of the tree does not exist. --- tests/neg/i1705.scala | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 tests/neg/i1705.scala (limited to 'tests') diff --git a/tests/neg/i1705.scala b/tests/neg/i1705.scala new file mode 100644 index 000000000..801adb4b7 --- /dev/null +++ b/tests/neg/i1705.scala @@ -0,0 +1,24 @@ +object DepBug { + class A { + class B + def mkB = new B + def m(b: B) = b + } + trait Dep { + val a: A + val b: a.B + } + val dep = new { + val a = new A + val b = a mkB + } + def useDep(d: Dep) { // error: procedure syntax + import d._ + a m (b) + } + { // error: Null does not take parameters (follow on) + import dep._ + a m (b) + } + dep.a m (dep b) // error (follow on) +} -- cgit v1.2.3 From 3d20226ab4c5e4425edc30901a9746d4bb46e105 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Thu, 24 Nov 2016 16:45:26 +0100 Subject: Renamed test file to give correct issue number --- tests/neg/i1705.scala | 24 ------------------------ tests/neg/i1707.scala | 24 ++++++++++++++++++++++++ 2 files changed, 24 insertions(+), 24 deletions(-) delete mode 100644 tests/neg/i1705.scala create mode 100644 tests/neg/i1707.scala (limited to 'tests') diff --git a/tests/neg/i1705.scala b/tests/neg/i1705.scala deleted file mode 100644 index 801adb4b7..000000000 --- a/tests/neg/i1705.scala +++ /dev/null @@ -1,24 +0,0 @@ -object DepBug { - class A { - class B - def mkB = new B - def m(b: B) = b - } - trait Dep { - val a: A - val b: a.B - } - val dep = new { - val a = new A - val b = a mkB - } - def useDep(d: Dep) { // error: procedure syntax - import d._ - a m (b) - } - { // error: Null does not take parameters (follow on) - import dep._ - a m (b) - } - dep.a m (dep b) // error (follow on) -} diff --git a/tests/neg/i1707.scala b/tests/neg/i1707.scala new file mode 100644 index 000000000..801adb4b7 --- /dev/null +++ b/tests/neg/i1707.scala @@ -0,0 +1,24 @@ +object DepBug { + class A { + class B + def mkB = new B + def m(b: B) = b + } + trait Dep { + val a: A + val b: a.B + } + val dep = new { + val a = new A + val b = a mkB + } + def useDep(d: Dep) { // error: procedure syntax + import d._ + a m (b) + } + { // error: Null does not take parameters (follow on) + import dep._ + a m (b) + } + dep.a m (dep b) // error (follow on) +} -- cgit v1.2.3