| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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_emitter.full_emitter; | 5 library dart2js.js_emitter.full_emitter; |
| 6 | 6 |
| 7 import 'dart:collection' show HashMap; | 7 import 'dart:collection' show HashMap; |
| 8 import 'dart:convert'; | 8 import 'dart:convert'; |
| 9 | 9 |
| 10 import 'package:js_runtime/shared/embedded_names.dart' as embeddedNames; | 10 import 'package:js_runtime/shared/embedded_names.dart' as embeddedNames; |
| 11 import 'package:js_runtime/shared/embedded_names.dart' | 11 import 'package:js_runtime/shared/embedded_names.dart' |
| 12 show JsBuiltin, JsGetName; | 12 show JsBuiltin, JsGetName; |
| 13 | 13 |
| 14 import '../../../compiler_new.dart'; | 14 import '../../../compiler_new.dart'; |
| 15 import '../../common.dart'; | 15 import '../../common.dart'; |
| 16 import '../../compiler.dart' show Compiler; | 16 import '../../compiler.dart' show Compiler; |
| 17 import '../../constants/values.dart'; | 17 import '../../constants/values.dart'; |
| 18 import '../../common_elements.dart' show CommonElements, ElementEnvironment; | 18 import '../../common_elements.dart' show CommonElements, ElementEnvironment; |
| 19 import '../../elements/resolution_types.dart' show ResolutionDartType; | 19 import '../../elements/resolution_types.dart' show ResolutionDartType; |
| 20 import '../../deferred_load.dart' show OutputUnit; | 20 import '../../deferred_load.dart' show OutputUnit; |
| 21 import '../../elements/elements.dart' | 21 import '../../elements/elements.dart' |
| 22 show | 22 show ConstructorBodyElement, FieldElement, LibraryElement, TypedefElement; |
| 23 ClassElement, | |
| 24 ConstructorBodyElement, | |
| 25 FieldElement, | |
| 26 LibraryElement, | |
| 27 TypedefElement; | |
| 28 import '../../elements/entities.dart'; | 23 import '../../elements/entities.dart'; |
| 29 import '../../elements/entity_utils.dart' as utils; | 24 import '../../elements/entity_utils.dart' as utils; |
| 30 import '../../elements/names.dart'; | 25 import '../../elements/names.dart'; |
| 31 import '../../hash/sha1.dart' show Hasher; | 26 import '../../hash/sha1.dart' show Hasher; |
| 32 import '../../io/code_output.dart'; | 27 import '../../io/code_output.dart'; |
| 33 import '../../io/location_provider.dart' show LocationCollector; | 28 import '../../io/location_provider.dart' show LocationCollector; |
| 34 import '../../io/source_map_builder.dart' show SourceMapBuilder; | 29 import '../../io/source_map_builder.dart' show SourceMapBuilder; |
| 35 import '../../js/js.dart' as jsAst; | 30 import '../../js/js.dart' as jsAst; |
| 36 import '../../js/js.dart' show js; | 31 import '../../js/js.dart' show js; |
| 37 import '../../js_backend/js_backend.dart' | 32 import '../../js_backend/js_backend.dart' |
| (...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 313 @override | 308 @override |
| 314 jsAst.Expression isolateStaticClosureAccess(FunctionEntity element) { | 309 jsAst.Expression isolateStaticClosureAccess(FunctionEntity element) { |
| 315 return jsAst.js('#.#()', [ | 310 return jsAst.js('#.#()', [ |
| 316 namer.globalObjectForMember(element), | 311 namer.globalObjectForMember(element), |
| 317 namer.staticClosureName(element) | 312 namer.staticClosureName(element) |
| 318 ]); | 313 ]); |
| 319 } | 314 } |
| 320 | 315 |
| 321 @override | 316 @override |
| 322 jsAst.PropertyAccess prototypeAccess( | 317 jsAst.PropertyAccess prototypeAccess( |
| 323 ClassElement element, bool hasBeenInstantiated) { | 318 ClassEntity element, bool hasBeenInstantiated) { |
| 324 return jsAst.js('#.prototype', constructorAccess(element)); | 319 return jsAst.js('#.prototype', constructorAccess(element)); |
| 325 } | 320 } |
| 326 | 321 |
| 327 @override | 322 @override |
| 328 jsAst.Template templateForBuiltin(JsBuiltin builtin) { | 323 jsAst.Template templateForBuiltin(JsBuiltin builtin) { |
| 329 switch (builtin) { | 324 switch (builtin) { |
| 330 case JsBuiltin.dartObjectConstructor: | 325 case JsBuiltin.dartObjectConstructor: |
| 331 return jsAst.js | 326 return jsAst.js |
| 332 .expressionTemplateYielding(typeAccess(commonElements.objectClass)); | 327 .expressionTemplateYielding(typeAccess(commonElements.objectClass)); |
| 333 | 328 |
| (...skipping 1638 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1972 // data. | 1967 // data. |
| 1973 mapping["_comment"] = "This mapping shows which compiled `.js` files are " | 1968 mapping["_comment"] = "This mapping shows which compiled `.js` files are " |
| 1974 "needed for a given deferred library import."; | 1969 "needed for a given deferred library import."; |
| 1975 mapping.addAll(compiler.deferredLoadTask.computeDeferredMap()); | 1970 mapping.addAll(compiler.deferredLoadTask.computeDeferredMap()); |
| 1976 compiler.outputProvider( | 1971 compiler.outputProvider( |
| 1977 compiler.options.deferredMapUri.path, '', OutputType.info) | 1972 compiler.options.deferredMapUri.path, '', OutputType.info) |
| 1978 ..add(const JsonEncoder.withIndent(" ").convert(mapping)) | 1973 ..add(const JsonEncoder.withIndent(" ").convert(mapping)) |
| 1979 ..close(); | 1974 ..close(); |
| 1980 } | 1975 } |
| 1981 } | 1976 } |
| OLD | NEW |