Index: pkg/analysis_server/lib/src/context_manager.dart |
diff --git a/pkg/analysis_server/lib/src/context_manager.dart b/pkg/analysis_server/lib/src/context_manager.dart |
index 0226b7c561a0676dadc9e034f8901ee0318299c7..40bd651ec7e85a61c713786a2ef1f3b980c02d6f 100644 |
--- a/pkg/analysis_server/lib/src/context_manager.dart |
+++ b/pkg/analysis_server/lib/src/context_manager.dart |
@@ -250,13 +250,6 @@ abstract class ContextManager { |
List<String> get includedPaths; |
/** |
- * The stream that is notified when we are starting or ending the computation |
- * of a package map. A value of `true` is added when the computation starts |
- * and a value of `false` is added when the computation ends. |
- */ |
- Stream<bool> get onComputingPackageMap; |
- |
- /** |
* Return a list of all of the contexts reachable from the given |
* [analysisRoot] (the context associated with [analysisRoot] and all of its |
* descendants). |
@@ -329,6 +322,12 @@ abstract class ContextManagerCallbacks { |
void applyChangesToContext(Folder contextFolder, ChangeSet changeSet); |
/** |
+ * Signals that the context manager has started to compute a package map (if |
+ * [computing] is `true`) or has finished (if [computing] is `false`). |
+ */ |
+ void computingPackageMap(bool computing); |
+ |
+ /** |
* Remove the context associated with the given [folder]. [flushedFiles] is |
* a list of the files which will be "orphaned" by removing this context |
* (they will no longer be analyzed by any context). |
@@ -461,12 +460,6 @@ class ContextManagerImpl implements ContextManager { |
final ContextInfo rootInfo = new ContextInfo._root(); |
/** |
- * The controller that is notified when we are starting or ending the |
- * computation of a package map. |
- */ |
- StreamController<bool> _onComputingPackageMapController; |
- |
- /** |
* Stream subscription we are using to watch each analysis root directory for |
* changes. |
*/ |
@@ -482,12 +475,6 @@ class ContextManagerImpl implements ContextManager { |
this.defaultContextOptions) { |
absolutePathContext = resourceProvider.absolutePathContext; |
pathContext = resourceProvider.pathContext; |
- _onComputingPackageMapController = new StreamController.broadcast(); |
- } |
- |
- @override |
- Stream<bool> get onComputingPackageMap { |
- return _onComputingPackageMapController.stream; |
} |
@override |
@@ -998,7 +985,7 @@ class ContextManagerImpl implements ContextManager { |
return new NoPackageFolderDisposition(packageRoot: packageRoot); |
} else { |
PackageMapInfo packageMapInfo; |
- _onComputingPackageMapController.add(true); |
+ callbacks.computingPackageMap(true); |
try { |
// Try .packages first. |
if (absolutePathContext.basename(packagespecFile.path) == |
@@ -1017,7 +1004,7 @@ class ContextManagerImpl implements ContextManager { |
packageMapInfo = _packageMapProvider.computePackageMap(folder); |
}); |
} finally { |
- _onComputingPackageMapController.add(false); |
+ callbacks.computingPackageMap(false); |
} |
for (String dependencyPath in packageMapInfo.dependencies) { |
addDependency(dependencyPath); |