Index: pkg/compiler/lib/src/js_model/elements.dart |
diff --git a/pkg/compiler/lib/src/js_model/elements.dart b/pkg/compiler/lib/src/js_model/elements.dart |
index 20094d98733d56ce8ee31832569e13171956704e..b5c87d1cc3f7ad41040139f8539234a74970c7b7 100644 |
--- a/pkg/compiler/lib/src/js_model/elements.dart |
+++ b/pkg/compiler/lib/src/js_model/elements.dart |
@@ -14,11 +14,9 @@ import '../js_backend/backend_usage.dart'; |
import '../js_backend/interceptor_data.dart'; |
import '../js_backend/native_data.dart'; |
import '../kernel/elements.dart'; |
+import '../kernel/element_map_impl.dart'; |
import '../native/behavior.dart'; |
-import '../ordered_typeset.dart'; |
import '../universe/class_set.dart'; |
-import '../universe/function_set.dart'; |
-import '../universe/selector.dart'; |
import '../universe/world_builder.dart'; |
import '../world.dart'; |
@@ -520,8 +518,10 @@ class JTypeVariable implements TypeVariableEntity { |
'${jsElementPrefix}type_variable(${typeDeclaration.name}.$name)'; |
} |
-class JsClosedWorld extends ClosedWorldBase { |
- JsClosedWorld( |
+class JsClosedWorld extends ClosedWorldBase with KernelClosedWorldMixin { |
+ final JsKernelToElementMap elementMap; |
+ |
+ JsClosedWorld(this.elementMap, |
{ElementEnvironment elementEnvironment, |
DartTypes dartTypes, |
CommonElements commonElements, |
@@ -531,85 +531,33 @@ class JsClosedWorld extends ClosedWorldBase { |
BackendUsage backendUsage, |
ResolutionWorldBuilder resolutionWorldBuilder, |
Set<ClassEntity> implementedClasses, |
- FunctionSet functionSet, |
+ Iterable<MemberEntity> liveInstanceMembers, |
Set<TypedefElement> allTypedefs, |
Map<ClassEntity, Set<ClassEntity>> mixinUses, |
Map<ClassEntity, Set<ClassEntity>> typesImplementedBySubclasses, |
Map<ClassEntity, ClassHierarchyNode> classHierarchyNodes, |
Map<ClassEntity, ClassSet> classSets}) |
: super( |
- elementEnvironment: elementEnvironment, |
- dartTypes: dartTypes, |
- commonElements: commonElements, |
- constantSystem: constantSystem, |
- nativeData: nativeData, |
- interceptorData: interceptorData, |
- backendUsage: backendUsage, |
- resolutionWorldBuilder: resolutionWorldBuilder, |
- implementedClasses: implementedClasses, |
- functionSet: functionSet, |
- allTypedefs: allTypedefs, |
- mixinUses: mixinUses, |
- typesImplementedBySubclasses: typesImplementedBySubclasses, |
- classHierarchyNodes: classHierarchyNodes, |
- classSets: classSets); |
- |
- @override |
- bool hasConcreteMatch(ClassEntity cls, Selector selector, |
- {ClassEntity stopAtSuperclass}) { |
- throw new UnimplementedError('JsClosedWorld.hasConcreteMatch'); |
- } |
+ elementEnvironment, |
+ dartTypes, |
+ commonElements, |
+ constantSystem, |
+ nativeData, |
+ interceptorData, |
+ backendUsage, |
+ resolutionWorldBuilder, |
+ implementedClasses, |
+ liveInstanceMembers, |
+ allTypedefs, |
+ mixinUses, |
+ typesImplementedBySubclasses, |
+ classHierarchyNodes, |
+ classSets); |
@override |
void registerClosureClass(ClassElement cls) { |
throw new UnimplementedError('JsClosedWorld.registerClosureClass'); |
} |
- |
- @override |
- bool hasElementIn(ClassEntity cls, Selector selector, Entity element) { |
- throw new UnimplementedError('JsClosedWorld.hasElementIn'); |
- } |
- |
- @override |
- bool checkEntity(Entity element) => true; |
- |
- @override |
- bool checkClass(ClassEntity cls) => true; |
- |
- @override |
- bool checkInvariants(ClassEntity cls, {bool mustBeInstantiated: true}) { |
- return true; |
- } |
- |
- @override |
- OrderedTypeSet getOrderedTypeSet(ClassEntity cls) { |
- throw new UnimplementedError('JsClosedWorld.getOrderedTypeSet'); |
- } |
- |
- @override |
- int getHierarchyDepth(ClassEntity cls) { |
- throw new UnimplementedError('JsClosedWorld.getHierarchyDepth'); |
- } |
- |
- @override |
- ClassEntity getSuperClass(ClassEntity cls) { |
- throw new UnimplementedError('JsClosedWorld.getSuperClass'); |
- } |
- |
- @override |
- Iterable<ClassEntity> getInterfaces(ClassEntity cls) { |
- throw new UnimplementedError('JsClosedWorld.getInterfaces'); |
- } |
- |
- @override |
- ClassEntity getAppliedMixin(ClassEntity cls) { |
- throw new UnimplementedError('JsClosedWorld.getAppliedMixin'); |
- } |
- |
- @override |
- bool isNamedMixinApplication(ClassEntity cls) { |
- throw new UnimplementedError('JsClosedWorld.isNamedMixinApplication'); |
- } |
} |
class JsNativeData implements NativeData { |