1 #ifndef ROSE_ANALYSIS_DEBUGGING_UTILS_H
2 #define ROSE_ANALYSIS_DEBUGGING_UTILS_H
14 virtual std::string str(std::string indent=
"")=0;
23 virtual std::string toDOT(std::string graphName)=0;
32 void dotGraphGenerator (
Analysis *a);
44 std::streambuf* baseBuf;
45 std::list<std::string> funcs;
54 std::list<int> parentDivs;
62 dbgBuf(std::streambuf* baseBuf);
63 void init(std::streambuf* baseBuf);
68 virtual int overflow(
int c);
74 int printString(std::string s);
78 virtual std::streamsize xsputn(
const char * s, std::streamsize n);
86 void ownerAccessing();
89 void enterFunc(std::string funcName);
90 void exitFunc(std::string funcName);
96 std::ofstream dbgFile;
98 std::vector<std::string> colors;
104 std::string dbgFileName;
108 std::ofstream summaryF;
114 dbgStream(std::string title, std::string dbgFileName, std::string workDir, std::string imgPath);
115 void init(std::string title, std::string dbgFileName, std::string workDir, std::string imgPath);
117 void printDetailFileHeader(std::string title);
118 void printDetailFileTrailer();
121 void enterFunc(std::string funcName);
122 void exitFunc(std::string funcName);
126 std::string addImage(std::string ext=
".gif");
133 std::string addDOTStr(
dottable& obj);
136 std::string addDOT(std::string dot);
138 void addDOT(std::string imgFName, std::string graphName, std::string dot, std::ostream& ret);
141 extern bool initialized;
145 void init(std::string title, std::string workDir, std::string fName=
"debug");
148 void enterFunc(std::string funcName);
149 void exitFunc(std::string funcName);
153 std::string addImage(std::string ext=
".gif");
161 std::string addDOTStr(
dottable& obj);
165 std::string addDOT(std::string dot);
170 std::string escape(std::string s);