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);
}
}