Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(171)

Side by Side Diff: pkg/compiler/lib/src/js_emitter/full_emitter/emitter.dart

Issue 2944843002: All strong mode cleaning of dart2js. (Closed)
Patch Set: More issues discovered during testing. Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698