private static void PrintResults(File file, MetricVisitor metricAnalyzer, TextWriter writer)
{
writer.WriteLine("File: " + file.FullPath);
writer.WriteLine(" - Total AST nodes: " + metricAnalyzer.TotalNodes);
writer.WriteLine(" - Echo statements: " + metricAnalyzer.EchoStatements);
writer.WriteLine(" - Sql query strings: " + metricAnalyzer.PotentialSQLQueries);
writer.WriteLine(" - Functions: " + file.Functions.Count);
foreach (var function in file.Functions.Values)
{
writer.WriteLine(" - " + function);
}
writer.WriteLine(" - Classes: " + file.Classes.Count);
foreach (var classDef in file.Classes.Values.SelectMany(classDefinition => classDefinition))
{
writer.WriteLine(" - {0} {1} {2}", classDef.Name, classDef.StartLine, classDef.EndLine);
writer.WriteLine(" - Methods: " + classDef.Methods.Count);
}
writer.WriteLine(" - Interfaces: " + file.Interfaces.Count);
foreach (var interfaceDef in file.Interfaces.Values.SelectMany(interfaceDef => interfaceDef))
{
writer.WriteLine(" - {0} {1} {2}", interfaceDef.Name, interfaceDef.StartLine, interfaceDef.EndLine);
writer.WriteLine(" - Methods: " + interfaceDef.Methods.Count);
}
writer.WriteLine(" - Closures: " + file.Closures.Length);
foreach (var closure in file.Closures)
{
writer.WriteLine(" - " + closure);
}
writer.WriteLine();
}