private IEnumerable <ConfigurationFile> Parse(CompilationAnalysisContext context) { if (!context.Options.AdditionalFiles.Any()) { return(new List <ConfigurationFile>()); } var srcFiles = _configurationFileFilter.GetFiles(context.Options.AdditionalFiles).ToList(); if (!srcFiles.Any()) { return(new List <ConfigurationFile>()); } var workingDirectory = Utils.GetWorkingDirectory(context.Compilation.AssemblyName); var basePath = Utils.GetCommonRootPath(srcFiles); return(srcFiles.Select(src => { try { return _configurationFileParser.Parse(src, basePath, workingDirectory); } catch (XmlException ex) { // Failed to parse the XML Console.WriteLine($"Failed to parse the configuration file {src}."); Console.WriteLine(ex); } return null; }).Where(s => s != null).ToList()); }
private IEnumerable <ConfigurationFile> Parse(CompilationAnalysisContext context) { if (!context.Options.AdditionalFiles.Any()) { return(new List <ConfigurationFile>()); } var srcFiles = _configurationFileFilter.GetFiles(context.Options.AdditionalFiles).ToList(); if (!srcFiles.Any()) { return(new List <ConfigurationFile>()); } var workingDirectory = Utils.GetWorkingDirectory(context.Compilation.AssemblyName); var basePath = Utils.GetCommonRootPath(srcFiles); return(srcFiles.Select(src => _configurationFileParser.Parse(src, basePath, workingDirectory)).ToList()); }