// ReSharper disable once UnusedMember.Local void MeasureTrivias(SyntaxNode root, SyntaxStatistics statistics) { foreach (var token in root.DescendantTokens()) { statistics.MeasureTrivia(token); } }
public void AllGds() { var testDir = @"c:\ws\xtplus\main"; if (!Directory.Exists(testDir)) { Assert.Warn($"Test directory '{testDir}' does not exist."); return; } var stats = new SyntaxStatistics(); var count = 0; foreach (var file in Directory.EnumerateFiles( testDir, "*.gd", SearchOption.AllDirectories)) { count++; var txt = File.ReadAllText(file); var source = SourceText.From(txt); var tree = SyntaxTree.Parse(source); EnsureContinousNodes(0, tree.Root); EnsureContinousTokens(tree.Root); //MeasureTrivias(tree.Root, stats); if (tree.Diagnostics.Length > 0) { Assert.Warn($"{file}\r\n{tree.Diagnostics.First().Location}"); } } TestContext.Out.WriteLine(stats.ToString()); TestContext.Out.WriteLine($"{count} files processed."); }