run method

List<Issue> run(
  1. List<ParsedFile> files
)

Run every rule against every file. Returns all issues found.

Rules that throw are skipped — a buggy rule should never crash the whole audit.

Implementation

List<Issue> run(List<ParsedFile> files) {
  final allIssues = <Issue>[];
  for (final file in files) {
    for (final rule in rules) {
      try {
        allIssues.addAll(rule.check(file));
      } catch (_) {
        // Skip rules that crash on weird input.
        continue;
      }
    }
  }
  return allIssues;
}