anchor.diff:        checker.visitCompilationUnit(unit);
       }
   
  -    var errorReporter = _getErrorReporter(file);
  +    ErrorReporter errorReporter = _getErrorReporter(file);
   
       //
       // Validate the directives.
  
positive.code:     //
      for (PendingError pendingError in pendingErrors) {
        errorListener.onError(pendingError.toAnalysisError());
      }
  
      //
      // Find dead code.
      //
      unit.accept(
          new DeadCodeVerifier(errorReporter, typeSystem: _context.typeSystem));
  
      // Dart2js analysis.
      if (_analysisOptions.dart2jsHint) {
        unit.accept(new Dart2JSVerifier(errorReporter));
      }
  
      InheritanceManager inheritanceManager = new InheritanceManager(
          _libraryElement,
          includeAbstractFromSuperclasses: true);
  
      unit.accept(new BestPracticesVerifier(
          errorReporter, _typeProvider, _libraryElement, inheritanceManager,
          typeSystem: _context.typeSystem));
  
      unit.accept(new OverrideVerifier(errorReporter, inheritanceManager));
  
      new ToDoFinder(errorReporter).findIn(unit);
  
      // Verify imports.
      {
        ImportsVerifier verifier = new ImportsVerifier();
        verifier.addImports(unit);
        _usedImportedElementsList.forEach(verifier.removeUsedElements);
        ErrorReporter errorReporter = _getErrorReporter(file);
        verifier.generateDuplicateImportHints(errorReporter);
        verifier.generateUnusedImportHints(errorReporter);
        verifier.generateUnusedShownNameHints(errorReporter);
      }
  
      {
        GatherUsedLocalElementsVisitor visitor =
            new GatherUsedLocalElementsVisitor(_libraryElement);
        unit.accept(visitor);
      }
  
      // Unused local elements.
      {
        UsedLocalElements usedElements =
            new UsedLocalElements.merge(_usedLocalElementsList);
        UnusedLocalElementsVerifier visitor =
            new UnusedLocalElementsVerifier(errorListener, usedElements);
        unitElement.accept(visitor);
      }
    }
  
  
negative.code:     }
    }
  
    void _computeHints(FileState file, CompilationUnit unit) {
      AnalysisErrorListener errorListener = _getErrorListener(file);
      ErrorReporter errorReporter = _getErrorReporter(file);
  
      unit.accept(
          new DeadCodeVerifier(errorReporter, typeSystem: _context.typeSystem));
  
      // Dart2js analysis.
      if (_analysisOptions.dart2jsHint) {
        unit.accept(new Dart2JSVerifier(errorReporter));
      }
  
      InheritanceManager inheritanceManager = new InheritanceManager(
          _libraryElement,
          includeAbstractFromSuperclasses: true);
  
      unit.accept(new BestPracticesVerifier(
          errorReporter, _typeProvider, _libraryElement, inheritanceManager,
          typeSystem: _context.typeSystem));
  
      unit.accept(new OverrideVerifier(errorReporter, inheritanceManager));
  
      new ToDoFinder(errorReporter).findIn(unit);
  
      // Verify imports.
      {
        ImportsVerifier verifier = new ImportsVerifier();
        verifier.addImports(unit);
        _usedImportedElementsList.forEach(verifier.removeUsedElements);
        verifier.generateDuplicateImportHints(errorReporter);
        verifier.generateUnusedImportHints(errorReporter);
        verifier.generateUnusedShownNameHints(errorReporter);
      }
  
      // Unused local elements.
      {
        UsedLocalElements usedElements =
            new UsedLocalElements.merge(_usedLocalElementsList);
        UnusedLocalElementsVerifier visitor =
            new UnusedLocalElementsVerifier(errorListener, usedElements);
        unit.element.accept(visitor);
      }
    }
  
    void _computeVerifyErrors(FileState file, CompilationUnit unit) {
      RecordingErrorListener errorListener = _getErrorListener(file);
      CompilationUnitElement unitElement = unit.element;
  
  