handleAnalysisSetPriorityFiles method

Future<AnalysisSetPriorityFilesResult> handleAnalysisSetPriorityFiles(
  1. AnalysisSetPriorityFilesParams parameters
)
inherited

Handle an 'analysis.setPriorityFiles' request.

Throw a RequestFailure if the request could not be handled.

Implementation

Future<AnalysisSetPriorityFilesResult> handleAnalysisSetPriorityFiles(
    AnalysisSetPriorityFilesParams parameters) async {
  var files = parameters.files;
  var filesByDriver = <AnalysisDriverGeneric, List<String>>{};
  for (var file in files) {
    var contextRoot = contextRootContaining(file);
    if (contextRoot != null) {
      // TODO(brianwilkerson) Which driver should we use if there is no context root?
      var driver = driverMap[contextRoot]!;
      filesByDriver.putIfAbsent(driver, () => <String>[]).add(file);
    }
  }
  filesByDriver.forEach((AnalysisDriverGeneric driver, List<String> files) {
    driver.priorityFiles = files;
  });
  return AnalysisSetPriorityFilesResult();
}