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); |
} |