示例#1
0
        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()));
        }
示例#2
0
        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()));
        }