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

Unified Diff: pkg/compiler/lib/src/js_backend/codegen/codegen.dart

Issue 887923003: Remove visit and override visitExpression instead to make sure we check that the code produced for … (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 10 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
« no previous file with comments | « no previous file | pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/compiler/lib/src/js_backend/codegen/codegen.dart
diff --git a/pkg/compiler/lib/src/js_backend/codegen/codegen.dart b/pkg/compiler/lib/src/js_backend/codegen/codegen.dart
index f930b904228b355f43d9d46b2c0e0a86aba4ac5a..cea45cfa24e0b01b409e22f336f429f4b0bd5d34 100644
--- a/pkg/compiler/lib/src/js_backend/codegen/codegen.dart
+++ b/pkg/compiler/lib/src/js_backend/codegen/codegen.dart
@@ -83,7 +83,8 @@ class CodeGenerator extends tree_ir.Visitor<dynamic, js.Expression> {
return new js.Fun(parameters, new js.Block(accumulator));
}
- js.Expression visit(tree_ir.Expression node) {
+ @override
+ js.Expression visitExpression(tree_ir.Expression node) {
js.Expression result = node.accept(this);
if (result == null) {
glue.reportInternalError('$node did not produce code.');
@@ -141,9 +142,9 @@ class CodeGenerator extends tree_ir.Visitor<dynamic, js.Expression> {
@override
js.Expression visitConditional(tree_ir.Conditional node) {
return new js.Conditional(
- visit(node.condition),
- visit(node.thenExpression),
- visit(node.elseExpression));
+ visitExpression(node.condition),
+ visitExpression(node.thenExpression),
+ visitExpression(node.elseExpression));
}
js.Expression buildConstant(ConstantValue constant) {
@@ -285,7 +286,10 @@ class CodeGenerator extends tree_ir.Visitor<dynamic, js.Expression> {
@override
js.Expression visitLogicalOperator(tree_ir.LogicalOperator node) {
- return new js.Binary(node.operator, visit(node.left), visit(node.right));
+ return new js.Binary(
+ node.operator,
+ visitExpression(node.left),
+ visitExpression(node.right));
}
@override
« no previous file with comments | « no previous file | pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698