| Index: pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart
|
| diff --git a/pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart b/pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart
|
| index c3f2a729dd791a5d677e951635813d221e18294b..5678b81f77a5189ea24d7a3c1f37bb227c41fc6f 100644
|
| --- a/pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart
|
| +++ b/pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart
|
| @@ -1632,14 +1632,15 @@ class SimpleTypeInferrerVisitor<T>
|
| return length.value;
|
| } else if (element != null &&
|
| element.isField &&
|
| - Elements.isStaticOrTopLevelField(element) &&
|
| - closedWorld.fieldNeverChanges(element)) {
|
| + Elements.isStaticOrTopLevelField(element)) {
|
| FieldElement fieldElement = element;
|
| - ConstantValue value =
|
| - compiler.backend.constants.getConstantValue(fieldElement.constant);
|
| - if (value != null && value.isInt) {
|
| - IntConstantValue intValue = value;
|
| - return intValue.primitiveValue;
|
| + if (closedWorld.fieldNeverChanges(fieldElement)) {
|
| + ConstantValue value =
|
| + compiler.backend.constants.getConstantValue(fieldElement.constant);
|
| + if (value != null && value.isInt) {
|
| + IntConstantValue intValue = value;
|
| + return intValue.primitiveValue;
|
| + }
|
| }
|
| }
|
| return null;
|
|
|