public static void AnalyzeCodeContext(CppCodeContext cppCodeContext) { IProjectFile projectFile = cppCodeContext.ProjectFile; using (TextWriter writer = File.CreateText(CreateAnalyticsFilePath(cppCodeContext.DialogClassName, $"{cppCodeContext.FileName}-cpp.txt"))) { cppCodeContext.DumpFile(writer); } }
private static void ProcessCppFile(CppHeaderContext cppHeaderContext, string fileName, string dialogClassName) { if (CppFileMap.ContainsKey(fileName.ToLower())) { IProjectFile projectFile = CppFileMap[fileName.ToLower()]; CppCodeContext cppCodeContext = new CppCodeContext(fileName, dialogClassName); cppCodeContext.CppHeaderContext = cppHeaderContext; cppHeaderContext.CppCodeContext = cppCodeContext; cppCodeContext.WidgetTypeFinder = new WidgetTypeFinder(cppCodeContext, cppHeaderContext); CurrentFileContext = cppCodeContext; cppCodeContext.ProjectFile = projectFile; cppCodeContext.Init(); CurrentFileContext = cppCodeContext; AnalyzeCodeContext(cppCodeContext); cppCodeContext.WriteSavedNodes(); cppCodeContext.ProcessResults(); cppCodeContext.Finalize(); cppCodeContext.SaveClassInfo(); cppCodeContext.WidgetTypeFinder.DoAnalytics(); } else { LogManager.Self.Log($"Missing Cpp File in map: {fileName}"); } }
public WidgetTypeFinder(CppCodeContext cppCodeContext, CppHeaderContext cppHeaderContext) { this.CppCodeContext = cppCodeContext; this.CppHeaderContext = cppHeaderContext; }