toString method

  1. @override
String toString()
override

A string representation of this object.

Some classes have a default textual representation, often paired with a static parse function (like int.parse). These classes will provide the textual representation as their string representation.

Other classes have no meaningful textual representation that a program will care about. Such classes will typically override toString to provide useful information when inspecting the object, mainly for debugging or logging.

Implementation

@override
String toString() {
  final buffer = StringBuffer();

  if (filePath != null) {
    buffer.write(filePath);
    if (line != null) {
      buffer.write(':$line');
      if (column != null) {
        buffer.write(':$column');
      }
    }
    buffer.write(': ');
  } else if (line != null) {
    buffer.write('line $line');
    if (column != null) {
      buffer.write(':$column');
    }
    buffer.write(': ');
  }

  if (modelName != null) {
    buffer.write(modelName);
  }
  if (fieldName != null) {
    if (buffer.isNotEmpty) {
      buffer.write('.');
    }
    buffer.write(fieldName);
  }
  if (buffer.isNotEmpty) {
    buffer.write(': ');
  }

  buffer.write(message);
  return buffer.toString();
}