private void SetSyntaxCompilation()

in src/Analysis/Codelyzer.Analysis.Build/ProjectBuildHandler.cs [196:228]


        private void SetSyntaxCompilation()
        {
            var trees = new List<SyntaxTree>();
            isSyntaxAnalysis = true;

            Logger.LogError(syntaxAnalysisError);
            Errors.Add(syntaxAnalysisError);

            var projPath = Path.GetDirectoryName(ProjectAnalyzer.ProjectFile.Path);
            DirectoryInfo directory = new DirectoryInfo(projPath);
            var allFiles = directory.GetFiles("*.cs", SearchOption.AllDirectories);
            foreach (var file in allFiles)
            {
                try
                {
                    using (var stream = File.OpenRead(file.FullName))
                    {
                        var syntaxTree = CSharpSyntaxTree.ParseText(SourceText.From(stream), path: file.FullName);
                        trees.Add(syntaxTree);
                    }
                }
                catch (Exception e)
                {
                    Logger.LogError(e, "Error while running syntax analysis");
                    Console.WriteLine(e);
                }
            }

            if (trees.Count != 0)
            {
                Compilation = CSharpCompilation.Create(ProjectAnalyzer.ProjectInSolution.ProjectName, trees);
            }
        }