Index: pkg/compiler/lib/src/tree_ir/optimization/pull_into_initializers.dart |
diff --git a/pkg/compiler/lib/src/tree_ir/optimization/pull_into_initializers.dart b/pkg/compiler/lib/src/tree_ir/optimization/pull_into_initializers.dart |
index 1820f1d8af16a6a235c748810d60483ed345a350..d3ef16e24b9d74c20b93cab9bfa9f54e06753e2a 100644 |
--- a/pkg/compiler/lib/src/tree_ir/optimization/pull_into_initializers.dart |
+++ b/pkg/compiler/lib/src/tree_ir/optimization/pull_into_initializers.dart |
@@ -347,6 +347,17 @@ class PullIntoInitializers extends RecursiveTransformer |
return node; |
} |
+ Expression visitApplyBuiltinMethod(ApplyBuiltinMethod node) { |
+ node.receiver = visitExpression(node.receiver); |
+ if (!node.receiverIsNotNull) { |
+ // If the receiver is null, the method lookup throws. |
+ ++impureCounter; |
+ } |
+ rewriteList(node.arguments); |
+ ++impureCounter; |
+ return node; |
+ } |
+ |
@override |
Expression visitForeignExpression(ForeignExpression node) { |
rewriteList(node.arguments); |