private IEnumerable <IDependencyInfo> ExamineSource(ICodeFileInfo codeFile, ISolutionInfo solution, IList <ICodeFileInfo> parsedCodeFiles) { var result = GetCompilationResult(codeFile.GetContent()); var nodes = result.Flatten(); var dependencies = nodes.Select(node => new DependencyTypeFactory().For(node)) .Where(dependency => dependency != null) .Distinct(new DependencyComparer()).ToList(); parsedCodeFiles.Add(codeFile); foreach (var dependencyInfo in dependencies) { dependencyInfo.CodeFileInfo = solution.FindCodeFileFor(dependencyInfo); } var codeFileInfos = dependencies .Select(dependencyInfo => dependencyInfo.CodeFileInfo) .Where(codeFileInfo => codeFileInfo != null && !parsedCodeFiles.Contains(codeFileInfo)) .Distinct().ToList(); foreach (var code in codeFileInfos) { dependencies.AddRange(ExamineSource(code, solution, parsedCodeFiles)); } return(dependencies); }
private IEnumerable<IDependencyInfo> ExamineSource(ICodeFileInfo codeFile, ISolutionInfo solution, IList<ICodeFileInfo> parsedCodeFiles) { var result = GetCompilationResult(codeFile.GetContent()); var nodes = result.Flatten(); var dependencies = nodes.Select(node => new DependencyTypeFactory().For(node)) .Where(dependency => dependency != null) .Distinct(new DependencyComparer()).ToList(); parsedCodeFiles.Add(codeFile); foreach (var dependencyInfo in dependencies) { dependencyInfo.CodeFileInfo = solution.FindCodeFileFor(dependencyInfo); } var codeFileInfos = dependencies .Select(dependencyInfo => dependencyInfo.CodeFileInfo) .Where(codeFileInfo => codeFileInfo != null && !parsedCodeFiles.Contains(codeFileInfo)) .Distinct().ToList(); foreach (var code in codeFileInfos) { dependencies.AddRange(ExamineSource(code, solution, parsedCodeFiles)); } return dependencies; }
public ProjectInfo(string name, string path, ISolutionInfo solution) { Name = name; Path = path; Solution = solution; codeFiles = new List <ICodeFileInfo>(); references = new List <IReferenceInfo>(); }
public ProjectInfo(string name, string path, ISolutionInfo solution) { Name = name; Path = path; Solution = solution; codeFiles = new List<ICodeFileInfo>(); references = new List<IReferenceInfo>(); }
private static void ParseSolutionItem(ISolutionInfo item, List<FilePathAbsolute> filePathListe) { FilePathAbsolute solution = new FilePathAbsolute(item.SolutionFile.FullName); foreach (var projectInfo in item.ProjectListe) { ParseProjectInfo(projectInfo, solution, filePathListe); } filePathListe.Add(solution); }
public ISolution CreateSolution(ISolutionInfo info) { return(Solution.Create(info)); }
public ISourceTreeDirectory FindDirectoryBySolution(ISolutionInfo solution) { return FindDirectoryByDirectoryInfo(this, solution.SolutionFile.Directory); }
public ISourceTreeDirectory FindDirectoryBySolution(ISolutionInfo solution) { return m_root.FindDirectoryBySolution(solution); }
public IEnumerable <IDependencyInfo> ExamineSource(ICodeFileInfo codeFile, ISolutionInfo solution) { var dependencyInfos = ExamineSource(codeFile, solution, new List <ICodeFileInfo>()).Distinct(new DependencyComparer()); return(dependencyInfos); }
public IEnumerable<IDependencyInfo> ExamineSource(ICodeFileInfo codeFile, ISolutionInfo solution) { var dependencyInfos = ExamineSource(codeFile, solution, new List<ICodeFileInfo>()).Distinct(new DependencyComparer()); return dependencyInfos; }
public ISolution CreateSolution(ISolutionInfo info) { return Solution.Create(info); }
private IList<ISourceTreeDirectory> BuildCheckoutTreeListe(ISourceTreeDirectory parentSourceTree, ISolutionInfo solution) { IList<ISourceTreeDirectory> childDirectoryListe = parentSourceTree.ChildDirectoryListe; ISourceTreeDirectory directory = parentSourceTree.FindDirectoryBySolution(solution); throw new NotImplementedException(); }
internal CheckoutStructure(ISourceTreeDirectory parentSourceTree, ISolutionInfo solution) { Solution = solution; ParentSourceTree = parentSourceTree; CheckoutTreeListe = BuildCheckoutTreeListe(ParentSourceTree, Solution); }
public VcsSolution(ISolutionInfo solution) { Solution = solution; }