Closing up examples of visitor based on abstract class
authorJaroslav Tulach <jtulach@netbeans.org>
Sat, 14 Jun 2008 09:58:37 +0200
changeset 164a356cf7a62dc
parent 163 ee2b71db8426
child 165 5543ec63610d
Closing up examples of visitor based on abstract class
samples/visitor/abstractclass/src-test/org/apidesign/test/visitor/LanguageCheckTest.java
samples/visitor/abstractclass/src-test/org/apidesign/test/visitor/PrintTest.java
samples/visitor/traversal/src-test/org/apidesign/test/visitor/CountNumbersTest.java
samples/visitor/visitunknown/src-test/org/apidesign/test/visitor/LanguageCheckTest.java
samples/visitor/visitunknown/src-test/org/apidesign/test/visitor/PrintTest.java
     1.1 --- a/samples/visitor/abstractclass/src-test/org/apidesign/test/visitor/LanguageCheckTest.java	Sat Jun 14 09:58:36 2008 +0200
     1.2 +++ b/samples/visitor/abstractclass/src-test/org/apidesign/test/visitor/LanguageCheckTest.java	Sat Jun 14 09:58:37 2008 +0200
     1.3 @@ -9,14 +9,8 @@
     1.4  
     1.5  public class LanguageCheckTest {
     1.6  
     1.7 -    // BEGIN: visitor.language.check.visitunknown
     1.8 +    // BEGIN: visitor.language.check.exception
     1.9      private static class Valid1_0Language extends Visitor/*version1.0*/ {
    1.10 -        boolean invalid;
    1.11 -
    1.12 -        @Override
    1.13 -        public void visitUnknown(Expression exp) {
    1.14 -            invalid = true;
    1.15 -        }
    1.16          public void visitPlus(Plus s) {
    1.17              s.getFirst().visit(this);
    1.18              s.getSecond().visit(this);
    1.19 @@ -27,10 +21,14 @@
    1.20  
    1.21      public static boolean isValid1_0Language(Expression expression) {
    1.22          Valid1_0Language valid = new Valid1_0Language();
    1.23 -        expression.visit(valid);
    1.24 -        return !valid.invalid;
    1.25 +        try {
    1.26 +            expression.visit(valid);
    1.27 +            return true; // yes, no unknown elements
    1.28 +        } catch (IllegalStateException ex) {
    1.29 +            return false; // no, probably from visitMinus of Visitor/*2.0*/
    1.30 +        }
    1.31      }
    1.32 -    // END: visitor.language.check.visitunknown
    1.33 +    // END: visitor.language.check.exception
    1.34      
    1.35      @Test public void printOnePlusOne() {
    1.36          Number one = new Number(1);
     2.1 --- a/samples/visitor/abstractclass/src-test/org/apidesign/test/visitor/PrintTest.java	Sat Jun 14 09:58:36 2008 +0200
     2.2 +++ b/samples/visitor/abstractclass/src-test/org/apidesign/test/visitor/PrintTest.java	Sat Jun 14 09:58:37 2008 +0200
     2.3 @@ -10,11 +10,6 @@
     2.4  public class PrintTest {
     2.5      public static class PrintVisitor extends Visitor {
     2.6          StringBuffer sb = new StringBuffer();
     2.7 -
     2.8 -        @Override
     2.9 -        public void visitUnknown(Expression exp) {
    2.10 -            sb.append("unknown");
    2.11 -        }
    2.12          
    2.13          public void visitPlus(Plus s) {
    2.14              s.getFirst().visit(this);
     3.1 --- a/samples/visitor/traversal/src-test/org/apidesign/test/visitor/CountNumbersTest.java	Sat Jun 14 09:58:36 2008 +0200
     3.2 +++ b/samples/visitor/traversal/src-test/org/apidesign/test/visitor/CountNumbersTest.java	Sat Jun 14 09:58:37 2008 +0200
     3.3 @@ -9,7 +9,7 @@
     3.4  
     3.5  public class CountNumbersTest {
     3.6  
     3.7 -    // BEGIN: visitor.count.numbers.visitunknown
     3.8 +    // BEGIN: visitor.count.numbers.traversal
     3.9      private static class CountNumbers extends Visitor/*version1.0*/ {
    3.10          int cnt;
    3.11  
    3.12 @@ -31,7 +31,7 @@
    3.13          expression.visit(counter);
    3.14          return counter.cnt;
    3.15      }
    3.16 -    // END: visitor.count.numbers.visitunknown
    3.17 +    // END: visitor.count.numbers.traversal
    3.18      
    3.19      @Test public void printOnePlusOne() {
    3.20          Number one = new Number(1);
     4.1 --- a/samples/visitor/visitunknown/src-test/org/apidesign/test/visitor/LanguageCheckTest.java	Sat Jun 14 09:58:36 2008 +0200
     4.2 +++ b/samples/visitor/visitunknown/src-test/org/apidesign/test/visitor/LanguageCheckTest.java	Sat Jun 14 09:58:37 2008 +0200
     4.3 @@ -9,8 +9,14 @@
     4.4  
     4.5  public class LanguageCheckTest {
     4.6  
     4.7 -    // BEGIN: visitor.language.check.exception
     4.8 +    // BEGIN: visitor.language.check.visitunknown
     4.9      private static class Valid1_0Language extends Visitor/*version1.0*/ {
    4.10 +        boolean invalid;
    4.11 +
    4.12 +        @Override
    4.13 +        public void visitUnknown(Expression exp) {
    4.14 +            invalid = true;
    4.15 +        }
    4.16          public void visitPlus(Plus s) {
    4.17              s.getFirst().visit(this);
    4.18              s.getSecond().visit(this);
    4.19 @@ -21,14 +27,10 @@
    4.20  
    4.21      public static boolean isValid1_0Language(Expression expression) {
    4.22          Valid1_0Language valid = new Valid1_0Language();
    4.23 -        try {
    4.24 -            expression.visit(valid);
    4.25 -            return true; // yes, no unknown elements
    4.26 -        } catch (IllegalStateException ex) {
    4.27 -            return false; // no, probably from visitMinus of Visitor/*2.0*/
    4.28 -        }
    4.29 +        expression.visit(valid);
    4.30 +        return !valid.invalid;
    4.31      }
    4.32 -    // END: visitor.language.check.exception
    4.33 +    // END: visitor.language.check.visitunknown
    4.34      
    4.35      @Test public void printOnePlusOne() {
    4.36          Number one = new Number(1);
     5.1 --- a/samples/visitor/visitunknown/src-test/org/apidesign/test/visitor/PrintTest.java	Sat Jun 14 09:58:36 2008 +0200
     5.2 +++ b/samples/visitor/visitunknown/src-test/org/apidesign/test/visitor/PrintTest.java	Sat Jun 14 09:58:37 2008 +0200
     5.3 @@ -10,6 +10,11 @@
     5.4  public class PrintTest {
     5.5      public static class PrintVisitor extends Visitor {
     5.6          StringBuffer sb = new StringBuffer();
     5.7 +
     5.8 +        @Override
     5.9 +        public void visitUnknown(Expression exp) {
    5.10 +            sb.append("unknown");
    5.11 +        }
    5.12          
    5.13          public void visitPlus(Plus s) {
    5.14              s.getFirst().visit(this);