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