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() {
  var parameters = <String, String?>{
    'args': args.isNotEmpty ? args.toString() : null,
    'annotations': annotations.isNotEmpty ? annotations.toString() : null
  };
  var parameterString = ["'$name'"]
      .followedBy(parameters.keys
          .where((key) => parameters[key] != null)
          .map((key) => '$key: ${parameters[key]}'))
      .join(', ');
  return '$runtimeType($parameterString)';
}