anchor.diff:  
     /// All [AnalysisErrorInfo]s in the analyzed library.
     final List<AnalysisErrorInfo> errorInfos = new List<AnalysisErrorInfo>();
  +
  +  /// [HashMap] between sources and analysis error infos.
  +  final HashMap<Source, AnalysisErrorInfo> sourceErrorsMap = new HashMap<Source, AnalysisErrorInfo>();
   
     AnalyzerImpl(this.sourcePath, this.options, this.startTime) {
       if (sdk == null) {
  
positive.code:         // again to perform next task
          for (ChangeNotice notice in notices) {
            sources.add(notice.source);
          }
          return _analyzeAsync();
        }
  
negative.code:       // numbers.
        //
        // prepare errors
        sourceErrorsMap.forEach((k,v) {
          errorInfos.add(sourceErrorsMap[k]);
        });
  
        // print errors and performance numbers
        _printErrorsAndPerf();
  