| 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 {
|
|
|