Chromium Code Reviews| Index: pkg/compiler/lib/src/inferrer/node_tracer.dart |
| diff --git a/pkg/compiler/lib/src/inferrer/node_tracer.dart b/pkg/compiler/lib/src/inferrer/node_tracer.dart |
| index df7dd31a7ccb08f7a4ab8d2bc6e733daa5a8996f..354ec9306c788b10f25cd42ca206829f827a8de8 100644 |
| --- a/pkg/compiler/lib/src/inferrer/node_tracer.dart |
| +++ b/pkg/compiler/lib/src/inferrer/node_tracer.dart |
| @@ -220,7 +220,7 @@ abstract class TracerVisitor implements TypeInformationVisitor { |
| bailout('Stored in a list that bailed out'); |
| } else { |
| list.flowsInto.forEach((flow) { |
| - flow.users.forEach((user) { |
| + flow.users.forEach((dynamic user) { |
| if (user is! DynamicCallSiteTypeInformation) return; |
| if (user.receiver != flow) return; |
| if (inferrer.returnsListElementTypeSet.contains(user.selector)) { |
| @@ -239,7 +239,7 @@ abstract class TracerVisitor implements TypeInformationVisitor { |
| bailout('Stored in a map that bailed out'); |
| } else { |
| map.flowsInto.forEach((flow) { |
| - flow.users.forEach((user) { |
| + flow.users.forEach((dynamic user) { |
| if (user is! DynamicCallSiteTypeInformation) return; |
| if (user.receiver != flow) return; |
| if (user.selector.isIndex) { |
| @@ -392,6 +392,8 @@ abstract class TracerVisitor implements TypeInformationVisitor { |
| Iterable<Element> inferredTargetTypes = |
| info.targets.map((MemberElement element) { |
| + // TODO(ahe): Is this a bug? |
|
ahe
2017/06/15 09:36:39
I'll file a bug and update the comment.
ahe
2017/06/15 11:41:57
Done.
|
| + // ignore: RETURN_OF_INVALID_TYPE |
| return inferrer.types.getInferredTypeOf(element); |
| }); |
| if (inferredTargetTypes.any((user) => user == currentUser)) { |