handleAnalysisSetContextRoots method
Future<AnalysisSetContextRootsResult>
handleAnalysisSetContextRoots(
- AnalysisSetContextRootsParams parameters
Handle an 'analysis.setContextRoots' request.
Throw a RequestFailure if the request could not be handled.
Implementation
Future<AnalysisSetContextRootsResult> handleAnalysisSetContextRoots(
AnalysisSetContextRootsParams parameters) async {
final currentContextCollection = _contextCollection;
if (currentContextCollection != null) {
_contextCollection = null;
await beforeContextCollectionDispose(
contextCollection: currentContextCollection,
);
await currentContextCollection.dispose();
}
final includedPaths = parameters.roots.map((e) => e.root).toList();
final contextCollection = AnalysisContextCollectionImpl(
resourceProvider: resourceProvider,
includedPaths: includedPaths,
byteStore: _byteStore,
sdkPath: _sdkPath,
fileContentCache: FileContentCache(resourceProvider),
);
_contextCollection = contextCollection;
await afterNewContextCollection(
contextCollection: contextCollection,
);
return AnalysisSetContextRootsResult();
}