summaryrefslogtreecommitdiff
path: root/docs/examples/expressions/expressions-current.scala
diff options
context:
space:
mode:
Diffstat (limited to 'docs/examples/expressions/expressions-current.scala')
-rw-r--r--docs/examples/expressions/expressions-current.scala6
1 files changed, 4 insertions, 2 deletions
diff --git a/docs/examples/expressions/expressions-current.scala b/docs/examples/expressions/expressions-current.scala
index 5eeb439430..660a417c11 100644
--- a/docs/examples/expressions/expressions-current.scala
+++ b/docs/examples/expressions/expressions-current.scala
@@ -1,5 +1,7 @@
package examples.expressions
+class Ref[a](var elem:a) {}
+
abstract class Lang {
trait Visitor {
def caseNum(n: int): unit
@@ -21,7 +23,7 @@ abstract class Lang {
}
abstract class Lang2 extends Lang {
- abstract class Visitor2 extends Visitor {
+ trait Visitor2 extends Visitor {
def casePlus(left: Exp, right: Exp): unit
}
@@ -32,7 +34,7 @@ abstract class Lang2 extends Lang {
}
// class Eval2(result: Ref[int]): visitor extends Eval(result) with Visitor2 {
- class Eval2(result: Ref[int]) requires visitor extends Visitor2 {
+ class Eval2(result: Ref[int]) requires visitor extends Eval(result) with Visitor2 {
def casePlus(l: Exp, r: Exp) =
result.elem = { l.visit(this); result.elem } + { r.visit(this); result.elem }
}