anchor.diff:     * scenarios. Instead we use a fixed length of time, so we can spend less time
      * overall and keep quick enough response time.
      */
  -  Future<bool> perform() async {
  +  bool perform() {
       Stopwatch timer = new Stopwatch()..start();
       while (timer.elapsedMilliseconds < _MS_WORK_INTERVAL) {
         // Prepare files to check.
  
positive.code:     // Compute files referencing a name.
      if (_referencingNameTasks.isNotEmpty) {
        _FilesReferencingNameTask task = _referencingNameTasks.first;
        bool isDone = await task.perform();
        if (isDone) {
          _referencingNameTasks.remove(task);
        }
  
negative.code:     // Compute top-level declarations.
      if (_topLevelNameDeclarationsTasks.isNotEmpty) {
        _TopLevelNameDeclarationsTask task = _topLevelNameDeclarationsTasks.first;
        bool isDone = task.perform();
        if (isDone) {
          _topLevelNameDeclarationsTasks.remove(task);
        }
  