analyzeFiles method

List<ReferenceCode> analyzeFiles(
  1. String root, {
  2. bool used = true,
})

Analyzes all Dart files found under the root path.

If used is true, analyzes direct usage; if false, analyzes reverse dependencies.

Implementation

List<ReferenceCode> analyzeFiles(String root, {bool used = true}) {
  var fileSelector = FileSelection(root);
  final dartFiles = fileSelector.extractFiles();

  final List<ReferenceCode> codeList = [];

  // Process each Dart file to extract code references
  for (final file in dartFiles) {
    var code = ReferenceCode(file);
    code.processCode();
    codeList.add(code);
  }

  // Build dependency graph
  for (var baseMain in codeList) {
    for (var baseUsed in codeList) {
      if (baseMain != baseUsed) {
        baseMain.processDependencies(baseUsed, used: used);
      }
    }
  }

  return codeList;
}