OLD | NEW |
1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 library dart2js.js_model.strategy; | 5 library dart2js.js_model.strategy; |
6 | 6 |
7 import '../closure.dart' show ClosureConversionTask; | 7 import '../closure.dart' show ClosureConversionTask; |
8 import '../common.dart'; | 8 import '../common.dart'; |
9 import '../common/tasks.dart'; | 9 import '../common/tasks.dart'; |
10 import '../common_elements.dart'; | 10 import '../common_elements.dart'; |
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
208 _compiler.reporter, _compiler.environment, strategy.elementMap); | 208 _compiler.reporter, _compiler.environment, strategy.elementMap); |
209 _elementEnvironment = _elementMap.elementEnvironment; | 209 _elementEnvironment = _elementMap.elementEnvironment; |
210 _commonElements = _elementMap.commonElements; | 210 _commonElements = _elementMap.commonElements; |
211 JsToFrontendMap map = new JsToFrontendMapImpl(_elementMap); | 211 JsToFrontendMap map = new JsToFrontendMapImpl(_elementMap); |
212 _closureDataLookup = new KernelClosureConversionTask( | 212 _closureDataLookup = new KernelClosureConversionTask( |
213 _compiler.measurer, _elementMap, map, _globalLocalsMap); | 213 _compiler.measurer, _elementMap, map, _globalLocalsMap); |
214 | 214 |
215 BackendUsage backendUsage = | 215 BackendUsage backendUsage = |
216 _convertBackendUsage(map, closedWorld.backendUsage); | 216 _convertBackendUsage(map, closedWorld.backendUsage); |
217 NativeData nativeData = _convertNativeData(map, closedWorld.nativeData); | 217 NativeData nativeData = _convertNativeData(map, closedWorld.nativeData); |
| 218 _elementMap.nativeBasicData = nativeData; |
218 InterceptorData interceptorData = | 219 InterceptorData interceptorData = |
219 _convertInterceptorData(map, nativeData, closedWorld.interceptorData); | 220 _convertInterceptorData(map, nativeData, closedWorld.interceptorData); |
220 | 221 |
221 Map<ClassEntity, ClassHierarchyNode> classHierarchyNodes = | 222 Map<ClassEntity, ClassHierarchyNode> classHierarchyNodes = |
222 <ClassEntity, ClassHierarchyNode>{}; | 223 <ClassEntity, ClassHierarchyNode>{}; |
223 Map<ClassEntity, ClassSet> classSets = <ClassEntity, ClassSet>{}; | 224 Map<ClassEntity, ClassSet> classSets = <ClassEntity, ClassSet>{}; |
224 Set<ClassEntity> implementedClasses = new Set<ClassEntity>(); | 225 Set<ClassEntity> implementedClasses = new Set<ClassEntity>(); |
225 | 226 |
226 ClassHierarchyNode convertClassHierarchyNode(ClassHierarchyNode node) { | 227 ClassHierarchyNode convertClassHierarchyNode(ClassHierarchyNode node) { |
227 ClassEntity cls = map.toBackendClass(node.cls); | 228 ClassEntity cls = map.toBackendClass(node.cls); |
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
395 // TODO(efortuna): assert that the FunctionClass is in this ordered set. | 396 // TODO(efortuna): assert that the FunctionClass is in this ordered set. |
396 // If not, we need to explicitly add node as a subtype of FunctionClass. | 397 // If not, we need to explicitly add node as a subtype of FunctionClass. |
397 ClassSet subtypeSet = getClassSet(type.element); | 398 ClassSet subtypeSet = getClassSet(type.element); |
398 subtypeSet.addSubtype(node); | 399 subtypeSet.addSubtype(node); |
399 } | 400 } |
400 addClassSet(cls, new ClassSet(node)); | 401 addClassSet(cls, new ClassSet(node)); |
401 elementMap.addClosureClass(cls, new InterfaceType(superclass, const [])); | 402 elementMap.addClosureClass(cls, new InterfaceType(superclass, const [])); |
402 node.isDirectlyInstantiated = true; | 403 node.isDirectlyInstantiated = true; |
403 } | 404 } |
404 } | 405 } |
OLD | NEW |