toString method

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

String toString() {
  var buffer = StringBuffer();
  if (hasBrackets) {
    buffer.writeCharCode($lbracket);
  } else if (contents.isEmpty ||
      (contents.length == 1 && separator == ListSeparator.comma)) {
    buffer.writeCharCode($lparen);
  }

  buffer.write(contents
      .map((element) =>
          _elementNeedsParens(element) ? "($element)" : element.toString())
      .join(separator == ListSeparator.comma ? ", " : " "));

  if (hasBrackets) {
    buffer.writeCharCode($rbracket);
  } else if (contents.isEmpty) {
    buffer.writeCharCode($rparen);
  } else if (contents.length == 1 && separator == ListSeparator.comma) {
    buffer.write(",)");
  }

  return buffer.toString();
}