diff options
author | paltherr <paltherr@epfl.ch> | 2003-10-02 12:37:06 +0000 |
---|---|---|
committer | paltherr <paltherr@epfl.ch> | 2003-10-02 12:37:06 +0000 |
commit | 4500aea22473b9ce61e4487e3cceeedb26382d8d (patch) | |
tree | a5cc5079bd6bd94ab9aafdc1a6115e343fc44c1d /test | |
parent | d08dff3b18972a0004fba6aca726d2b70a9dc235 (diff) | |
download | scala-4500aea22473b9ce61e4487e3cceeedb26382d8d.tar.gz scala-4500aea22473b9ce61e4487e3cceeedb26382d8d.tar.bz2 scala-4500aea22473b9ce61e4487e3cceeedb26382d8d.zip |
- Moved bug 142 into bugs.scala
- Added bug 174 to bugs.scala
- Improved output of bugs.scala
- Added bugs.check
Diffstat (limited to 'test')
-rw-r--r-- | test/files/jvm/bug142.check | 8 | ||||
-rw-r--r-- | test/files/jvm/bug142.scala | 39 | ||||
-rw-r--r-- | test/files/run/bugs.check | 24 | ||||
-rw-r--r-- | test/files/run/bugs.scala | 83 |
4 files changed, 101 insertions, 53 deletions
diff --git a/test/files/jvm/bug142.check b/test/files/jvm/bug142.check deleted file mode 100644 index 2ecb5b2188..0000000000 --- a/test/files/jvm/bug142.check +++ /dev/null @@ -1,8 +0,0 @@ -ok -ok -ok -ok -ok -ok -ok -ok diff --git a/test/files/jvm/bug142.scala b/test/files/jvm/bug142.scala deleted file mode 100644 index 9985ec83bf..0000000000 --- a/test/files/jvm/bug142.scala +++ /dev/null @@ -1,39 +0,0 @@ -//############################################################################ -// Bug 142 -//############################################################################ -// $Id$ - -import System.out.println; - -abstract class Foo1 { class Inner; def foo: Inner; foo; } -abstract class Foo2 { class Inner; def foo: Inner = {println("ok"); null}; } -abstract class Foo3 { type Inner; def foo: Inner; foo; } -abstract class Foo4 { type Inner; def foo: Inner = {println("ok"); null.asInstanceOf[Inner]}; } - -abstract class Bar1 { type Inner; def foo: Inner = {println("ok"); null.asInstanceOf[Inner]}; } -abstract class Bar2 { type Inner; def foo: Inner; foo; } -abstract class Bar3 { class Inner; def foo: Inner = {println("ok"); null}; } -abstract class Bar4 { class Inner; def foo: Inner; foo; } - -object Test1 extends Foo1 with Bar1 {def main(args:Array[String]):Unit=();} -object Test2 extends Foo2 with Bar2 {def main(args:Array[String]):Unit=();} -object Test3 extends Foo3 with Bar3 {def main(args:Array[String]):Unit=();} -object Test4 extends Foo4 with Bar4 {def main(args:Array[String]):Unit=();} -object Test5 with Foo1 with Bar1 {def main(args:Array[String]):Unit=();} -object Test6 with Foo2 with Bar2 {def main(args:Array[String]):Unit=();} -object Test7 with Foo3 with Bar3 {def main(args:Array[String]):Unit=();} -object Test8 with Foo4 with Bar4 {def main(args:Array[String]):Unit=();} - -object Test { - def main(args:Array[String]): Unit = { - Test1; - Test2; - Test3; - Test4; - Test5; - Test6; - Test7; - Test8; - () - } -} diff --git a/test/files/run/bugs.check b/test/files/run/bugs.check new file mode 100644 index 0000000000..f0206cb8b3 --- /dev/null +++ b/test/files/run/bugs.check @@ -0,0 +1,24 @@ +<<< bug 135 +Some(The answer) +>>> bug 135 + +<<< bug 142 +ok +ok +ok +ok +ok +ok +ok +ok +>>> bug 142 + +<<< bug 167 +>>> bug 167 + +<<< bug 168 +>>> bug 168 + +<<< bug 174 +>>> bug 174 + diff --git a/test/files/run/bugs.scala b/test/files/run/bugs.scala index 873006592d..c410eb0240 100644 --- a/test/files/run/bugs.scala +++ b/test/files/run/bugs.scala @@ -16,13 +16,48 @@ object Bug135Test { new Order((x:int,y:int) => x < y, (x:int,y:int) => x == y); val myMap:TreeMap[int,String] = new TreeMap(intOrder); val map1 = myMap + 42 -> "The answer"; - if (map1.get(42) != Some("The answer")) - Console.println("KO: " + map1.get(42)); + Console.println(map1.get(42)); } } //############################################################################ +// Bug 142 + +abstract class Bug142Foo1 { class Inner; def foo: Inner; foo; } +abstract class Bug142Foo2 { class Inner; def foo: Inner = {System.out.println("ok"); null};} +abstract class Bug142Foo3 { type Inner; def foo: Inner; foo; } +abstract class Bug142Foo4 { type Inner; def foo: Inner = {System.out.println("ok"); null.asInstanceOf[Inner]}; } + +abstract class Bug142Bar1 { type Inner; def foo: Inner = {System.out.println("ok"); null.asInstanceOf[Inner]}; } +abstract class Bug142Bar2 { type Inner; def foo: Inner; foo; } +abstract class Bug142Bar3 { class Inner; def foo: Inner = {System.out.println("ok"); null}; } +abstract class Bug142Bar4 { class Inner; def foo: Inner; foo; } + +object Bug142Test1 extends Bug142Foo1 with Bug142Bar1 {def main(args:Array[String]):Unit=();} +object Bug142Test2 extends Bug142Foo2 with Bug142Bar2 {def main(args:Array[String]):Unit=();} +object Bug142Test3 extends Bug142Foo3 with Bug142Bar3 {def main(args:Array[String]):Unit=();} +object Bug142Test4 extends Bug142Foo4 with Bug142Bar4 {def main(args:Array[String]):Unit=();} +object Bug142Test5 with Bug142Foo1 with Bug142Bar1 {def main(args:Array[String]):Unit=();} +object Bug142Test6 with Bug142Foo2 with Bug142Bar2 {def main(args:Array[String]):Unit=();} +object Bug142Test7 with Bug142Foo3 with Bug142Bar3 {def main(args:Array[String]):Unit=();} +object Bug142Test8 with Bug142Foo4 with Bug142Bar4 {def main(args:Array[String]):Unit=();} + +object Bug142Test { + def main(args:Array[String]): Unit = { + Bug142Test1; + Bug142Test2; + Bug142Test3; + Bug142Test4; + Bug142Test5; + Bug142Test6; + Bug142Test7; + Bug142Test8; + () + } +} + +//############################################################################ // Bug 167 class Bug167Node(bar:Int) { @@ -46,7 +81,7 @@ class Bug168Foo { def foo = new Bar; } -object Bug168Test { +object Bug168Test { def main(args: Array[String]): Unit = { (new Bug168Foo).foo; () @@ -54,13 +89,49 @@ object Bug168Test { } //############################################################################ +// Bug 174 + +class Bug174Foo[X] { + + class Tree; + class Node extends Tree; + + + val inner:Inner = new SubInner; + + trait Inner { + def test: Bug174Foo[X]#Tree ; + } + + class SubInner extends Inner { + def test = new Node; + } + +} + +object Bug174Test { + def main(args: Array[String]): Unit = { + (new Bug174Foo[Int]).inner.test; + () + } +} + +//############################################################################ // Main object Test { + def test(bug: Int, def test: Unit): Unit = { + System.out.println("<<< bug " + bug); + test; + System.out.println(">>> bug " + bug); + System.out.println(); + } def main(args: Array[String]): Unit = { - Bug135Test.main(args); - Bug167Test.main(args); - Bug168Test.main(args); + test(135, Bug135Test.main(args)); + test(142, Bug142Test.main(args)); + test(167, Bug167Test.main(args)); + test(168, Bug168Test.main(args)); + test(174, Bug174Test.main(args)); } } |