| Index: pkg/analyzer/lib/src/generated/resolver.dart
|
| diff --git a/pkg/analyzer/lib/src/generated/resolver.dart b/pkg/analyzer/lib/src/generated/resolver.dart
|
| index d204a71ec39d589fefd505939dfa191e16935624..eaa80a47742dac6bf2329a9f04b943d941abd7d3 100644
|
| --- a/pkg/analyzer/lib/src/generated/resolver.dart
|
| +++ b/pkg/analyzer/lib/src/generated/resolver.dart
|
| @@ -3731,7 +3731,7 @@ class EnumMemberBuilder extends RecursiveAstVisitor<Object> {
|
| indexField.type = intType;
|
| fields.add(indexField);
|
| getters.add(_createGetter(indexField));
|
| - FieldElementImpl valuesField = new FieldElementImpl("values", -1);
|
| + ConstFieldElementImpl valuesField = new ConstFieldElementImpl.con2("values", -1);
|
| valuesField.static = true;
|
| valuesField.const3 = true;
|
| valuesField.synthetic = true;
|
| @@ -3742,6 +3742,7 @@ class EnumMemberBuilder extends RecursiveAstVisitor<Object> {
|
| // Build the enum constants.
|
| //
|
| NodeList<EnumConstantDeclaration> constants = node.constants;
|
| + List<DartObjectImpl> constantValues = new List<DartObjectImpl>();
|
| int constantCount = constants.length;
|
| for (int i = 0; i < constantCount; i++) {
|
| SimpleIdentifier constantName = constants[i].name;
|
| @@ -3758,12 +3759,17 @@ class EnumMemberBuilder extends RecursiveAstVisitor<Object> {
|
| fieldMap[indexFieldName] = new DartObjectImpl(intType, new IntState(i));
|
| DartObjectImpl value =
|
| new DartObjectImpl(enumType, new GenericState(fieldMap));
|
| + constantValues.add(value);
|
| constantField.evaluationResult = new EvaluationResultImpl.con1(value);
|
| fields.add(constantField);
|
| getters.add(_createGetter(constantField));
|
| constantName.staticElement = constantField;
|
| }
|
| //
|
| + // Build the value of the 'values' field.
|
| + //
|
| + valuesField.evaluationResult = new EvaluationResultImpl.con1(new DartObjectImpl(valuesField.type, new ListState(constantValues)));
|
| + //
|
| // Finish building the enum.
|
| //
|
| enumElement.fields = fields;
|
|
|