Chromium Code Reviews| Index: pkg/compiler/lib/src/kernel/kernel_backend_strategy.dart |
| diff --git a/pkg/compiler/lib/src/kernel/kernel_backend_strategy.dart b/pkg/compiler/lib/src/kernel/kernel_backend_strategy.dart |
| index 6e8bcd296de4d642905ce877fb610a42f13f11b2..c047b1f7b8be25f53cced82da19036526b19786a 100644 |
| --- a/pkg/compiler/lib/src/kernel/kernel_backend_strategy.dart |
| +++ b/pkg/compiler/lib/src/kernel/kernel_backend_strategy.dart |
| @@ -371,13 +371,13 @@ class KernelToLocalsMapImpl implements KernelToLocalsMap { |
| @override |
| JumpTarget getJumpTargetForForIn(ir.ForInStatement node) { |
| _ensureJumpMap(node); |
| - return _jumpTargetMap[node.parent]; |
| + return _jumpTargetMap[node]; |
| } |
| @override |
| JumpTarget getJumpTargetForWhile(ir.WhileStatement node) { |
| _ensureJumpMap(node); |
| - return _jumpTargetMap[node.parent]; |
| + return _jumpTargetMap[node]; |
| } |
| @override |
| @@ -414,12 +414,18 @@ class JumpVisitor extends ir.Visitor { |
| bool _canBeBreakTarget(ir.TreeNode node) { |
| // TODO(johnniwinther): Add more. |
| - return node is ir.ForStatement; |
| + return node is ir.ForStatement || |
| + node is ir.ForInStatement || |
| + node is ir.WhileStatement || |
| + node is ir.DoStatement; |
|
Siggi Cherem (dart-lang)
2017/06/26 17:25:28
remove this `.parent` in getJumpTargetForDo as wel
Johnni Winther
2017/06/27 09:02:12
Removed. Do statements are not handled yet.
|
| } |
| bool _canBeContinueTarget(ir.TreeNode node) { |
| // TODO(johnniwinther): Add more. |
| - return node is ir.ForStatement; |
| + return node is ir.ForStatement || |
| + node is ir.ForInStatement || |
| + node is ir.WhileStatement || |
| + node is ir.DoStatement; |
| } |
| @override |