| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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.startup_emitter.model_emitter; | 5 library dart2js.js_emitter.startup_emitter.model_emitter; |
| 6 | 6 |
| 7 import 'dart:convert' show JsonEncoder; | 7 import 'dart:convert' show JsonEncoder; |
| 8 | 8 |
| 9 import 'package:js_runtime/shared/embedded_names.dart' show | 9 import 'package:js_runtime/shared/embedded_names.dart' show |
| 10 CLASS_FIELDS_EXTRACTOR, | 10 CLASS_FIELDS_EXTRACTOR, |
| (...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 274 compiler.outputProvider('', 'js'), | 274 compiler.outputProvider('', 'js'), |
| 275 codeOutputListeners); | 275 codeOutputListeners); |
| 276 outputBuffers[fragment] = mainOutput; | 276 outputBuffers[fragment] = mainOutput; |
| 277 | 277 |
| 278 js.Program program = new js.Program([ | 278 js.Program program = new js.Program([ |
| 279 buildGeneratedBy(), | 279 buildGeneratedBy(), |
| 280 new js.Comment(HOOKS_API_USAGE), | 280 new js.Comment(HOOKS_API_USAGE), |
| 281 isSplit ? buildDeferredInitializerGlobal() : new js.Block.empty(), | 281 isSplit ? buildDeferredInitializerGlobal() : new js.Block.empty(), |
| 282 code]); | 282 code]); |
| 283 | 283 |
| 284 mainOutput.addBuffer(js.prettyPrint(program, compiler, | 284 mainOutput.addBuffer(js.createCodeBuffer(program, compiler, |
| 285 monitor: compiler.dumpInfoTask)); | 285 monitor: compiler.dumpInfoTask)); |
| 286 | 286 |
| 287 if (shouldGenerateSourceMap) { | 287 if (shouldGenerateSourceMap) { |
| 288 mainOutput.add( | 288 mainOutput.add( |
| 289 generateSourceMapTag(compiler.sourceMapUri, compiler.outputUri)); | 289 generateSourceMapTag(compiler.sourceMapUri, compiler.outputUri)); |
| 290 } | 290 } |
| 291 | 291 |
| 292 mainOutput.close(); | 292 mainOutput.close(); |
| 293 | 293 |
| 294 if (shouldGenerateSourceMap) { | 294 if (shouldGenerateSourceMap) { |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 328 // function in a temporary field first: | 328 // function in a temporary field first: |
| 329 // | 329 // |
| 330 // deferredInitializer.current = <pretty-printed code>; | 330 // deferredInitializer.current = <pretty-printed code>; |
| 331 // deferredInitializer[<hash>] = deferredInitializer.current; | 331 // deferredInitializer[<hash>] = deferredInitializer.current; |
| 332 | 332 |
| 333 js.Program program = new js.Program([ | 333 js.Program program = new js.Program([ |
| 334 buildGeneratedBy(), | 334 buildGeneratedBy(), |
| 335 buildDeferredInitializerGlobal(), | 335 buildDeferredInitializerGlobal(), |
| 336 js.js.statement('$deferredInitializersGlobal.current = #', code)]); | 336 js.js.statement('$deferredInitializersGlobal.current = #', code)]); |
| 337 | 337 |
| 338 output.addBuffer(js.prettyPrint(program, compiler, | 338 output.addBuffer(js.createCodeBuffer(program, compiler, |
| 339 monitor: compiler.dumpInfoTask)); | 339 monitor: compiler.dumpInfoTask)); |
| 340 | 340 |
| 341 // Make a unique hash of the code (before the sourcemaps are added) | 341 // Make a unique hash of the code (before the sourcemaps are added) |
| 342 // This will be used to retrieve the initializing function from the global | 342 // This will be used to retrieve the initializing function from the global |
| 343 // variable. | 343 // variable. |
| 344 String hash = hasher.getHash(); | 344 String hash = hasher.getHash(); |
| 345 | 345 |
| 346 // Now we copy the deferredInitializer.current into its correct hash. | 346 // Now we copy the deferredInitializer.current into its correct hash. |
| 347 output.add('\n${deferredInitializersGlobal}["$hash"] = ' | 347 output.add('\n${deferredInitializersGlobal}["$hash"] = ' |
| 348 '${deferredInitializersGlobal}.current'); | 348 '${deferredInitializersGlobal}.current'); |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 415 // Json does not support comments, so we embed the explanation in the | 415 // Json does not support comments, so we embed the explanation in the |
| 416 // data. | 416 // data. |
| 417 mapping["_comment"] = "This mapping shows which compiled `.js` files are " | 417 mapping["_comment"] = "This mapping shows which compiled `.js` files are " |
| 418 "needed for a given deferred library import."; | 418 "needed for a given deferred library import."; |
| 419 mapping.addAll(compiler.deferredLoadTask.computeDeferredMap()); | 419 mapping.addAll(compiler.deferredLoadTask.computeDeferredMap()); |
| 420 compiler.outputProvider(compiler.deferredMapUri.path, 'deferred_map') | 420 compiler.outputProvider(compiler.deferredMapUri.path, 'deferred_map') |
| 421 ..add(const JsonEncoder.withIndent(" ").convert(mapping)) | 421 ..add(const JsonEncoder.withIndent(" ").convert(mapping)) |
| 422 ..close(); | 422 ..close(); |
| 423 } | 423 } |
| 424 } | 424 } |
| OLD | NEW |