summaryrefslogtreecommitdiff
path: root/test/files/pos/compile.scala
diff options
context:
space:
mode:
authorGilles Dubochet <gilles.dubochet@epfl.ch>2005-12-16 18:29:42 +0000
committerGilles Dubochet <gilles.dubochet@epfl.ch>2005-12-16 18:29:42 +0000
commitdf50e05006b43b007c2587549030d24b5c154398 (patch)
tree9edfb1fb5b8c04350a00c163cfcdb1fccd79e3aa /test/files/pos/compile.scala
parent17e2b1c2a6f69ba74e79c30d1e44195fe732e3e3 (diff)
downloadscala-df50e05006b43b007c2587549030d24b5c154398.tar.gz
scala-df50e05006b43b007c2587549030d24b5c154398.tar.bz2
scala-df50e05006b43b007c2587549030d24b5c154398.zip
'test-nsc' has been moved to 'test'.
Diffstat (limited to 'test/files/pos/compile.scala')
-rw-r--r--test/files/pos/compile.scala150
1 files changed, 150 insertions, 0 deletions
diff --git a/test/files/pos/compile.scala b/test/files/pos/compile.scala
new file mode 100644
index 0000000000..3ed733fd40
--- /dev/null
+++ b/test/files/pos/compile.scala
@@ -0,0 +1,150 @@
+//############################################################################
+// Compile Time Bugs & Test Cases
+//############################################################################
+// $Id$
+
+import java.lang.System; // to avoid name clash with .NET's library
+
+//############################################################################
+// Test 0
+
+/*
+class Test0Foo[X];
+
+object Test0Test {
+ type Gen[A] = Test0Foo[A];
+ class Tic(g: Test0Test.Gen[Int]);
+ class Tac(g: Gen[Int]);
+}
+
+//############################################################################
+// Test 1 - Single types in lambda lift
+
+object Test1 {
+ def main(args: Array[String]): Unit = {
+ List[args.type](args);
+ }
+ def foo[X]: Any = {
+ def bar(x: X) = List(x);
+ 0
+ }
+}
+
+//############################################################################
+// Test 2 - Local variables owned by other local variables
+
+class Test2_1(i: Int) {
+ val t = {
+ val x = {
+ val y = {
+ val z = i;
+ z;
+ };
+ };
+ };
+ val x = {
+ val y = {
+ val z = i;
+ z;
+ };
+ };
+ val y = {
+ val z = i;
+ z;
+ };
+ val z2_1 = i;
+}
+
+class Test2_2(i: Int) {
+ {
+ val t = {
+ val x = {
+ val y = {
+ val z = i;
+ z;
+ };
+ };
+ };
+ val x = {
+ val y = {
+ val z = i;
+ z;
+ };
+ };
+ val y = {
+ val z = i;
+ z;
+ };
+ val z2_2 = i;
+ 0
+ }
+}
+
+class Test2_3() {
+
+ def this(i: Int) = {
+ this();
+ val t = {
+ val x = {
+ val y = {
+ val z = i;
+ z;
+ };
+ };
+ };
+ val x = {
+ val y = {
+ val z = i;
+ z;
+ };
+ };
+ val y = {
+ val z = i;
+ z;
+ };
+ val z2_3 = i;
+ }
+
+ def test(i: Int): Int = {
+ val t = {
+ val x = {
+ val y = {
+ val z = i;
+ z;
+ };
+ };
+ };
+ val x = {
+ val y = {
+ val z = i;
+ z;
+ };
+ };
+ val y = {
+ val z = i;
+ z;
+ };
+ val z_test = i;
+ 0
+ }
+
+}
+*/
+//############################################################################
+// Test 3 - Super Calls with Mixins
+
+class Test3Foo;
+
+trait Test3A[T] {
+ def fun: T = fun;
+}
+
+class Test3B extends Test3A[Test3Foo];
+
+trait Test3M extends Test3A[Test3Foo] {
+ override def fun: Test3Foo = super.fun;
+}
+
+class Test3C extends Test3B with Test3M;
+
+//############################################################################