Index: pkg/compiler/lib/src/inferrer/closure_tracer.dart |
diff --git a/pkg/compiler/lib/src/inferrer/closure_tracer.dart b/pkg/compiler/lib/src/inferrer/closure_tracer.dart |
index cd76db6f4ff669ebec32a7b7fffc3b65da6a9f9e..83fc2fc78c90a491a64d82f05756097a1460e7aa 100644 |
--- a/pkg/compiler/lib/src/inferrer/closure_tracer.dart |
+++ b/pkg/compiler/lib/src/inferrer/closure_tracer.dart |
@@ -90,7 +90,8 @@ class ClosureTracerVisitor extends TracerVisitor { |
// where `foo` is a getter. |
_registerCallForLaterAnalysis(info); |
} |
- if (_checkIfFunctionApply(called) && |
+ if (called is MemberElement && |
+ _checkIfFunctionApply(called) && |
info.arguments != null && |
info.arguments.contains(currentUser)) { |
_tagAsFunctionApplyTarget("static call"); |
@@ -100,9 +101,8 @@ class ClosureTracerVisitor extends TracerVisitor { |
bool _checkIfCurrentUser(element) => |
inferrer.types.getInferredTypeOf(element) == currentUser; |
- bool _checkIfFunctionApply(Element element) { |
- return element is MemberElement && |
- compiler.commonElements.isFunctionApplyMethod(element); |
+ bool _checkIfFunctionApply(MemberElement element) { |
+ return compiler.commonElements.isFunctionApplyMethod(element); |
} |
@override |