public ParseResult ParseProjectFiles()
{
IEnumerable <string> files = Directory.GetFiles(ProjectPath, "*", SearchOption.AllDirectories)
.Where(file => PHPSettings.PHPFileExtensions.Contains(Path.GetExtension(file)))
.Select(file => file.Replace(@"\\", @"\"));
var result = new ParseResult();
var phpFileParser = new FileParser(PHPSettings.PHPParserPath);
var progrssIndicator = ProgressIndicatorFactory.CreateProgressIndicator(files.Count());
foreach (var file in files)
{
progrssIndicator.Step();
try
{
XmlDocument parseResult = phpFileParser.ParsePHPFile(file);
result.ParsedFiles.Add(file, parseResult);
}
catch (XmlException)
{
result.FilesThatFailedToParse.Add(file);
}
}
return(result);
}