| Index: sdk/lib/_internal/compiler/implementation/library_loader.dart
|
| diff --git a/sdk/lib/_internal/compiler/implementation/library_loader.dart b/sdk/lib/_internal/compiler/implementation/library_loader.dart
|
| index d7b538e6acba61e10ae1732c6fe69eb7db276732..ccf513c2c692b6f7c01aa47a30b54db2c852f713 100644
|
| --- a/sdk/lib/_internal/compiler/implementation/library_loader.dart
|
| +++ b/sdk/lib/_internal/compiler/implementation/library_loader.dart
|
| @@ -528,6 +528,16 @@ class LibraryDependencyNode {
|
| pendingExportSet.addAll(library.getNonPrivateElementsInScope());
|
| }
|
|
|
| + void registerHandledExports(LibraryElement exportedLibraryElement,
|
| + CombinatorFilter filter) {
|
| + assert(invariant(library, exportedLibraryElement.exportsHandled));
|
| + for (Element exportedElement in exportedLibraryElement.exports) {
|
| + if (!filter.exclude(exportedElement)) {
|
| + pendingExportSet.add(exportedElement);
|
| + }
|
| + }
|
| + }
|
| +
|
| /**
|
| * Registers the compute export scope with the node library.
|
| */
|
| @@ -685,12 +695,14 @@ class LibraryDependencyHandler {
|
| LibraryElement loadedLibrary) {
|
| if (tag is Export) {
|
| // [loadedLibrary] is exported by [library].
|
| + LibraryDependencyNode exportingNode = nodeMap[library];
|
| if (loadedLibrary.exportsHandled) {
|
| // Export scope already computed on [loadedLibrary].
|
| + var combinatorFilter = new CombinatorFilter.fromTag(tag);
|
| + exportingNode.registerHandledExports(loadedLibrary, combinatorFilter);
|
| return;
|
| }
|
| LibraryDependencyNode exportedNode = nodeMap[loadedLibrary];
|
| - LibraryDependencyNode exportingNode = nodeMap[library];
|
| assert(invariant(loadedLibrary, exportedNode != null,
|
| message: "$loadedLibrary has not been registered"));
|
| assert(invariant(library, exportingNode != null,
|
|
|