Index: pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart |
diff --git a/pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart b/pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart |
index c4b993b008ecddc38eafb113b9fffec324d8f58c..8adf3a9171e3a46432e915c49a531b6d1b8fd60c 100644 |
--- a/pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart |
+++ b/pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart |
@@ -436,6 +436,19 @@ class Builder implements cps_ir.Visitor/*<NodeCallback|Node>*/ { |
return makeCallExpression(node, value); |
} |
+ @override |
+ NodeCallback visitYield(cps_ir.Yield node) { |
+ return (Statement next) { |
+ return new Yield(getVariableUse(node.input), node.hasStar, next); |
+ }; |
+ } |
+ |
+ @override |
+ NodeCallback visitAwait(cps_ir.Await node) { |
+ Expression value = new Await(getVariableUse(node.input)); |
+ return makeCallExpression(node, value); |
+ } |
+ |
/************************** TAIL EXPRESSIONS **************************/ |
// |
@@ -670,12 +683,6 @@ class Builder implements cps_ir.Visitor/*<NodeCallback|Node>*/ { |
} |
@override |
- NodeCallback visitAwait(cps_ir.Await node) { |
- Expression value = new Await(getVariableUse(node.input)); |
- return makeCallExpression(node, value); |
- } |
- |
- @override |
Expression visitRefinement(cps_ir.Refinement node) { |
throw 'Unexpected Refinement node in tree builder'; |
} |