Proper dispatch in Real
authorJaroslav Tulach <jtulach@netbeans.org>
Sat, 14 Jun 2008 09:59:04 +0200
changeset 1743f3e772ccd52
parent 173 db68b5a2636f
child 175 7aaa7b256c7e
Proper dispatch in Real
samples/visitor/11-cleanversion/src-api3.0/org/apidesign/visitor/Language.java
samples/visitor/11-cleanversion/src-test3.0/org/apidesign/test/visitor/PrintOfMinusStructureTest.java
     1.1 --- a/samples/visitor/11-cleanversion/src-api3.0/org/apidesign/visitor/Language.java	Sat Jun 14 09:59:01 2008 +0200
     1.2 +++ b/samples/visitor/11-cleanversion/src-api3.0/org/apidesign/visitor/Language.java	Sat Jun 14 09:59:04 2008 +0200
     1.3 @@ -102,6 +102,11 @@
     1.4          public void visit(Visitor v)
     1.5          // FINISH: visitor.nonmonotonic.real
     1.6          {
     1.7 +            if (v instanceof Visitor3_0) {
     1.8 +                ((Visitor3_0)v).visitReal(this);
     1.9 +            } else {
    1.10 +                v.visitUnknown(this);
    1.11 +            }
    1.12          }
    1.13      }
    1.14  
     2.1 --- a/samples/visitor/11-cleanversion/src-test3.0/org/apidesign/test/visitor/PrintOfMinusStructureTest.java	Sat Jun 14 09:59:01 2008 +0200
     2.2 +++ b/samples/visitor/11-cleanversion/src-test3.0/org/apidesign/test/visitor/PrintOfMinusStructureTest.java	Sat Jun 14 09:59:04 2008 +0200
     2.3 @@ -20,7 +20,7 @@
     2.4          PrintVisitor print = new PrintVisitor();
     2.5          plus.visit(print);
     2.6          
     2.7 -        assertEquals("1 - 2", print.sb.toString());
     2.8 +        assertEquals("1.0 - 2.0", print.sb.toString());
     2.9      }
    2.10      
    2.11      @Test public void visitorReadyForVersion3_0() {
    2.12 @@ -61,6 +61,15 @@
    2.13          
    2.14          assertEquals("1.0 - 2.0", print.sb.toString());
    2.15          // END: visitor.nonmonotonic.print3
    2.16 +
    2.17 +        Real five = new Real(5);
    2.18 +        Real three = new Real(3);
    2.19 +        Expression realPlus = new Minus(five, three);
    2.20 +        
    2.21 +        PrintVisitor3_0 printReal = new PrintVisitor3_0();
    2.22 +        realPlus.visit(printReal);
    2.23 +        
    2.24 +        assertEquals("5.0 - 3.0", printReal.sb.toString());
    2.25          
    2.26      }
    2.27  }