diff options
author | Paul Phillips <paulp@improving.org> | 2010-10-02 23:19:16 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2010-10-02 23:19:16 +0000 |
commit | 943fbb1363345fdaca55e5df95059e8ce8c1344b (patch) | |
tree | b12582afc26fe0e3d0dc4a502eef5e6a2d41bfb3 | |
parent | 06aa1c9eff49d5190e82a72a876d7b3bd706d6d4 (diff) | |
download | scala-943fbb1363345fdaca55e5df95059e8ce8c1344b.tar.gz scala-943fbb1363345fdaca55e5df95059e8ce8c1344b.tar.bz2 scala-943fbb1363345fdaca55e5df95059e8ce8c1344b.zip |
The next batch of tests put up a little more st...
The next batch of tests put up a little more struggle, but only a
little. See test/pending/pos/unappgadteval.scala (the changes for which
were in the previous commit) for an example of a test which might be on
to something. Any idea what it would take to get it working?
// the key lines
case i @ Suc() => { (y: Int) => y + 1 } // a = Int => Int
case f @ Lam[b,c](x, e) => { (y: b) => eval(e, env.extend(x, y)) } // a = b=>c
No review.
21 files changed, 23 insertions, 306 deletions
diff --git a/test/pending/neg/scopes.check b/test/files/neg/scopes.check index bb8e15058b..54c5d5b5e1 100644 --- a/test/pending/neg/scopes.check +++ b/test/files/neg/scopes.check @@ -1,30 +1,35 @@ scopes.scala:1: error: x is already defined as value x -case class test0(x: int, x: float) +case class test0(x: Int, x: Float) ^ +scopes.scala:1: error: type mismatch; + found : Float + required: Int +case class test0(x: Int, x: Float) + ^ scopes.scala:5: error: t is already defined as type t - type t = float + type t = Float ^ scopes.scala:7: error: x is already defined as value x - val x: float = .0f; + val x: Float = .0f; ^ scopes.scala:10: error: y is already defined as value y - val y: float = .0f + val y: Float = .0f ^ scopes.scala:13: error: x is already defined as value x - def f1(x: int, x: float) = x + def f1(x: Int, x: Float) = x ^ scopes.scala:14: error: y is already defined as value y - def f2(x: int)(y: int, y: float) = x + y + def f2(x: Int)(y: Int, y: Float) = x + y ^ scopes.scala:15: error: x is already defined as value x - val closure = (x: int, x: float) => x - ^ + val closure = (x: Int, x: Float) => x + ^ scopes.scala:17: error: x is already defined as value x case x::x => x ^ scopes.scala:1: error: type mismatch; - found : float - required: int -case class test0(x: int, x: float) + found : Float + required: Int +case class test0(x: Int, x: Float) ^ -9 errors found +10 errors found diff --git a/test/pending/neg/scopes.scala b/test/files/neg/scopes.scala index fd31ff5f72..fd31ff5f72 100644 --- a/test/pending/neg/scopes.scala +++ b/test/files/neg/scopes.scala diff --git a/test/files/run/bug874.check b/test/files/run/bug874.check new file mode 100644 index 0000000000..91de7e0a03 --- /dev/null +++ b/test/files/run/bug874.check @@ -0,0 +1,2 @@ +U created with xyz and 2 +U created with abc and 1 diff --git a/test/pending/run/bug874.scala b/test/files/run/bug874.scala index d83014651b..d83014651b 100644 --- a/test/pending/run/bug874.scala +++ b/test/files/run/bug874.scala diff --git a/test/pending/run/records.scala b/test/files/run/records.scala index 0447b6f085..c1dc7b67e8 100644 --- a/test/pending/run/records.scala +++ b/test/files/run/records.scala @@ -20,6 +20,8 @@ object Test { val z: T = y - Console.println(x.f+z.f+", expected = 3") - Console.println(x.g+z.g+", expected = hello world") + def main(args: Array[String]): Unit = { + assert(x.f+z.f == 3) + assert(x.g+z.g == "hello world") + } } diff --git a/test/pending/neg/bug112506A.scala b/test/pending/neg/bug112506A.scala deleted file mode 100644 index 5dffb5ebe6..0000000000 --- a/test/pending/neg/bug112506A.scala +++ /dev/null @@ -1,19 +0,0 @@ -package test; -import scala.collection.immutable.ListSet -import scala.collection.mutable._; -trait TypeManagerXXX { - trait TypedNode; - type Node; -} -trait ScalaTyperXXX extends TypeManagerXXX { - private var typed : Node = null; - private val dependMap = new HashMap[String,ListSet[TypedNode]]; - override def lookupEntry(name: String): String = { - val set = dependMap.get(name) match { - case Some(set) => set; - case None => new ListSet[Node] - } - dependMap.update(name, set + typed); - throw new Error; - } -} diff --git a/test/pending/pos/bug112606B.scala b/test/pending/pos/bug112606B.scala deleted file mode 100644 index 6dfaf4bf01..0000000000 --- a/test/pending/pos/bug112606B.scala +++ /dev/null @@ -1,11 +0,0 @@ -package test; -trait Test2 { - case class Token(text : String); - class KeywordToken(text : String) extends Token(text); - def decode(tok : KeywordToken) = tok match { - // constructor cannot be instantiated to expected type; - // found : Test2.this.Token - // required: Test2.this.KeywordToken - case Token("final") => true; - } -} diff --git a/test/pending/res/bug1092.res b/test/pending/res/bug1092.res deleted file mode 100644 index 6deef8afd0..0000000000 --- a/test/pending/res/bug1092.res +++ /dev/null @@ -1 +0,0 @@ -bug1092/A.scala bug1092/B.scala bug1092/C.scala diff --git a/test/pending/res/bug1092/A.scala b/test/pending/res/bug1092/A.scala deleted file mode 100644 index 192e7afe11..0000000000 --- a/test/pending/res/bug1092/A.scala +++ /dev/null @@ -1,4 +0,0 @@ -object HolderA { - class A(a: Int) -} - diff --git a/test/pending/res/bug1092/B.scala b/test/pending/res/bug1092/B.scala deleted file mode 100644 index 5c80e8e84d..0000000000 --- a/test/pending/res/bug1092/B.scala +++ /dev/null @@ -1,4 +0,0 @@ -object HolderB { - import HolderA.A - trait B extends A -} diff --git a/test/pending/res/bug1092/C.scala b/test/pending/res/bug1092/C.scala deleted file mode 100644 index f961a93b5b..0000000000 --- a/test/pending/res/bug1092/C.scala +++ /dev/null @@ -1,6 +0,0 @@ -object C extends Application { - import HolderA.A - import HolderB.B - - println(new A(4) with B) -} diff --git a/test/pending/res/bug830/Bad.scala b/test/pending/res/bug830/Bad.scala deleted file mode 100644 index 17632290ff..0000000000 --- a/test/pending/res/bug830/Bad.scala +++ /dev/null @@ -1,11 +0,0 @@ -package test; -trait HasNodeXXX { - type Node <: NodeImpl; - trait NodeImpl; -} -trait ScalaFlowScannerZZZ extends HasNodeXXX { - type Node <: NodeImpl; - trait NodeImplA extends super.NodeImpl; - trait NodeImplB extends NodeImpl; - trait NodeImpl extends NodeImplA with NodeImplB; -} diff --git a/test/pending/res/bug830/Good.scala b/test/pending/res/bug830/Good.scala deleted file mode 100644 index 84789bfc47..0000000000 --- a/test/pending/res/bug830/Good.scala +++ /dev/null @@ -1,11 +0,0 @@ -package test; -trait HasNodeXXX { - type Node <: NodeImpl; - trait NodeImpl; -} -trait ScalaFlowScannerZZZ extends HasNodeXXX { - type Node <: NodeImpl; - trait NodeImplA extends super.NodeImpl; - trait NodeImplB extends super.NodeImpl; - trait NodeImpl extends NodeImplA with NodeImplB; -} diff --git a/test/pending/res/bug830A.res b/test/pending/res/bug830A.res deleted file mode 100644 index 421e1a2fee..0000000000 --- a/test/pending/res/bug830A.res +++ /dev/null @@ -1,13 +0,0 @@ -bug830/Good.scala -bug830/Bad.scala -bug830/Good.scala -bug830/Bad.scala -bug830/Good.scala -bug830/Bad.scala -bug830/Good.scala -bug830/Bad.scala -bug830/Good.scala -bug830/Bad.scala -bug830/Good.scala -bug830/Bad.scala -bug830/Good.scala diff --git a/test/pending/res/bug830B.res b/test/pending/res/bug830B.res deleted file mode 100644 index 54c13801b6..0000000000 --- a/test/pending/res/bug830B.res +++ /dev/null @@ -1,13 +0,0 @@ -bug830/Good.scala -bug830/Good.scala -bug830/Good.scala -bug830/Bad.scala -bug830/Bad.scala -bug830/Bad.scala -bug830/Good.scala -bug830/Good.scala -bug830/Good.scala -bug830/Bad.scala -bug830/Bad.scala -bug830/Bad.scala -bug830/Good.scala diff --git a/test/pending/res/bug837.res b/test/pending/res/bug837.res deleted file mode 100644 index a0f5100843..0000000000 --- a/test/pending/res/bug837.res +++ /dev/null @@ -1,3 +0,0 @@ -DataFlowAnalysis.scala DeadCode.scala -DeadCode.scala - diff --git a/test/pending/res/bug837/DataFlowAnalysis.scala b/test/pending/res/bug837/DataFlowAnalysis.scala deleted file mode 100644 index 25c2fbc635..0000000000 --- a/test/pending/res/bug837/DataFlowAnalysis.scala +++ /dev/null @@ -1,17 +0,0 @@ -package test; -import scala.collection.mutable._; -trait CompleteLattice { - trait Elem; -} -trait DataFlowAnalysis[L <: CompleteLattice] { - type P; - val lattice : L; - val out: Map[P, lattice.Elem] = new HashMap; -} -abstract class Liveness { - object livenessLattice extends CompleteLattice; - final class LivenessAnalysis extends DataFlowAnalysis[livenessLattice.type] { - type P = String; - val lattice = livenessLattice; - } -} diff --git a/test/pending/res/bug837/DeadCode.scala b/test/pending/res/bug837/DeadCode.scala deleted file mode 100644 index 2978e24d42..0000000000 --- a/test/pending/res/bug837/DeadCode.scala +++ /dev/null @@ -1,6 +0,0 @@ -package test; -trait DeadcodeAnalysis { - object liveness extends Liveness; - val a = new liveness.LivenessAnalysis(); - var live = a.out("hello"); -} diff --git a/test/pending/run/collections.check b/test/pending/run/collections.check deleted file mode 100644 index 33a8551bf3..0000000000 --- a/test/pending/run/collections.check +++ /dev/null @@ -1,36 +0,0 @@ -***** immutable.ListSet: -test1: 14005 -test2: 25005003 -test3: 25005003 -***** immutable.TreeSet: -test1: 14005 -test2: 25005003 -test3: 25005003 -***** mutable.HashSet: -test1: 14005 -test2: 25005003 -test3: 25005003 -***** immutable.ListMap: -test1: 14005 -test2: 1013003 -test3: 1013003 -***** immutable.TreeMap: -test1: 14005 -test2: 1013003 -test3: 1013003 -***** immutable.UnBalancedTreeMap: -test1: 14005 -test2: 1013003 -test3: 1013003 -***** immutable.HashTreeSet: -test1: 14005 -test2: 25005003 -test3: 25005003 -***** immutable.HashTreeMap: -test1: 14005 -test2: 1013003 -test3: 1013003 -***** mutable.HashMap: -test1: 14005 -test2: 25005003 -test3: 25005003 diff --git a/test/pending/run/collections.scala b/test/pending/run/collections.scala deleted file mode 100644 index 16a3ddb370..0000000000 --- a/test/pending/run/collections.scala +++ /dev/null @@ -1,102 +0,0 @@ -import collection._ - -object Test extends Application { - - val printTime = false - - def sum[A](xs: Iterable[Int]) = (0 /: xs)((x, y) => x + y) - - def time(op: => Unit): Unit = { - val start = System.currentTimeMillis; - op - if (printTime) Console.println(" time = "+(System.currentTimeMillis - start)+"ms") - } - - def test(msg: String, s0: collection.immutable.Set[Int]) = { - Console.println("***** "+msg+":") - var s = s0 - s = s + 2 - s = s + (3, 4000, 10000) - Console.println("test1: "+sum(s)) - time { - s = s ++ (List.range(0, 5000) map (2*)) - Console.println("test2: "+sum(s)) - } - time { - var x = 0 - for (val i <- (0 to 10000)) - if (s contains i) x = x + i - Console.println("test3: "+x) - } - } - - def test(msg: String, s0: collection.mutable.Set[Int]) = { - Console.println("***** "+msg+":") - var s = s0 - s = s + 2 - s = s + (3, 4000, 10000) - Console.println("test1: "+sum(s)) - time { - s = s ++ (List.range(0, 5000) map (2*)) - Console.println("test2: "+sum(s)) - } - time { - var x = 0 - for (val i <- (0 to 10000)) - if (s contains i) x = x + i - Console.println("test3: "+x) - } - } - - def test(msg: String, s0: collection.immutable.Map[Int, Int]) = { - Console.println("***** "+msg+":") - var s = s0 - s = s + (2 -> 2) - s = s + (3 -> 3, 4000 -> 4000, 10000 -> 10000) - Console.println("test1: "+sum(s map (._2))) - time { - s = s ++ (List.range(0, 1000) map (x => x * 2 -> x * 2)) - Console.println("test2: "+sum(s map (._2))) - } - time { - var x = 0 - for (val i <- (0 to 10000)) - s get i match { - case Some(i) => x = x + i - case None => - } - Console.println("test3: "+x) - } - } - - def test(msg: String, s0: collection.mutable.Map[Int, Int]) = { - Console.println("***** "+msg+":") - var s = s0 - s = s + (2 -> 2) - s = s + (3 -> 3, 4000 -> 4000, 10000 -> 10000) - Console.println("test1: "+sum(s map (._2))) - time { - s = s ++ (List.range(0, 5000) map (x => x * 2 -> x * 2)) - Console.println("test2: "+sum(s map (._2))) - } - time { - var x = 0 - for (val i <- (0 to 10000)) - s get i match { - case Some(i) => x = x + i - case None => - } - Console.println("test3: "+x) - } - } - - test("immutable.ListSet", new immutable.ListSet[Int]) - test("immutable.TreeSet", new immutable.TreeSet[Int]) - test("mutable.HashSet", new mutable.HashSet[Int]) - test("immutable.ListMap", new immutable.ListMap[Int, Int]) - test("immutable.TreeMap", new immutable.TreeMap[Int, Int]) - test("immutable.UnBalancedTreeMap", new immutable.UnbalancedTreeMap[Int, Int]) - test("immutable.HashTreeSet", new immutable.HashTreeSet[Int]) - test("immutable.HashTreeMap", new immutable.HashTreeMap[Int, Int]) - test("mutable.HashMap", new mutable.HashMap[Int, Int]) -} diff --git a/test/pending/run/deprecated.scala b/test/pending/run/deprecated.scala deleted file mode 100644 index 122e339d2f..0000000000 --- a/test/pending/run/deprecated.scala +++ /dev/null @@ -1,35 +0,0 @@ -object Test { - abstract class AbstractStuff { - def dostuff: Unit - } - - [postabstract] - class BlueStuff extends AbstractStuff { - [deprecated] def dostuff = Console.println("blue") - def five = "five" - } - - class LightBlueStuff extends BlueStuff { - [deprecated] override def dostuff = {Console.println("light blue")} - - // warning: deprecated method overrides a concrete method - [deprecated] override def five = "light five" - } - - // warning: not marked as postabstract - class RedStuff extends AbstractStuff { - [deprecated] def dostuff = Console.println("red") - } - - - def main(args: Array[String]) { - // warning: BlueStuff will be abstract after deprecated methods are removed - val blue = new BlueStuff - - // warning: RedStuff will be abstract after deprecated methods are removed - val red = new RedStuff - - // warning: dostuff is deprecated - blue.dostuff - } -} |