public void Output(List <Entity> entities) { StringBuilder builder = new StringBuilder(); foreach (var entity in entities) { foreach (var child in entity.children) { builder.AppendLine(entity.className + "|" + entity.memberName + "|" + entity.fileName + "|" + child.className + "|" + child.memberName + "|" + child.raw); } } FileProc.Output("Dependencies.txt", builder.ToString()); }
public override void OnProcess(List <SemanticModel> semanticModels) { Debug.Log("Analyze SemanticModel... count = " + semanticModels.Count); { // Find Symbol // InvocationExpressionSyntax var symbols = new List <ISymbol>(); { symbols.AddRange(semanticModels.SelectSymbols <MemberAccessExpressionSyntax>()); symbols.AddRange(semanticModels.SelectSymbols <InvocationExpressionSyntax>()); } Debug.Log("Analyzing SyntaxNode :" + 0); var sb = new StringBuilder(); sb.Append("Analyzing Nothing"); var i = 0; foreach (var it in symbols) { i++; if (it == null) { sb.AppendLine("here is it"); } else { sb.AppendLine(it.Name + "|" + it.ContainingType?.Name); } } Debug.Log("how many symbols " + i); FileProc.Output("Test.txt", sb.ToString()); // Analyze Symbol symbols.ForEach(it => Dict.Add(it)); } Debug.Log("Analyze SemanticModel, done. " + Dict.ToDescString()); Debug.Log("Output..."); EditorUtility.DisplayProgressBar("Analyzing Usage", "Output Analysis...", 0.8f); // Output the Symbol Output(Dict); Debug.Log("Output... done"); }
private static void Output(Dictionary dict) { FileProc.Output("AnalyzeUsage.txt", dict.ToDetailString()); }