| Index: pkg/compiler/lib/src/serialization/modelz.dart
|
| diff --git a/pkg/compiler/lib/src/serialization/modelz.dart b/pkg/compiler/lib/src/serialization/modelz.dart
|
| index cbc297cf4cc364497475c455b80ddf74300db849..067c5703a5acac64e862f7087604e8291a9b5fe0 100644
|
| --- a/pkg/compiler/lib/src/serialization/modelz.dart
|
| +++ b/pkg/compiler/lib/src/serialization/modelz.dart
|
| @@ -80,9 +80,6 @@ abstract class ElementZ extends Element with ElementCommon {
|
| }
|
|
|
| @override
|
| - ClassElement get contextClass => _unsupported('contextClass');
|
| -
|
| - @override
|
| ClassElement get enclosingClass => null;
|
|
|
| @override
|
| @@ -530,6 +527,9 @@ class CompilationUnitElementZ extends DeserializedElementZ
|
| CompilationUnitElement get compilationUnit => this;
|
|
|
| @override
|
| + Element get enclosingElement => library;
|
| +
|
| + @override
|
| accept(ElementVisitor visitor, arg) {
|
| return visitor.visitCompilationUnitElement(this, arg);
|
| }
|
| @@ -723,13 +723,16 @@ abstract class ParametersMixin
|
| abstract class FunctionTypedElementMixin
|
| implements FunctionElement, DeserializedElementZ {
|
| @override
|
| - AsyncMarker get asyncMarker => _unsupported('');
|
| + AsyncMarker get asyncMarker => _unsupported('asyncMarker');
|
|
|
| @override
|
| - bool get isExternal => _unsupported('');
|
| + FunctionElement asFunctionElement() => this;
|
|
|
| @override
|
| - FunctionElement asFunctionElement() => this;
|
| + bool get isExternal {
|
| + return _decoder.getBool(
|
| + Key.IS_EXTERNAL, isOptional: true, defaultValue: false);
|
| + }
|
| }
|
|
|
| class ClassElementZ extends DeserializedElementZ
|
| @@ -854,7 +857,8 @@ class ClassElementZ extends DeserializedElementZ
|
|
|
| @override
|
| bool get isUnnamedMixinApplication {
|
| - return _unsupported('isUnnamedMixinApplication');
|
| + return _decoder.getBool(Key.IS_UNNAMED_MIXIN_APPLICATION,
|
| + isOptional: true, defaultValue: false);
|
| }
|
|
|
| @override
|
| @@ -883,6 +887,25 @@ class ClassElementZ extends DeserializedElementZ
|
| }
|
| }
|
|
|
| +
|
| +class EnumClassElementZ extends ClassElementZ implements EnumClassElement {
|
| + List<FieldElement> _enumValues;
|
| +
|
| + EnumClassElementZ(ObjectDecoder decoder)
|
| + : super(decoder);
|
| +
|
| + @override
|
| + bool get isEnumClass => true;
|
| +
|
| + @override
|
| + List<FieldElement> get enumValues {
|
| + if (_enumValues == null) {
|
| + _enumValues = _decoder.getElements(Key.FIELDS);
|
| + }
|
| + return _enumValues;
|
| + }
|
| +}
|
| +
|
| abstract class ConstructorElementZ extends DeserializedElementZ
|
| with AnalyzableElementMixin,
|
| AstElementMixin,
|
| @@ -952,6 +975,11 @@ abstract class ConstructorElementZ extends DeserializedElementZ
|
| }
|
|
|
| @override
|
| + bool get isEffectiveTargetMalformed {
|
| + return _unsupported('isEffectiveTargetMalformed');
|
| + }
|
| +
|
| + @override
|
| bool get isRedirectingFactory => _unsupported('isRedirectingFactory');
|
|
|
| @override
|
|
|