| Index: sdk/lib/_internal/compiler/implementation/types/type_graph_inferrer.dart
|
| diff --git a/sdk/lib/_internal/compiler/implementation/types/type_graph_inferrer.dart b/sdk/lib/_internal/compiler/implementation/types/type_graph_inferrer.dart
|
| index 10d96a077bf5bf67ed14b77976f40895fa7d32e6..d401382b812ad0b965c695f0525aa883adb93a91 100644
|
| --- a/sdk/lib/_internal/compiler/implementation/types/type_graph_inferrer.dart
|
| +++ b/sdk/lib/_internal/compiler/implementation/types/type_graph_inferrer.dart
|
| @@ -61,7 +61,7 @@ abstract class TypeInformation {
|
| TypeInformation(this.type, [users, assignments])
|
| : users = (users == null) ? new Set<TypeInformation>() : users,
|
| assignments = (assignments == null) ? <TypeInformation>[] : assignments;
|
| -
|
| +
|
|
|
| void addUser(TypeInformation user) {
|
| assert(!user.isConcrete);
|
| @@ -172,7 +172,7 @@ class ParameterAssignments extends IterableBase<TypeInformation> {
|
| * - Native functions and fields: because native methods contain no Dart
|
| * code, and native fields do not have Dart assignments, we just
|
| * trust their type annotation.
|
| - *
|
| + *
|
| */
|
| class ElementTypeInformation extends TypeInformation {
|
| final Element element;
|
| @@ -468,7 +468,7 @@ class DynamicCallSiteTypeInformation extends CallSiteTypeInformation {
|
| inferrer.updateParameterAssignments(
|
| this, element, arguments, typedSelector, remove: false);
|
| }
|
| -
|
| +
|
| if (receiver.type.isContainer && selector.isIndex()) {
|
| // Find the [ElementInContainerTypeInformation] node and tell
|
| // that this node is a user of it. Later, when the element
|
| @@ -970,7 +970,7 @@ class WorkQueue {
|
| *
|
| */
|
| class TypeGraphInferrerEngine
|
| - extends InferrerEngine<TypeInformation, TypeInformationSystem> {
|
| + extends SimpleInferrerEngine<TypeInformation, TypeInformationSystem> {
|
| final Map<Element, ConcreteTypeInformation> defaultTypeOfParameter =
|
| new Map<Element, ConcreteTypeInformation>();
|
| final WorkQueue workQueue = new WorkQueue();
|
|
|