| OLD | NEW |
| 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 class AbstractVisitor<R> implements Visitor<R> { | 5 class AbstractVisitor<R> implements Visitor<R> { |
| 6 const AbstractVisitor(); | 6 const AbstractVisitor(); |
| 7 | 7 |
| 8 abstract R visitNode(Node node); | 8 abstract R visitNode(Node node); |
| 9 | 9 |
| 10 R visitBlock(Block node) => visitStatement(node); | 10 R visitBlock(Block node) => visitStatement(node); |
| 11 R visitBreakStatement(BreakStatement node) => visitGotoStatement(node); | 11 R visitBreakStatement(BreakStatement node) => visitGotoStatement(node); |
| 12 R visitCascade(Cascade node) => visitExpression(node); | 12 R visitCascade(Cascade node) => visitExpression(node); |
| 13 R visitCascadeReceiver(CascadeReceiver node) => visitExpression(node); | 13 R visitCascadeReceiver(CascadeReceiver node) => visitExpression(node); |
| 14 R visitCaseMatch(CaseMatch node) => visitNode(node); |
| 14 R visitCatchBlock(CatchBlock node) => visitNode(node); | 15 R visitCatchBlock(CatchBlock node) => visitNode(node); |
| 15 R visitClassNode(ClassNode node) => visitNode(node); | 16 R visitClassNode(ClassNode node) => visitNode(node); |
| 16 R visitConditional(Conditional node) => visitExpression(node); | 17 R visitConditional(Conditional node) => visitExpression(node); |
| 17 R visitContinueStatement(ContinueStatement node) => visitGotoStatement(node); | 18 R visitContinueStatement(ContinueStatement node) => visitGotoStatement(node); |
| 18 R visitDoWhile(DoWhile node) => visitLoop(node); | 19 R visitDoWhile(DoWhile node) => visitLoop(node); |
| 19 R visitEmptyStatement(EmptyStatement node) => visitStatement(node); | 20 R visitEmptyStatement(EmptyStatement node) => visitStatement(node); |
| 20 R visitExpression(Expression node) => visitNode(node); | 21 R visitExpression(Expression node) => visitNode(node); |
| 21 R visitExpressionStatement(ExpressionStatement node) => visitStatement(node); | 22 R visitExpressionStatement(ExpressionStatement node) => visitStatement(node); |
| 22 R visitFor(For node) => visitLoop(node); | 23 R visitFor(For node) => visitLoop(node); |
| 23 R visitForIn(ForIn node) => visitLoop(node); | 24 R visitForIn(ForIn node) => visitLoop(node); |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 78 class TraversingVisitor extends AbstractVisitor { | 79 class TraversingVisitor extends AbstractVisitor { |
| 79 final Visitor visitor; | 80 final Visitor visitor; |
| 80 | 81 |
| 81 TraversingVisitor(Visitor this.visitor); | 82 TraversingVisitor(Visitor this.visitor); |
| 82 | 83 |
| 83 visitNode(Node node) { | 84 visitNode(Node node) { |
| 84 node.accept(visitor); | 85 node.accept(visitor); |
| 85 node.visitChildren(this); | 86 node.visitChildren(this); |
| 86 } | 87 } |
| 87 } | 88 } |
| OLD | NEW |