Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(915)

Unified Diff: pkg/polymer_expressions/lib/visitor.dart

Issue 207433002: Changes in polymer-expressions to prepare for codegen in polymer: (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: address John's comments Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: pkg/polymer_expressions/lib/visitor.dart
diff --git a/pkg/polymer_expressions/lib/visitor.dart b/pkg/polymer_expressions/lib/visitor.dart
index 08a6a022aac7498305e659c6daf013dedf6ceadd..8c4118df150aa432128a079f8e874285fb7829c8 100644
--- a/pkg/polymer_expressions/lib/visitor.dart
+++ b/pkg/polymer_expressions/lib/visitor.dart
@@ -24,28 +24,36 @@ abstract class Visitor {
visitInExpression(InExpression c);
}
-abstract class RecursiveVisitor extends Visitor {
- visitExpression(Expression e);
+class RecursiveVisitor extends Visitor {
+ preVisitExpression(Expression e) {}
+ visitExpression(Expression e) {}
- visitEmptyExpression(EmptyExpression e) => visitExpression(e);
+ visitEmptyExpression(EmptyExpression e) {
+ preVisitExpression(e);
+ visitExpression(e);
+ }
visitParenthesizedExpression(ParenthesizedExpression e) {
+ preVisitExpression(e);
visit(e.child);
visitExpression(e);
}
visitGetter(Getter i) {
+ preVisitExpression(i);
visit(i.receiver);
visitExpression(i);
}
visitIndex(Index i) {
+ preVisitExpression(i);
visit(i.receiver);
visit(i.argument);
visitExpression(i);
}
visitInvoke(Invoke i) {
+ preVisitExpression(i);
visit(i.receiver);
if (i.arguments != null) {
for (var a in i.arguments) {
@@ -55,9 +63,13 @@ abstract class RecursiveVisitor extends Visitor {
visitExpression(i);
}
- visitLiteral(Literal l) => visitExpression(l);
+ visitLiteral(Literal l) {
+ preVisitExpression(l);
+ visitExpression(l);
+ }
visitListLiteral(ListLiteral l) {
+ preVisitExpression(l);
for (var i in l.items) {
visit(i);
}
@@ -65,6 +77,7 @@ abstract class RecursiveVisitor extends Visitor {
}
visitMapLiteral(MapLiteral l) {
+ preVisitExpression(l);
for (var e in l.entries) {
visit(e);
}
@@ -72,25 +85,32 @@ abstract class RecursiveVisitor extends Visitor {
}
visitMapLiteralEntry(MapLiteralEntry e) {
+ preVisitExpression(e);
visit(e.key);
visit(e.entryValue);
visitExpression(e);
}
- visitIdentifier(Identifier i) => visitExpression(i);
+ visitIdentifier(Identifier i) {
+ preVisitExpression(i);
+ visitExpression(i);
+ }
visitBinaryOperator(BinaryOperator o) {
+ preVisitExpression(o);
visit(o.left);
visit(o.right);
visitExpression(o);
}
visitUnaryOperator(UnaryOperator o) {
+ preVisitExpression(o);
visit(o.child);
visitExpression(o);
}
visitTernaryOperator(TernaryOperator o) {
+ preVisitExpression(o);
visit(o.condition);
visit(o.trueExpr);
visit(o.falseExpr);
@@ -98,8 +118,9 @@ abstract class RecursiveVisitor extends Visitor {
}
visitInExpression(InExpression c) {
+ preVisitExpression(c);
visit(c.left);
visit(c.right);
visitExpression(c);
}
-}
+}

Powered by Google App Engine
This is Rietveld 408576698