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() {
if (isRecordType) {
return [
'(',
positionalRecordFields.map((t) => t.toString()).join(', '),
if (positionalRecordFields.isNotEmpty ||
positionalRecordFields.length == 1)
',',
if (namedRecordFields.isNotEmpty) ...[
' {',
namedRecordFields.map((f) => '$f ${f.recordFieldName!}').join(', '),
'}',
],
')',
if (nullable) '?',
].join();
}
var genericsString = generics.isNotEmpty ? '<${generics.join(',')}>' : '';
var nullableString = nullable ? '?' : '';
var urlString = url != null ? '$url:' : '';
var classRepr = isVectorType ? '$className($vectorDimension)' : className;
return '$urlString$classRepr$genericsString$nullableString';
}