diff options
Diffstat (limited to 'test/files/res/bug831/NewScalaParserXXX.scala')
-rw-r--r-- | test/files/res/bug831/NewScalaParserXXX.scala | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/test/files/res/bug831/NewScalaParserXXX.scala b/test/files/res/bug831/NewScalaParserXXX.scala new file mode 100644 index 0000000000..88c81637f0 --- /dev/null +++ b/test/files/res/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; + } +} + |