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('[');
  final iterator = value.iterator;
  var i = 0;
  while (iterator.moveNext() && i < 3) {
    if (i > 0) buffer.write(', ');
    final inner = StringBuffer();
    _stringForNodeOn(iterator.current, inner);
    if (inner.length > 20) {
      buffer.write(inner.toString().substring(0, 20));
      buffer.write('...');
    } else {
      buffer.write(inner.toString());
    }
    i++;
  }
  if (i >= 3) buffer.write(', ...');
  buffer.write(']');
  return buffer.toString();
}