analyze method

List<ArchitectureSmell> analyze()

Runs all smell detectors and returns every finding.

Implementation

List<ArchitectureSmell> analyze() {
  final smells = <ArchitectureSmell>[];

  for (final entry in graph.nodes.entries) {
    final nodeId = entry.key;
    final node = entry.value;

    if (node is LogicUnitNode) {
      smells.addAll(_analyzeLogicUnit(nodeId, node));
    } else if (node is WidgetNode) {
      smells.addAll(_analyzeWidget(nodeId, node));
    }
  }

  smells.addAll(_analyzeGraphMetrics());

  return smells;
}