1 #include <featureTests.h> 
    2 #ifdef ROSE_ENABLE_SOURCE_ANALYSIS 
    4 #ifndef ROSE_ANALYSIS_DEBUGGING_UTILS_H 
    5 #define ROSE_ANALYSIS_DEBUGGING_UTILS_H 
   17         virtual std::string str(std::string indent=
"")=0;
 
   26         virtual std::string toDOT(std::string graphName)=0;
 
   35   void dotGraphGenerator (
Analysis *a);
 
   47         std::streambuf* baseBuf;
 
   48         std::list<std::string> funcs;
 
   57         std::list<int> parentDivs;
 
   65         dbgBuf(std::streambuf* baseBuf);
 
   66         void init(std::streambuf* baseBuf);
 
   71         virtual int overflow(
int c);
 
   77         int printString(std::string s);
 
   81         virtual std::streamsize xsputn(
const char * s, std::streamsize n);
 
   89         void ownerAccessing();
 
   92         void enterFunc(std::string funcName);
 
   93         void exitFunc(std::string funcName);
 
   99         std::ofstream dbgFile;
 
  101         std::vector<std::string> colors;
 
  107         std::string dbgFileName;
 
  111         std::ofstream summaryF;
 
  117         dbgStream(std::string title, std::string dbgFileName, std::string workDir, std::string imgPath);
 
  118         void init(std::string title, std::string dbgFileName, std::string workDir, std::string imgPath);
 
  120         void printDetailFileHeader(std::string title);
 
  121         void printDetailFileTrailer();
 
  124         void enterFunc(std::string funcName);
 
  125         void exitFunc(std::string funcName);
 
  129         std::string addImage(std::string ext=
".gif");
 
  136         std::string addDOTStr(
dottable& obj);
 
  139         std::string addDOT(std::string dot);
 
  141         void addDOT(std::string imgFName, std::string graphName, std::string dot, std::ostream& ret);
 
  144         extern bool initialized;
 
  148         void init(std::string title, std::string workDir, std::string fName=
"debug");
 
  151         void enterFunc(std::string funcName);
 
  152         void exitFunc(std::string funcName);
 
  156         std::string addImage(std::string ext=
".gif");
 
  164         std::string addDOTStr(
dottable& obj);
 
  168         std::string addDOT(std::string dot);
 
  173         std::string escape(std::string s);