| Index: pkg/compiler/lib/src/js_emitter/registry.dart
|
| diff --git a/pkg/compiler/lib/src/js_emitter/registry.dart b/pkg/compiler/lib/src/js_emitter/registry.dart
|
| index 87fd5534f6060fda9aa949bec47cf99f7a78b25d..b8cafba80f91998acabf71e937d8cb5ae5ec6ea4 100644
|
| --- a/pkg/compiler/lib/src/js_emitter/registry.dart
|
| +++ b/pkg/compiler/lib/src/js_emitter/registry.dart
|
| @@ -78,24 +78,29 @@ class Registry {
|
| LibrariesMap _mapUnitToLibrariesMap(OutputUnit targetUnit) {
|
| if (targetUnit == _lastOutputUnit) return _lastLibrariesMap;
|
|
|
| - if (mainLibrariesMap == null) {
|
| - mainLibrariesMap =
|
| - new LibrariesMap.main(_deferredLoadTask.mainOutputUnit);
|
| - }
|
| + LibrariesMap result = (targetUnit == _mainOutputUnit)
|
| + ? mainLibrariesMap
|
| + : _deferredLibrariesMap[targetUnit];
|
|
|
| - LibrariesMap result;
|
| - if (targetUnit == _mainOutputUnit) {
|
| - result = mainLibrariesMap;
|
| - } else {
|
| - String name = targetUnit.name;
|
| - result = _deferredLibrariesMap.putIfAbsent(
|
| - targetUnit, () => new LibrariesMap.deferred(targetUnit, name));
|
| - }
|
| + assert(result != null);
|
| _lastOutputUnit = targetUnit;
|
| _lastLibrariesMap = result;
|
| return result;
|
| }
|
|
|
| + void registerOutputUnit(OutputUnit outputUnit) {
|
| + if (outputUnit == _mainOutputUnit) {
|
| + assert(mainLibrariesMap == null);
|
| + mainLibrariesMap =
|
| + new LibrariesMap.main(_deferredLoadTask.mainOutputUnit);
|
| + } else {
|
| + assert(!_deferredLibrariesMap.containsKey(outputUnit));
|
| + String name = outputUnit.name;
|
| + _deferredLibrariesMap[outputUnit] =
|
| + new LibrariesMap.deferred(outputUnit, name);
|
| + }
|
| + }
|
| +
|
| /// Adds all elements to their respective libraries in the correct
|
| /// libraries map.
|
| void registerElements(OutputUnit outputUnit, List<Element> elements) {
|
| @@ -106,9 +111,7 @@ class Registry {
|
| }
|
|
|
| void registerConstant(OutputUnit outputUnit, ConstantValue constantValue) {
|
| - // We just need to make sure that the target library map is registered.
|
| - // Otherwise a library map that contains only constants is not built.
|
| - _mapUnitToLibrariesMap(outputUnit);
|
| + // Ignore for now.
|
| }
|
|
|
| Holder registerHolder(String name) {
|
|
|