| 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 3472b3eb2672d39552ac30775ffc141695e7bdd8..0fc6d4f4c50c14bc94f9f835b46405860bdda834 100644
|
| --- a/sdk/lib/_internal/compiler/implementation/library_loader.dart
|
| +++ b/sdk/lib/_internal/compiler/implementation/library_loader.dart
|
| @@ -530,6 +530,16 @@ class LibraryDependencyNode {
|
| }));
|
| }
|
|
|
| + 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.
|
| */
|
| @@ -687,12 +697,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,
|
|
|