| 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 4d7aae3d847ccd9a76dd70788a1867e713e706dd..f5088ae214008351cbb595d737c6578bd1ba4478 100644
|
| --- a/pkg/compiler/lib/src/cps_ir/remove_refinements.dart
|
| +++ b/pkg/compiler/lib/src/cps_ir/remove_refinements.dart
|
| @@ -22,13 +22,14 @@ 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.destroy();
|
| - node.remove();
|
| + refinement.value.unlink();
|
| + InteriorNode parent = node.parent;
|
| + parent.body = node.body;
|
| + node.body.parent = parent;
|
| }
|
| - return next;
|
| + return node.body;
|
| }
|
| }
|
|
|