Index: pkg/compiler/lib/src/inferrer/type_graph_nodes.dart |
diff --git a/pkg/compiler/lib/src/inferrer/type_graph_nodes.dart b/pkg/compiler/lib/src/inferrer/type_graph_nodes.dart |
index 639f047d0c940948d5b24f614abf22fdb8814f64..5d983caf5b0f90444392221932fdab616b875534 100644 |
--- a/pkg/compiler/lib/src/inferrer/type_graph_nodes.dart |
+++ b/pkg/compiler/lib/src/inferrer/type_graph_nodes.dart |
@@ -310,7 +310,7 @@ class ParameterAssignments extends IterableBase<TypeInformation> { |
Iterator<TypeInformation> get iterator => assignments.keys.iterator; |
Iterable<TypeInformation> where(Function f) => assignments.keys.where(f); |
- bool contains(TypeInformation info) => assignments.containsKey(info); |
+ bool contains(Object info) => assignments.containsKey(info); |
String toString() => assignments.keys.toList().toString(); |
} |
@@ -408,7 +408,7 @@ class MemberTypeInformation extends ElementTypeInformation |
void addCall(Element caller, Spannable node) { |
assert(node is ast.Node || node is Element); |
- _callers ??= <Element, Setlet>{}; |
+ _callers ??= <Element, Setlet<Spannable>>{}; |
_callers.putIfAbsent(caller, () => new Setlet()).add(node); |
} |
@@ -837,8 +837,10 @@ class DynamicCallSiteTypeInformation extends CallSiteTypeInformation { |
} |
} |
- Iterable<Element> get callees => |
- targets.map((MemberElement e) => e.implementation); |
+ Iterable<Element> get callees => targets.map((_e) { |
+ MemberElement e = _e; |
+ return e.implementation; |
+ }); |
TypeMask computeTypedSelector(InferrerEngine inferrer) { |
TypeMask receiverType = receiver.type; |
@@ -853,7 +855,8 @@ class DynamicCallSiteTypeInformation extends CallSiteTypeInformation { |
} |
bool targetsIncludeComplexNoSuchMethod(InferrerEngine inferrer) { |
- return targets.any((MemberElement e) { |
+ return targets.any((_e) { |
+ MemberElement e = _e; |
return e is MethodElement && |
e.isInstanceMember && |
e.name == Identifiers.noSuchMethod_ && |
@@ -1022,8 +1025,8 @@ class DynamicCallSiteTypeInformation extends CallSiteTypeInformation { |
// Walk over the found targets, and compute the joined union type mask |
// for all these targets. |
- TypeMask result = |
- inferrer.types.joinTypeMasks(targets.map((MemberElement element) { |
+ TypeMask result = inferrer.types.joinTypeMasks(targets.map((_element) { |
+ MemberElement element = _element; |
// If [canReachAll] is true, then we are iterating over all |
// targets that satisfy the untyped selector. We skip the return |
// type of the targets that can only be reached through |
@@ -1118,8 +1121,10 @@ class DynamicCallSiteTypeInformation extends CallSiteTypeInformation { |
bool hasStableType(InferrerEngine inferrer) { |
return receiver.isStable && |
- targets.every((MemberElement element) => |
- inferrer.types.getInferredTypeOf(element).isStable) && |
+ targets.every((_element) { |
+ MemberElement element = _element; |
+ return inferrer.types.getInferredTypeOf(element).isStable; |
+ }) && |
(arguments == null || arguments.every((info) => info.isStable)) && |
super.hasStableType(inferrer); |
} |