| Index: sdk/lib/_internal/compiler/implementation/inferrer/type_graph_inferrer.dart
|
| ===================================================================
|
| --- sdk/lib/_internal/compiler/implementation/inferrer/type_graph_inferrer.dart (revision 30610)
|
| +++ sdk/lib/_internal/compiler/implementation/inferrer/type_graph_inferrer.dart (working copy)
|
| @@ -430,6 +430,10 @@
|
| if (newAssignments == null) return;
|
|
|
| info.elementType.inferred = true;
|
| + TypeMask fixedListType = compiler.typesTask.fixedListType;
|
| + if (info.originalContainerType.forwardTo == fixedListType) {
|
| + info.checksGrowable = tracer.callsGrowableMethod;
|
| + }
|
| newAssignments.forEach(info.elementType.addAssignment);
|
| workQueue.add(info);
|
| workQueue.add(info.elementType);
|
| @@ -875,6 +879,12 @@
|
| return inferrer.types.allocatedContainers[node].type;
|
| }
|
|
|
| + bool isFixedArrayCheckedForGrowable(Node node) {
|
| + if (compiler.disableTypeInference) return true;
|
| + ContainerTypeInformation info = inferrer.types.allocatedContainers[node];
|
| + return info.checksGrowable;
|
| + }
|
| +
|
| TypeMask getTypeOfSelector(Selector selector) {
|
| if (compiler.disableTypeInference) return compiler.typesTask.dynamicType;
|
| // Bailout for closure calls. We're not tracking types of
|
|
|