| Index: pkg/compiler/lib/src/elements/modelx.dart
|
| diff --git a/pkg/compiler/lib/src/elements/modelx.dart b/pkg/compiler/lib/src/elements/modelx.dart
|
| index e58d75242743f7114a2daf0c5984288f9558ed5b..c0feddb650727cda2a8bb68114803268cd26f68b 100644
|
| --- a/pkg/compiler/lib/src/elements/modelx.dart
|
| +++ b/pkg/compiler/lib/src/elements/modelx.dart
|
| @@ -2418,8 +2418,9 @@ abstract class ClassElementX extends BaseClassElementX {
|
| }
|
| }
|
|
|
| -class EnumClassElementX extends ClassElementX {
|
| +class EnumClassElementX extends ClassElementX implements EnumClassElement {
|
| final Enum node;
|
| + Iterable<FieldElement> _enumValues;
|
|
|
| EnumClassElementX(String name, Element enclosing, int id, this.node)
|
| : super(name, enclosing, id, STATE_NOT_STARTED);
|
| @@ -2437,9 +2438,21 @@ class EnumClassElementX extends ClassElementX {
|
| Node parseNode(Compiler compiler) => node;
|
|
|
| @override
|
| - accept(ElementVisitor visitor) => visitor.visitClassElement(this);
|
| + accept(ElementVisitor visitor) => visitor.visitEnumClassElement(this);
|
|
|
| List<DartType> computeTypeParameters(Compiler compiler) => const <DartType>[];
|
| +
|
| + Iterable<FieldElement> get enumValues {
|
| + assert(invariant(this, _enumValues != null,
|
| + message: "enumValues has not been computed for $this."));
|
| + return _enumValues;
|
| + }
|
| +
|
| + void set enumValues(Iterable<FieldElement> values) {
|
| + assert(invariant(this, _enumValues == null,
|
| + message: "enumValues has already been computed for $this."));
|
| + _enumValues = values;
|
| + }
|
| }
|
|
|
| class EnumConstructorElementX extends ConstructorElementX {
|
|
|