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() {
  if (isEmpty) return '[]';
  final buf = StringBuffer();
  buf.write('[');
  for (var i = 0; i < returnStates.length; i++) {
    if (i > 0) buf.write(', ');
    if (returnStates[i] == PredictionContext.EMPTY_RETURN_STATE) {
      buf.write(r'$');
      continue;
    }
    buf.write(returnStates[i]);
    if (parents[i] != null) {
      buf.write(' ');
      buf.write(parents[i].toString());
    } else {
      buf.write('null');
    }
  }
  buf.write(']');
  return buf.toString();
}