Beispiel #1
0
        //Метод который разбивает заданный файл на методы
        void SplitFile()
        {
            string programText = File.ReadAllText(pathFile);

            var tree = CSharpSyntaxTree.ParseText(programText);

            MethodStruct methodStruct = new MethodStruct();

            methodStruct.documentPath = pathFile;

            IEnumerable <MethodDeclarationSyntax> methods = tree
                                                            .GetRoot()
                                                            .DescendantNodes()
                                                            .OfType <MethodDeclarationSyntax>();

            foreach (var method in methods)
            {
                methodStruct.method = method;
                MethodStruct met = new MethodStruct();
                met.solution     = methodStruct.solution;
                met.project      = methodStruct.project;
                met.document     = methodStruct.document;
                met.documentPath = methodStruct.documentPath;
                met.method       = methodStruct.method;
                methodStructs.Add(methodStruct);
            }
        }
Beispiel #2
0
        //Метод который разбивает заданные файлы на методы
        void SplitFile(IEnumerable <Microsoft.CodeAnalysis.Document> files, MethodStruct methodStruct)
        {
            foreach (var file in files)
            {
                string programText = File.ReadAllText(file.FilePath);

                var tree = CSharpSyntaxTree.ParseText(programText);

                methodStruct.document = file;

                IEnumerable <MethodDeclarationSyntax> methods = tree
                                                                .GetRoot()
                                                                .DescendantNodes()
                                                                .OfType <MethodDeclarationSyntax>();

                foreach (var method in methods)
                {
                    methodStruct.method = method;
                    MethodStruct met = new MethodStruct();
                    met.solution     = methodStruct.solution;
                    met.project      = methodStruct.project;
                    met.document     = methodStruct.document;
                    met.documentPath = methodStruct.documentPath;
                    met.method       = methodStruct.method;
                    methodStructs.Add(met);
                }
            }
        }
Beispiel #3
0
 //Метод который разбивает заданные проекты на файлы
 void SplitProject(IEnumerable <Microsoft.CodeAnalysis.Project> projects, MethodStruct methodStruct)
 {
     foreach (var project in projects)
     {
         var files = project.Documents;
         methodStruct.project = project;
         SplitFile(files, methodStruct);
     }
 }
Beispiel #4
0
        //Метод который разбивает заданный проект на файлы
        void SplitProject()
        {
            var msWorkspace = MSBuildWorkspace.Create();

            var project = msWorkspace.OpenProjectAsync(pathProject).Result;

            var files = project.Documents;

            MethodStruct methodStruct = new MethodStruct();

            methodStruct.project = project;

            SplitFile(files, methodStruct);
        }
Beispiel #5
0
        //Метод который разбивает заданное решение на проекты
        void SplitSolution()
        {
            MethodStruct methodStruct = new MethodStruct();

            var msWorkspace = MSBuildWorkspace.Create();

            var solution = msWorkspace.OpenSolutionAsync(pathSolution).Result;

            var projects = solution.Projects;

            methodStruct.solution = solution;

            SplitProject(projects, methodStruct);
        }