describe method
A table, largest first, for a test that prints it or a CI job that keeps it in the log.
Implementation
String describe() {
final buffer = StringBuffer('$total characters in total\n');
for (final entry in byComponent.entries) {
final String share = (shareOf(entry.key) * 100).toStringAsFixed(1);
buffer.writeln(
' ${entry.value.toString().padLeft(7)} $share% ${entry.key}',
);
}
buffer.writeln(
' ${shared.toString().padLeft(7)} '
'${(total == 0 ? 0 : shared / total * 100).toStringAsFixed(1)}% '
'(shared definitions)',
);
return buffer.toString();
}