| Index: pkg/compiler/lib/src/serialization/system.dart
|
| diff --git a/pkg/compiler/lib/src/serialization/system.dart b/pkg/compiler/lib/src/serialization/system.dart
|
| index 9e6da49126f87a10d039428c957d7c3bed571441..8d241ceea9350d61b118df5677d0717f05423a1c 100644
|
| --- a/pkg/compiler/lib/src/serialization/system.dart
|
| +++ b/pkg/compiler/lib/src/serialization/system.dart
|
| @@ -9,7 +9,6 @@ import 'dart:async';
|
| import '../common.dart';
|
| import '../common/resolution.dart';
|
| import '../compiler.dart';
|
| -import '../dart_types.dart';
|
| import '../elements/elements.dart';
|
| import '../scanner/scanner.dart';
|
| import '../script.dart';
|
| @@ -157,36 +156,20 @@ class CompilationDeserializerSystem extends ResolutionDeserializerSystem {
|
| ResolutionImpact getResolutionImpact(Element element) {
|
| if (element.isConstructor &&
|
| element.enclosingClass.isUnnamedMixinApplication) {
|
| - ConstructorElement constructor = element;
|
| - ClassElement superclass = constructor.enclosingClass.superclass;
|
| + ClassElement superclass = element.enclosingClass.superclass;
|
| ConstructorElement superclassConstructor =
|
| - superclass.lookupConstructor(constructor.name);
|
| + superclass.lookupConstructor(element.name);
|
| assert(invariant(element, superclassConstructor != null,
|
| - message: "Superclass constructor '${constructor.name}' called from "
|
| + message: "Superclass constructor '${element.name}' called from "
|
| "${element} not found in ${superclass}."));
|
| // TODO(johnniwinther): Compute callStructure. Currently not used.
|
| CallStructure callStructure;
|
| - return _resolutionImpactDeserializer.registerResolutionImpact(constructor,
|
| + return _resolutionImpactDeserializer.registerResolutionImpact(element,
|
| () {
|
| - List<TypeUse> typeUses = <TypeUse>[];
|
| - void addCheckedModeCheck(DartType type) {
|
| - if (!type.isDynamic) {
|
| - typeUses.add(new TypeUse.checkedModeCheck(type));
|
| - }
|
| - }
|
| -
|
| - FunctionType type = constructor.type;
|
| - // TODO(johnniwinther): Remove this substitution when synthesized
|
| - // constructors handle type variables correctly.
|
| - type = type.substByContext(constructor.enclosingClass
|
| - .asInstanceOf(constructor.enclosingClass));
|
| - type.parameterTypes.forEach(addCheckedModeCheck);
|
| - type.optionalParameterTypes.forEach(addCheckedModeCheck);
|
| - type.namedParameterTypes.forEach(addCheckedModeCheck);
|
| return new DeserializedResolutionImpact(staticUses: <StaticUse>[
|
| new StaticUse.superConstructorInvoke(
|
| superclassConstructor, callStructure)
|
| - ], typeUses: typeUses);
|
| + ]);
|
| });
|
| }
|
| return _resolutionImpactDeserializer.getResolutionImpact(element);
|
|
|