/// <summary> /// Determines if a module in this rules assembly has source code. /// </summary> /// <param name="ModuleName">Name of the module to check</param> /// <returns>True if the module has source files, false if the module was not found, or does not have source files.</returns> public bool DoesModuleHaveSource(string ModuleName) { FileReference ModuleFile; if (ModuleNameToModuleFile.TryGetValue(ModuleName, out ModuleFile)) { bool HasSource; if (!ModuleHasSource.TryGetValue(ModuleFile, out HasSource)) { foreach (string FileName in Directory.EnumerateFiles(ModuleFile.Directory.FullName, "*.cpp", SearchOption.AllDirectories)) { HasSource = true; break; } ModuleHasSource.Add(ModuleFile, HasSource); } return(HasSource); } return((Parent == null) ? false : Parent.DoesModuleHaveSource(ModuleName)); }