summaryrefslogtreecommitdiff
path: root/test/files/resident/bug831/NewScalaParserXXX.scala
diff options
context:
space:
mode:
authorSean McDirmid <sean.mcdirmid@gmail.com>2006-11-25 07:17:35 +0000
committerSean McDirmid <sean.mcdirmid@gmail.com>2006-11-25 07:17:35 +0000
commit086f1209bf3303f19c36d802b383de229a985183 (patch)
treef0357557c100d4b11bc78f1727f63cab291bbdcb /test/files/resident/bug831/NewScalaParserXXX.scala
parent24561d55b00f2c0154a6cb051ee6f1571671bc6b (diff)
downloadscala-086f1209bf3303f19c36d802b383de229a985183.tar.gz
scala-086f1209bf3303f19c36d802b383de229a985183.tar.bz2
scala-086f1209bf3303f19c36d802b383de229a985183.zip
Adding passing resident tests.
Diffstat (limited to 'test/files/resident/bug831/NewScalaParserXXX.scala')
-rw-r--r--test/files/resident/bug831/NewScalaParserXXX.scala43
1 files changed, 43 insertions, 0 deletions
diff --git a/test/files/resident/bug831/NewScalaParserXXX.scala b/test/files/resident/bug831/NewScalaParserXXX.scala
new file mode 100644
index 0000000000..88c81637f0
--- /dev/null
+++ b/test/files/resident/bug831/NewScalaParserXXX.scala
@@ -0,0 +1,43 @@
+package bug831;
+
+trait ScalaNodeScannerXXX {
+ type Node <: NodeImpl;
+ trait NodeImpl { def self : Node; }
+ type Unfixed <: Node with UnfixedImpl;
+ trait UnfixedImpl extends NodeImpl { def self : Unfixed; }
+}
+//def f = { Console.println("hello"); 42; }
+//for (val ns <-n; val i <- 0.until(ns)) yield f;
+
+
+trait NewScalaScannerXXX extends ScalaNodeScannerXXX {
+ type Unfixed <: Node with UnfixedImpl;
+ trait UnfixedImpl extends super.UnfixedImpl with NodeImpl;
+ type Statement <: Unfixed with StatementImpl;
+ trait StatementImpl extends UnfixedImpl { def self : Statement; }
+ type NewLine <: Statement with NewLineImpl;
+ trait NewLineImpl extends StatementImpl {
+ def self : NewLine;
+ def isActive : Boolean = true;
+ }
+ object ArrowMode extends Enumeration { val Def, Case, Expr = Value }
+}
+
+trait ScalaPrecedenceXXX extends NewScalaScannerXXX {
+ type NewLine <: Statement with NewLineImpl;
+ trait NewLineImpl extends super.NewLineImpl with StatementImpl {
+ def self : NewLine;
+ override def isActive = super[NewLineImpl].isActive;
+ }
+}
+trait NewScalaParserXXX extends NewScalaScannerXXX with ScalaPrecedenceXXX {
+ type NewLine <: Statement with NewLineImpl;
+ trait MyNewLine extends super[NewScalaScannerXXX].NewLineImpl;
+ trait NewLineImpl extends MyNewLine with
+ super[ScalaPrecedenceXXX].NewLineImpl with
+ StatementImpl {
+ def self : NewLine;
+ override def isActive = super[MyNewLine].isActive;
+ }
+}
+