| Index: pkg/compiler/lib/src/cps_ir/remove_refinements.dart
|
| diff --git a/pkg/compiler/lib/src/cps_ir/remove_refinements.dart b/pkg/compiler/lib/src/cps_ir/remove_refinements.dart
|
| index f5088ae214008351cbb595d737c6578bd1ba4478..4d7aae3d847ccd9a76dd70788a1867e713e706dd 100644
|
| --- a/pkg/compiler/lib/src/cps_ir/remove_refinements.dart
|
| +++ b/pkg/compiler/lib/src/cps_ir/remove_refinements.dart
|
| @@ -22,14 +22,13 @@ class RemoveRefinements extends RecursiveVisitor implements Pass {
|
|
|
| @override
|
| Expression traverseLetPrim(LetPrim node) {
|
| + Expression next = node.body;
|
| if (node.primitive is Refinement) {
|
| Refinement refinement = node.primitive;
|
| refinement.value.definition.substituteFor(refinement);
|
| - refinement.value.unlink();
|
| - InteriorNode parent = node.parent;
|
| - parent.body = node.body;
|
| - node.body.parent = parent;
|
| + refinement.destroy();
|
| + node.remove();
|
| }
|
| - return node.body;
|
| + return next;
|
| }
|
| }
|
|
|