Index: pkg/compiler/lib/src/tree_ir/tree_ir_tracer.dart |
diff --git a/pkg/compiler/lib/src/tree_ir/tree_ir_tracer.dart b/pkg/compiler/lib/src/tree_ir/tree_ir_tracer.dart |
index 63d1a05355ba8a9d7381f3f0d3c9f9e3193ecd3d..f07a03005ffdc30b24750bc064f0190201e66c81 100644 |
--- a/pkg/compiler/lib/src/tree_ir/tree_ir_tracer.dart |
+++ b/pkg/compiler/lib/src/tree_ir/tree_ir_tracer.dart |
@@ -92,7 +92,9 @@ class BlockCollector extends StatementVisitor { |
visitBreak(Break node) { |
_addStatement(node); |
- blocks.last.addEdgeTo(breakTargets[node.target]); |
+ if (breakTargets.containsKey(node.target)) { |
+ blocks.last.addEdgeTo(breakTargets[node.target]); |
+ } |
} |
visitContinue(Continue node) { |
@@ -274,7 +276,9 @@ class TreeTracer extends TracerUtil with StatementVisitor { |
} |
visitBreak(Break node) { |
- printStatement(null, "break ${collector.breakTargets[node.target].name}"); |
+ Block block = collector.breakTargets[node.target]; |
+ String name = block != null ? block.name : '<missing label>'; |
+ printStatement(null, "break $name"); |
} |
visitContinue(Continue node) { |