toString method
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)';
}