Index: pkg/compiler/lib/src/cps_ir/cps_ir_builder_task.dart |
diff --git a/pkg/compiler/lib/src/cps_ir/cps_ir_builder_task.dart b/pkg/compiler/lib/src/cps_ir/cps_ir_builder_task.dart |
index c075b77bc4d2e4625b2fa5b86b2ae3b8bb57d7db..e768e3c154fb4a360fa86d4107f252acbaad1b38 100644 |
--- a/pkg/compiler/lib/src/cps_ir/cps_ir_builder_task.dart |
+++ b/pkg/compiler/lib/src/cps_ir/cps_ir_builder_task.dart |
@@ -2810,13 +2810,11 @@ class JsIrBuilderVisitor extends IrBuilderVisitor { |
/// - Replace [ir.LetPrim] binding a [ir.NonTailThrow] with a [ir.Throw] |
/// expression. |
class CleanupPass extends ir.RecursiveVisitor { |
- RemovalVisitor _remover = new RemovalVisitor(); |
- |
ir.Expression replacementFor(ir.Expression expression) { |
if (expression != null && expression is ir.LetPrim) { |
ir.Primitive primitive = expression.primitive; |
if (primitive is ir.NonTailThrow) { |
- _remover.visit(expression); |
+ ir.RemovalVisitor.remove(expression); |
return new ir.Throw(primitive.value.definition); |
} |
} |
@@ -2859,10 +2857,3 @@ class CleanupPass extends ir.RecursiveVisitor { |
node.body = replacementFor(node.body); |
} |
} |
- |
-/// Visit a just-deleted subterm and unlink all [Reference]s in it. |
-class RemovalVisitor extends ir.RecursiveVisitor { |
- processReference(ir.Reference reference) { |
- reference.unlink(); |
- } |
-} |