Chromium Code Reviews| 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.new_js_emitter.model_emitter; | 5 library dart2js.new_js_emitter.model_emitter; |
| 6 | 6 |
| 7 import '../../dart2jslib.dart' show Compiler; | 7 import '../../dart2jslib.dart' show Compiler; |
| 8 import '../../js/js.dart' as js; | 8 import '../../js/js.dart' as js; |
| 9 import '../../js_backend/js_backend.dart' show | 9 import '../../js_backend/js_backend.dart' show |
| 10 JavaScriptBackend, | 10 JavaScriptBackend, |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 73 js.Statement emitMainUnit(Program program) { | 73 js.Statement emitMainUnit(Program program) { |
| 74 MainOutput unit = program.outputs.first; | 74 MainOutput unit = program.outputs.first; |
| 75 List<js.Expression> elements = unit.libraries.map(emitLibrary).toList(); | 75 List<js.Expression> elements = unit.libraries.map(emitLibrary).toList(); |
| 76 elements.add( | 76 elements.add( |
| 77 emitLazilyInitializedStatics(unit.staticLazilyInitializedFields)); | 77 emitLazilyInitializedStatics(unit.staticLazilyInitializedFields)); |
| 78 js.Expression code = new js.ArrayInitializer(elements); | 78 js.Expression code = new js.ArrayInitializer(elements); |
| 79 return js.js.statement( | 79 return js.js.statement( |
| 80 boilerplate, | 80 boilerplate, |
| 81 {'deferredInitializer': emitDeferredInitializerGlobal(program.loadMap), | 81 {'deferredInitializer': emitDeferredInitializerGlobal(program.loadMap), |
| 82 'holders': emitHolders(unit.holders), | 82 'holders': emitHolders(unit.holders), |
| 83 'cyclicThrow': namer.elementAccess(backend.getCyclicThrowHelper()), | 83 'cyclicThrow': |
| 84 backend.emitter.globalPropertyAccess(backend.getCyclicThrowHelper()), | |
|
floitsch
2014/12/03 17:02:25
staticFunctionAccess
zarah
2014/12/05 08:22:51
Done.
| |
| 84 'outputContainsConstantList': program.outputContainsConstantList, | 85 'outputContainsConstantList': program.outputContainsConstantList, |
| 85 'embeddedGlobals': emitEmbeddedGlobals(program.loadMap), | 86 'embeddedGlobals': emitEmbeddedGlobals(program.loadMap), |
| 86 'constants': emitConstants(unit.constants), | 87 'constants': emitConstants(unit.constants), |
| 87 'staticNonFinals': emitStaticNonFinalFields(unit.staticNonFinalFields), | 88 'staticNonFinals': emitStaticNonFinalFields(unit.staticNonFinalFields), |
| 88 'eagerClasses': emitEagerClassInitializations(unit.libraries), | 89 'eagerClasses': emitEagerClassInitializations(unit.libraries), |
| 89 'main': unit.main, | 90 'main': unit.main, |
| 90 'code': code}); | 91 'code': code}); |
| 91 } | 92 } |
| 92 | 93 |
| 93 js.Block emitHolders(List<Holder> holders) { | 94 js.Block emitHolders(List<Holder> holders) { |
| (...skipping 449 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 543 | 544 |
| 544 var end = Date.now(); | 545 var end = Date.now(); |
| 545 print('Setup: ' + (end - start) + ' ms.'); | 546 print('Setup: ' + (end - start) + ' ms.'); |
| 546 | 547 |
| 547 #main(); // Start main. | 548 #main(); // Start main. |
| 548 | 549 |
| 549 }(Date.now(), #code) | 550 }(Date.now(), #code) |
| 550 }"""; | 551 }"""; |
| 551 | 552 |
| 552 } | 553 } |
| OLD | NEW |