generateReport method

String generateReport()

Generate analysis report.

Implementation

String generateReport() {
  final buffer = StringBuffer();
  buffer.writeln('═══════════════════════════════════════════════════════════');
  buffer.writeln('                  WIDGET ANALYSIS REPORT');
  buffer.writeln('═══════════════════════════════════════════════════════════');
  buffer.writeln();

  buffer.writeln('Top 10 Most Used Widgets:');
  final sortedByCount = _widgetCounts.entries.toList()
    ..sort((a, b) => b.value.compareTo(a.value));
  for (final entry in sortedByCount.take(10)) {
    buffer.writeln('  ${entry.key}: ${entry.value} builds');
  }
  buffer.writeln();

  buffer.writeln('Top 10 Slowest Widgets (avg build time):');
  for (final entry in slowestWidgets) {
    buffer.writeln('  ${entry.key}: ${entry.value.inMicroseconds}μs');
  }
  buffer.writeln();

  buffer.writeln('Potential Removal Candidates (rarely used):');
  for (final name in unusedWidgetCandidates) {
    buffer.writeln('  $name: ${_widgetCounts[name]} builds');
  }

  return buffer.toString();
}