| Index: pkg/compiler/lib/src/js_model/js_strategy.dart
|
| diff --git a/pkg/compiler/lib/src/js_model/js_strategy.dart b/pkg/compiler/lib/src/js_model/js_strategy.dart
|
| index 8203349414e19eacc2c629dd9aedfd34e2536606..d2e2caad4fc81aa1767174c3ebade8e0ff3e3e9b 100644
|
| --- a/pkg/compiler/lib/src/js_model/js_strategy.dart
|
| +++ b/pkg/compiler/lib/src/js_model/js_strategy.dart
|
| @@ -52,7 +52,8 @@ class JsBackendStrategy implements KernelBackendStrategy {
|
| GlobalLocalsMap get globalLocalsMapForTesting => _globalLocalsMap;
|
|
|
| @override
|
| - ClosedWorldRefiner createClosedWorldRefiner(ClosedWorld closedWorld) {
|
| + ClosedWorldRefiner createClosedWorldRefiner(
|
| + covariant ClosedWorldBase closedWorld) {
|
| KernelFrontEndStrategy strategy = _compiler.frontendStrategy;
|
| KernelToElementMapForImpact elementMap = strategy.elementMap;
|
| _elementMap = new JsKernelToElementMap(
|
| @@ -112,7 +113,17 @@ class JsBackendStrategy implements KernelBackendStrategy {
|
| convertClassSet(closedWorld.getClassSet(cls));
|
| }, ClassHierarchyNode.ALL);
|
|
|
| - return new JsClosedWorld(
|
| + List<MemberEntity> liveInstanceMembers =
|
| + closedWorld.liveInstanceMembers.map(_map.toBackendMember).toList();
|
| +
|
| + Map<ClassEntity, Set<ClassEntity>> mixinUses =
|
| + <ClassEntity, Set<ClassEntity>>{};
|
| + closedWorld.mixinUses.forEach((ClassEntity cls, Set<ClassEntity> uses) {
|
| + mixinUses[_map.toBackendClass(cls)] =
|
| + uses.map(_map.toBackendClass).toSet();
|
| + });
|
| +
|
| + return new JsClosedWorld(_elementMap,
|
| elementEnvironment: _elementEnvironment,
|
| dartTypes: _elementMap.types,
|
| commonElements: _commonElements,
|
| @@ -123,11 +134,11 @@ class JsBackendStrategy implements KernelBackendStrategy {
|
| classHierarchyNodes: classHierarchyNodes,
|
| classSets: classSets,
|
| implementedClasses: implementedClasses,
|
| + liveInstanceMembers: liveInstanceMembers,
|
| // TODO(johnniwinther): Support these.
|
| allTypedefs: new ImmutableEmptySet<TypedefElement>(),
|
| resolutionWorldBuilder: null,
|
| - functionSet: null,
|
| - mixinUses: null,
|
| + mixinUses: mixinUses,
|
| typesImplementedBySubclasses: null);
|
| }
|
|
|
|
|