From 8856f21f59ff735db7951901a799300a5affd9cc Mon Sep 17 00:00:00 2001 From: Hubert Plociniczak Date: Tue, 26 Jan 2010 14:21:58 +0000 Subject: Another batch of tests. No review. --- test/files/buildmanager/t2789/A.scala | 5 +++++ test/files/buildmanager/t2789/B.scala | 3 +++ test/files/buildmanager/t2789/t2789.changes/A2.scala | 5 +++++ test/files/buildmanager/t2789/t2789.check | 11 +++++++++++ test/files/buildmanager/t2789/t2789.test | 3 +++ test/files/buildmanager/t2790/A.scala | 5 +++++ test/files/buildmanager/t2790/B.scala | 4 ++++ test/files/buildmanager/t2790/t2790.changes/A2.scala | 4 ++++ test/files/buildmanager/t2790/t2790.check | 14 ++++++++++++++ test/files/buildmanager/t2790/t2790.test | 3 +++ 10 files changed, 57 insertions(+) create mode 100644 test/files/buildmanager/t2789/A.scala create mode 100644 test/files/buildmanager/t2789/B.scala create mode 100644 test/files/buildmanager/t2789/t2789.changes/A2.scala create mode 100644 test/files/buildmanager/t2789/t2789.check create mode 100644 test/files/buildmanager/t2789/t2789.test create mode 100644 test/files/buildmanager/t2790/A.scala create mode 100644 test/files/buildmanager/t2790/B.scala create mode 100644 test/files/buildmanager/t2790/t2790.changes/A2.scala create mode 100644 test/files/buildmanager/t2790/t2790.check create mode 100644 test/files/buildmanager/t2790/t2790.test (limited to 'test/files/buildmanager') diff --git a/test/files/buildmanager/t2789/A.scala b/test/files/buildmanager/t2789/A.scala new file mode 100644 index 0000000000..08d5bc840c --- /dev/null +++ b/test/files/buildmanager/t2789/A.scala @@ -0,0 +1,5 @@ +class A { + implicit def e: E = new E + def x(i: Int)(implicit y: E): String = "" +} +class E diff --git a/test/files/buildmanager/t2789/B.scala b/test/files/buildmanager/t2789/B.scala new file mode 100644 index 0000000000..dcefbeec1b --- /dev/null +++ b/test/files/buildmanager/t2789/B.scala @@ -0,0 +1,3 @@ +object B extends A { + val y = x(3) +} diff --git a/test/files/buildmanager/t2789/t2789.changes/A2.scala b/test/files/buildmanager/t2789/t2789.changes/A2.scala new file mode 100644 index 0000000000..4ba3814e71 --- /dev/null +++ b/test/files/buildmanager/t2789/t2789.changes/A2.scala @@ -0,0 +1,5 @@ +class A { + def e: E = new E + def x(i: Int)(implicit y: E): String = "" +} +class E diff --git a/test/files/buildmanager/t2789/t2789.check b/test/files/buildmanager/t2789/t2789.check new file mode 100644 index 0000000000..78c5119355 --- /dev/null +++ b/test/files/buildmanager/t2789/t2789.check @@ -0,0 +1,11 @@ +builder > A.scala B.scala +compiling Set(A.scala, B.scala) +Changes: Map() +builder > A.scala +compiling Set(A.scala) +Changes: Map(class A -> List(Changed(Definition(A.e))[method e changed from ()E to ()E flags: implicit ]), class E -> List()) +invalidate B.scala because inherited method changed [Changed(Definition(A.e))[method e changed from ()E to ()E flags: implicit ]] +compiling Set(B.scala) +B.scala:2: error: could not find implicit value for parameter y: E + val y = x(3) + ^ diff --git a/test/files/buildmanager/t2789/t2789.test b/test/files/buildmanager/t2789/t2789.test new file mode 100644 index 0000000000..6f3bd03361 --- /dev/null +++ b/test/files/buildmanager/t2789/t2789.test @@ -0,0 +1,3 @@ +>>compile A.scala B.scala +>>update A.scala=>A2.scala +>>compile A.scala diff --git a/test/files/buildmanager/t2790/A.scala b/test/files/buildmanager/t2790/A.scala new file mode 100644 index 0000000000..6e9c1a90db --- /dev/null +++ b/test/files/buildmanager/t2790/A.scala @@ -0,0 +1,5 @@ +object A { + def x(f: String, g: Int): Int = g + def x(f: Int, g: Int = 3): Int = g +} + diff --git a/test/files/buildmanager/t2790/B.scala b/test/files/buildmanager/t2790/B.scala new file mode 100644 index 0000000000..441055ca12 --- /dev/null +++ b/test/files/buildmanager/t2790/B.scala @@ -0,0 +1,4 @@ +object B { + val y = A.x(5) +} + diff --git a/test/files/buildmanager/t2790/t2790.changes/A2.scala b/test/files/buildmanager/t2790/t2790.changes/A2.scala new file mode 100644 index 0000000000..704ef4e96e --- /dev/null +++ b/test/files/buildmanager/t2790/t2790.changes/A2.scala @@ -0,0 +1,4 @@ +object A { + def x(f: String, g: Int = 3): Int = g + def x(f: Int, g: Int): Int = g +} diff --git a/test/files/buildmanager/t2790/t2790.check b/test/files/buildmanager/t2790/t2790.check new file mode 100644 index 0000000000..065956765a --- /dev/null +++ b/test/files/buildmanager/t2790/t2790.check @@ -0,0 +1,14 @@ +builder > A.scala B.scala +compiling Set(A.scala, B.scala) +Changes: Map() +builder > A.scala +compiling Set(A.scala) +Changes: Map(object A -> List(Added(Definition(A.x)), Changed(Definition(A.x))[value x changed from (f: java.lang.String,g: Int)Int to (f: java.lang.String,g: Int)Int (f: Int,g: Int)Int flags: ])) +invalidate B.scala because it references changed definition [Changed(Definition(A.x))[value x changed from (f: java.lang.String,g: Int)Int to (f: java.lang.String,g: Int)Int (f: Int,g: Int)Int flags: ]] +compiling Set(B.scala) +B.scala:2: error: type mismatch; + found : Int(5) + required: String +Error occured in an application involving default arguments. + val y = A.x(5) + ^ diff --git a/test/files/buildmanager/t2790/t2790.test b/test/files/buildmanager/t2790/t2790.test new file mode 100644 index 0000000000..6f3bd03361 --- /dev/null +++ b/test/files/buildmanager/t2790/t2790.test @@ -0,0 +1,3 @@ +>>compile A.scala B.scala +>>update A.scala=>A2.scala +>>compile A.scala -- cgit v1.2.3