20 #ifndef _INTERACTIVEDEBUGGER_HPP
21 #define _INTERACTIVEDEBUGGER_HPP
40 struct XQILLA_API
Run {};
44 static void outputLocation(
const XMLCh *file,
unsigned int line,
unsigned int column,
45 unsigned int context = 0);
46 static void outputLocationFromString(
const XMLCh *query,
unsigned int line,
unsigned int column,
47 unsigned int context = 0);
48 static std::string regexFind(
const char *regex,
const std::string &str,
int groupNo = 1);
52 unsigned int setBreakPoint(
const std::string &file,
unsigned int line,
unsigned int column,
bool temporary);
53 bool disableBreakPoint(
unsigned int number);
54 bool enableBreakPoint(
unsigned int number);
55 void listBreakPoints()
const;
61 virtual void run() = 0;
63 virtual bool changeFrame(
unsigned int number) = 0;
64 virtual unsigned int getStackSize()
const = 0;
65 virtual void stackTrace()
const = 0;
66 virtual bool outputCurrentFrame(
unsigned int context = 0)
const = 0;
67 virtual void outputCurrentFrameQueryPlan()
const = 0;
68 virtual bool queryCurrentFrame(
const char *queryString)
const = 0;
69 virtual bool currentFrameLocation(std::string &file,
unsigned int &line,
unsigned int &column)
const = 0;
71 virtual void setDoLazyEvaluation(
bool lazy) = 0;
72 virtual void setDoFocusOptimizationsn(
bool opt) = 0;
73 virtual void setDoProjection(
bool opt) = 0;
79 void checkBreak(
bool entering);
80 void breakForError(
const char *message);
91 BreakPoint(
const std::string &f,
unsigned int l,
unsigned int c,
bool t)
92 : file(f), line(l), column(c), temporary(t), disabled(false) {}
115 static bool matches(
const std::string &command,
116 const std::string &toMatch);
117 virtual bool matches(
const std::string &command)
const;
123 const char *briefHelp,
const char *moreHelp)
124 : name_(name), compatName_(compatName), briefHelp_(briefHelp), moreHelp_(moreHelp) {}
156 virtual bool currentFrameLocation(std::string &file,
unsigned int &line,
unsigned int &column)
const;
162 unsigned int getCurrentFrameNumber()
const;
172 bool focusOptimzations_;