Chromium Code Reviews| Index: pkg/intl/lib/generate_localized.dart |
| diff --git a/pkg/intl/lib/generate_localized.dart b/pkg/intl/lib/generate_localized.dart |
| index 6289a60f8d5310506b341f21275a8d9d366b9d98..93495e81f369c5f0aabf214bd7b70aa2464f521a 100644 |
| --- a/pkg/intl/lib/generate_localized.dart |
| +++ b/pkg/intl/lib/generate_localized.dart |
| @@ -179,22 +179,14 @@ String generateMainImportFile() { |
| for (var locale in allLocales) { |
| var baseFile = '${generatedFilePrefix}messages_$locale.dart'; |
| var file = importForGeneratedFile(baseFile); |
| - // TODO(alanknight): Restore this once deferred loading works in dartj2s. |
| - // Issue 12824 |
| - // output.write("@${_deferredName(locale)}\n"); |
| - output.write("import '$file' as ${_libraryName(locale)};\n"); |
| + output.write("import '$file' deferred as ${_libraryName(locale)};\n"); |
| } |
| output.write("\n"); |
| - // Issue 12824 |
| - //for (var locale in allLocales) { |
| - // output.write("const ${_deferredName(locale)} = const DeferredLibrary"); |
| - // output.write("('${_libraryName(locale)}');\n"); |
| - //} |
| - //output.write("\nconst deferredLibraries = const {\n"); |
| - //for (var locale in allLocales) { |
| - // output.write(" '$locale' : ${_deferredName(locale)},\n"); |
| - //} |
| - //output.write("};\n"); |
| + output.write("\nMap<String, Function> deferredLibraries = {\n"); |
| + for (var locale in allLocales) { |
| + output.write(" '$locale' : () => ${_libraryName(locale)}.loadLibrary(),\n"); |
|
Emily Fortuna
2014/05/15 19:24:36
80 char
Alan Knight
2014/05/15 20:02:18
Done.
|
| + } |
| + output.write("};\n"); |
| output.write( |
| "\nMessageLookupByLibrary _findExact(localeName) {\n" |
| " switch (localeName) {\n"); |
| @@ -238,11 +230,10 @@ const closing = """ |
| /** User programs should call this before using [localeName] for messages.*/ |
| Future initializeMessages(String localeName) { |
| initializeInternalMessageLookup(() => new CompositeMessageLookup()); |
| - messageLookup.addLocale(localeName, _findGeneratedMessagesFor); |
| - // TODO(alanknight): Restore once Issue 12824 is fixed. |
| - // var lib = deferredLibraries[localeName]; |
| - // return lib == null ? new Future.value(false) : lib.load(); |
| - return new Future.value(true); |
| + var lib = deferredLibraries[Intl.canonicalizedLocale(localeName)]; |
| + var load = lib == null ? new Future.value(false) : lib(); |
| + return load.then((_) => |
| + messageLookup.addLocale(localeName, _findGeneratedMessagesFor)); |
| } |
| MessageLookupByLibrary _findGeneratedMessagesFor(locale) { |