anchor.diff:    static final TaskDescriptor DESCRIPTOR = new TaskDescriptor('DartErrorsTask',
         createTask, buildInputs, <ResultDescriptor>[DART_ERRORS]);
   
  +  /**
  +   * The name of the [LINE_INFO_INPUT] input.
  +   */
  +  static const String LINE_INFO_INPUT = 'LINE_INFO_INPUT';
  +
  +  /**
  +   * The name of the [PARSED_UNIT_INPUT] input.
  +   */
  +  static const String PARSED_UNIT_INPUT = 'PARSED_UNIT_INPUT';
  +
     // Prefix for comments ignoring error codes.
     static const String _normalizedIgnorePrefix = '//#ignore:';
   
  
positive.code:   static Map<String, TaskInput> buildInputs(AnalysisTarget target) {
      Source source = target;
      Map<String, TaskInput> inputs = <String, TaskInput>{};
      EnginePlugin enginePlugin = AnalysisEngine.instance.enginePlugin;
      // for Source
      for (ResultDescriptor result in enginePlugin.dartErrorsForSource) {
  
negative.code:     // Sort errors.
      errors.sort((AnalysisError e1, AnalysisError e2) => e1.offset - e2.offset);
  
      CompilationUnit cu = getRequiredInput(PARSED_UNIT_INPUT);
      Token token = cu.beginToken;
      LineInfo lineInfo = getRequiredInput(LINE_INFO_INPUT);
  
      int errorIndex = 0;
  
  