| Index: sdk/lib/_internal/compiler/implementation/js_emitter/code_emitter_task.dart
|
| diff --git a/sdk/lib/_internal/compiler/implementation/js_emitter/code_emitter_task.dart b/sdk/lib/_internal/compiler/implementation/js_emitter/code_emitter_task.dart
|
| index 3418c9aec9fca13e7b506b5afbd867dc790794e0..57bd6038bf3d9d3a5dfd82c444086229af00db13 100644
|
| --- a/sdk/lib/_internal/compiler/implementation/js_emitter/code_emitter_task.dart
|
| +++ b/sdk/lib/_internal/compiler/implementation/js_emitter/code_emitter_task.dart
|
| @@ -1439,17 +1439,22 @@ mainBuffer.add(r'''
|
| // [emitOneShotInterceptors] have been called.
|
| emitCompileTimeConstants(mainBuffer, mainOutputUnit);
|
|
|
| - // We write a javascript mapping from DeferredLibrary elements
|
| - // (really their String argument) to the js hunk to load.
|
| + // Write a javascript mapping from Deferred import load ids (derrived from
|
| + // the import prefix.) to a list of lists of js hunks to load.
|
| // TODO(sigurdm): Create a syntax tree for this.
|
| // TODO(sigurdm): Also find out where to place it.
|
| mainBuffer.write("\$.libraries_to_load = {");
|
| - for (String constant in compiler.deferredLoadTask.hunksToLoad.keys) {
|
| + for (String loadId in compiler.deferredLoadTask.hunksToLoad.keys) {
|
| // TODO(sigurdm): Escape these strings.
|
| - mainBuffer.write('"$constant":[');
|
| - for (OutputUnit outputUnit in
|
| - compiler.deferredLoadTask.hunksToLoad[constant]) {
|
| - mainBuffer.write('"${outputUnit.partFileName(compiler)}.part.js", ');
|
| + mainBuffer.write('"$loadId":[');
|
| + for (List<OutputUnit> outputUnits in
|
| + compiler.deferredLoadTask.hunksToLoad[loadId]) {
|
| + mainBuffer.write("[");
|
| + for (OutputUnit outputUnit in outputUnits) {
|
| + mainBuffer
|
| + .write('"${outputUnit.partFileName(compiler)}.part.js", ');
|
| + }
|
| + mainBuffer.write("],");
|
| }
|
| mainBuffer.write("],\n");
|
| }
|
|
|