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 (keySignature.value == 's' && valueSignature.value == 'v') {
    var values = children.entries
        .map((entry) =>
            "'${entry.key.asString()}': ${entry.value.asVariant().toString()}")
        .join(', ');
    return 'DBusDict.stringVariant({$values})';
  } else {
    var childrenText = <String>[];
    children.forEach((key, value) {
      childrenText.add('${key.toString()}: ${value.toString()}');
    });
    var values = children.entries
        .map((entry) => '${entry.key.toString()}: ${entry.value.toString()}')
        .join(', ');
    return '$runtimeType($keySignature, $valueSignature, {$values})';
  }
}