public void Process() { while (UnprocessedBinaries.Count > 0) { string binaryFilename = UnprocessedBinaries.Dequeue(); var results = DumpBin.DumpBinProcessor.GetDependents(binaryFilename); foreach (string s in results) { BinaryDependency.AddDependency(binaryFilename, s); var candidates = BinarySearchPaths.FindFile(s); foreach (var candidate in candidates) { var newKey = BinaryDependency.AddOrGetKey(candidate); if (!BinaryDependency.Dependencies.ContainsKey(newKey)) { UnprocessedBinaries.Enqueue(candidate); } } } } }
public BinaryDependencyCrawler() { BinarySearchPaths.InitializeFromCurrentEnvironment(); }