public static XmlProjectDataAccess From(AbsoluteFilePath projectFilePath, XmlProject deserializeProjectFile) { var xmlProjectDataAccess = new XmlProjectDataAccess(deserializeProjectFile); xmlProjectDataAccess.SetAbsolutePath(projectFilePath); xmlProjectDataAccess.NormalizeProjectDependencyPaths(projectFilePath); return(xmlProjectDataAccess); }
private static XmlProjectDataAccess DeserializeProjectData(AbsoluteFilePath projectFilePath) { var deserializeProjectFile = DeserializeProjectFile(projectFilePath); var xmlProjectDataAccess = XmlProjectDataAccess.From( projectFilePath, deserializeProjectFile); return(xmlProjectDataAccess); }
private static SourceCodeFileDto CreateXmlSourceCodeFile( XmlProjectDataAccess projectAccess, AbsoluteDirectoryPath projectDirectory, ICSharpFileSyntaxTree syntaxTree, Dictionary <string, ClassDeclarationInfo> classDeclarationSignatures) { return(new SourceCodeFileDto( AtmaFileSystemPaths.RelativeFilePath(GetPathRelativeTo(projectDirectory, syntaxTree.FilePath)), syntaxTree.GetAllUniqueNamespaces().ToList(), projectAccess.RootNamespace(), projectAccess.DetermineAssemblyName(), syntaxTree.GetAllUsingsFrom(classDeclarationSignatures), classDeclarationSignatures.Values.ToList())); }
public static void LoadFilesInto(XmlProjectDataAccess projectAccess) { var projectDirectory = projectAccess.GetParentDirectoryName(); var syntaxTrees = SourceCodeFilesIn(projectDirectory).Select(CSharpFileSyntaxTree.ParseFile).ToArray(); var classDeclarationSignatures = CSharpFileSyntaxTree.GetClassDeclarationSignaturesFromFiles(syntaxTrees); foreach (var dotNetProject in syntaxTrees.Select(tree => CreateXmlSourceCodeFile(projectAccess, projectDirectory, tree, classDeclarationSignatures))) { projectAccess.AddFile(dotNetProject); } }