Index: pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart |
diff --git a/pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart b/pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart |
index 5240db91ecc1ba7d9ef1f4ad67522a8b4fe94077..b15f510c3dd7645b764cf94701af496c11831ee8 100644 |
--- a/pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart |
+++ b/pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart |
@@ -397,6 +397,13 @@ class IRTracer extends TracerUtil implements cps_ir.Visitor { |
} |
@override |
+ visitYield(cps_ir.Yield node) { |
+ String value = formatReference(node.input); |
+ String continuation = formatReference(node.continuation); |
+ return 'Yield $value $continuation'; |
+ } |
+ |
+ @override |
visitRefinement(cps_ir.Refinement node) { |
String value = formatReference(node.value); |
return 'Refinement $value ${node.type}'; |
@@ -675,9 +682,15 @@ class BlockCollector implements cps_ir.Visitor { |
@override |
visitAwait(cps_ir.Await node) { |
- unexpectedNode(node); |
+ addEdgeToContinuation(node.continuation); |
+ } |
+ |
+ @override |
+ visitYield(cps_ir.Yield node) { |
+ addEdgeToContinuation(node.continuation); |
} |
+ @override |
visitRefinement(cps_ir.Refinement node) { |
unexpectedNode(node); |
} |