anchor.diff:     */
     final ErrorCode errorCode;
   
  +  /**
  +   * The message describing the problem.
  +   */
     DiagnosticMessage _problemMessage;
   
  +  /**
  +   * The context messages associated with the problem. This list will be empty
  +   * if there are no context messages.
  +   */
     List<DiagnosticMessage> _contextMessages;
   
     /**
  
positive.code:    */
    AnalysisError.forValues(this.source, int offset, int length, this.errorCode,
        String message, this._correction,
        {List<DiagnosticMessage> contextMessages}) {
      _problemMessage = new DiagnosticMessageImpl(
          filePath: source?.fullName,
          length: length,
  
negative.code:    * [contextMessages] are provided, they will be recorded with the error.
     */
    AnalysisError(this.source, int offset, int length, this.errorCode,
        [List<Object> arguments,
        List<DiagnosticMessage> contextMessages = const []]) {
      String message = formatList(errorCode.message, arguments);
      String correctionTemplate = errorCode.correction;
      if (correctionTemplate != null) {
  