| 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 5bcb4a604b25947b2b0c7745d96fd31dc33e6248..baafadebc9b10472700fb9a22cc000495f8d9706 100644
|
| --- a/pkg/compiler/lib/src/serialization/modelz.dart
|
| +++ b/pkg/compiler/lib/src/serialization/modelz.dart
|
| @@ -897,33 +897,16 @@ class ClassElementZ extends DeserializedElementZ
|
|
|
| abstract class MixinApplicationElementMixin
|
| implements ElementZ, MixinApplicationElement {
|
| - Link<ConstructorElement> _constructors;
|
| -
|
| @override
|
| - bool get isMixinApplication => false;
|
| + bool get isMixinApplication => true;
|
|
|
| @override
|
| ClassElement get mixin => mixinType.element;
|
| -
|
| - Link<ConstructorElement> get constructors {
|
| - if (_constructors == null) {
|
| - LinkBuilder<ConstructorElement> builder =
|
| - new LinkBuilder<ConstructorElement>();
|
| - for (ConstructorElement definingConstructor in superclass.constructors) {
|
| - if (definingConstructor.isGenerativeConstructor &&
|
| - definingConstructor.memberName.isAccessibleFrom(library)) {
|
| - builder.addLast(
|
| - new ForwardingConstructorElementZ(this, definingConstructor));
|
| - }
|
| - }
|
| - _constructors = builder.toLink();
|
| - }
|
| - return _constructors;
|
| - }
|
| }
|
|
|
| class NamedMixinApplicationElementZ extends ClassElementZ
|
| - with MixinApplicationElementCommon, MixinApplicationElementMixin {
|
| + with MixinApplicationElementMixin {
|
| + Link<Element> _constructors;
|
| InterfaceType _mixinType;
|
|
|
| NamedMixinApplicationElementZ(ObjectDecoder decoder) : super(decoder);
|
| @@ -947,6 +930,7 @@ class UnnamedMixinApplicationElementZ extends ElementZ
|
| final InterfaceType supertype;
|
| final Link<DartType> interfaces;
|
| OrderedTypeSet _allSupertypesAndSelf;
|
| + Link<ConstructorElement> _constructors;
|
|
|
| UnnamedMixinApplicationElementZ(
|
| ClassElement subclass, InterfaceType supertype, InterfaceType mixin)
|
| @@ -961,6 +945,22 @@ class UnnamedMixinApplicationElementZ extends ElementZ
|
| @override
|
| bool get isUnnamedMixinApplication => true;
|
|
|
| + Link<ConstructorElement> get constructors {
|
| + if (_constructors == null) {
|
| + LinkBuilder<ConstructorElement> builder =
|
| + new LinkBuilder<ConstructorElement>();
|
| + for (ConstructorElement definingConstructor in superclass.constructors) {
|
| + if (definingConstructor.isGenerativeConstructor &&
|
| + definingConstructor.memberName.isAccessibleFrom(library)) {
|
| + builder.addLast(
|
| + new ForwardingConstructorElementZ(this, definingConstructor));
|
| + }
|
| + }
|
| + _constructors = builder.toLink();
|
| + }
|
| + return _constructors;
|
| + }
|
| +
|
| @override
|
| List<DartType> _getTypeVariables() {
|
| // Create synthetic type variables for the mixin application.
|
|
|