anchor.diff:            continue;
           }
   
  -        // Analyze the first file in the general queue.
  +        // TODO(scheglov) analyze requested files
  +
  +        // Analyze a priority file.
  +        if (_priorityFiles.isNotEmpty) {
  +          bool analyzed = false;
  +          for (String path in _priorityFiles) {
  +            if (_filesToAnalyze.remove(path)) {
  +              _File file = _fileForPath(path);
  +              AnalysisResult result = _computeAnalysisResult(file);
  +              yield result;
  +              break;
  +            }
  +          }
  +          // Repeat the processing loop.
  +          if (analyzed) {
  +            _hasWork.notify();
  +            continue;
  +          }
  +        }
  +
  +        // Analyze a general file.
           if (_filesToAnalyze.isNotEmpty) {
             String path = _removeFirst(_filesToAnalyze);
             _File file = _fileForPath(path);
  
positive.code:   PackageBundle _sdkBundle;
  
    /**
     * The mapping from the files for which analysis was requested using
     * [getResult] to the [Completer]s to report the result.
     */
    final _requestedFiles = <String, List<Completer<AnalysisResult>>>{};
  
    /**
     * The set of explicitly analyzed files.
     */
    final _explicitFiles = new LinkedHashSet<String>();
  
    /**
     * The set of files were reported as changed through [changeFile] and not
  
negative.code:         analysisSection.exit();
          analysisSection = null;
        }
      } finally {
        print('The stream was cancelled.');
      }
  