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

Side by Side Diff: pkg/compiler/lib/src/tree_ir/optimization/statement_rewriter.dart

Issue 1353843002: dart2js cps: Support sync* and yield. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 years, 3 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 library tree_ir.optimization.statement_rewriter; 5 library tree_ir.optimization.statement_rewriter;
6 6
7 import 'optimization.dart' show Pass; 7 import 'optimization.dart' show Pass;
8 import '../tree_ir_nodes.dart'; 8 import '../tree_ir_nodes.dart';
9 import '../../io/source_information.dart'; 9 import '../../io/source_information.dart';
10 10
(...skipping 1117 matching lines...) Expand 10 before | Expand all | Expand 10 after
1128 } 1128 }
1129 1129
1130 @override 1130 @override
1131 Statement visitForeignStatement(ForeignStatement node) { 1131 Statement visitForeignStatement(ForeignStatement node) {
1132 _rewriteList(node.arguments); 1132 _rewriteList(node.arguments);
1133 return node; 1133 return node;
1134 } 1134 }
1135 1135
1136 @override 1136 @override
1137 Expression visitAwait(Await node) { 1137 Expression visitAwait(Await node) {
1138 node.input = visitExpression(node.input);
1139 return node;
1140 }
1141
1142 @override
1143 Statement visitYield(Yield node) {
1144 node.input = visitExpression(node.input);
1138 return node; 1145 return node;
1139 } 1146 }
1140 } 1147 }
1141 1148
1142 /// Result of combining two expressions, with the potential for reverting the 1149 /// Result of combining two expressions, with the potential for reverting the
1143 /// combination. 1150 /// combination.
1144 /// 1151 ///
1145 /// Reverting a combination is done by calling [uncombine]. In this case, 1152 /// Reverting a combination is done by calling [uncombine]. In this case,
1146 /// both the original expressions should remain in the tree, and the [combined] 1153 /// both the original expressions should remain in the tree, and the [combined]
1147 /// expression should be orphaned. 1154 /// expression should be orphaned.
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
1227 VariableUseVisitor(this.callback); 1234 VariableUseVisitor(this.callback);
1228 1235
1229 visitVariableUse(VariableUse use) => callback(use); 1236 visitVariableUse(VariableUse use) => callback(use);
1230 1237
1231 visitInnerFunction(FunctionDefinition node) {} 1238 visitInnerFunction(FunctionDefinition node) {}
1232 1239
1233 static void visit(Expression node, VariableUseCallback callback) { 1240 static void visit(Expression node, VariableUseCallback callback) {
1234 new VariableUseVisitor(callback).visitExpression(node); 1241 new VariableUseVisitor(callback).visitExpression(node);
1235 } 1242 }
1236 } 1243 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/js_backend/codegen/codegen.dart ('k') | pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698