public TableOfContent Process(IEnumerable <Domain.Ide.Project> projects, Uri root) { var libraries = projects .Aggregate(ImmutableArray.Create <AssemblyDefinition>(), (acc, c) => { var files = c.Files.Aggregate(ImmutableArray.Create <FileContent>(), (acc2, d) => { var extension = Path.GetExtension(d.AbsolutePath); switch (extension) { case ".cs": return(acc2.Add(new FileContent(d.AbsolutePath, ProjectLanguage.CSharp))); case ".vb": return(acc2.Add(new FileContent(d.AbsolutePath, ProjectLanguage.VisualBasic))); default: return(acc2); } }); var project = new Domain.Compiler.Project(c.Name, files); return(acc.Add(_analyzer.Analyze(project))); }); return(_organizer.Organize(libraries, root, _settingsProvider.GetSettings())); }
public TableOfContent Process(IEnumerable <Project> projects, Uri root) { var libraries = projects.Aggregate( ImmutableArray.Create <AssemblyDefinition>(), (acc, c) => acc.Add(_analyzer.Analyze(c)) ); return(_organizer.Organize(libraries, root, _settingsProvider.GetSettings())); }