Debugger: Remove DebuggerCommand .arg chaining.

Less stylish options for more uniform user code.

Change-Id: Ie9a6558101383a844efa25ba3ab59b4b824ad89f
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
This commit is contained in:
hjk
2015-02-05 14:39:59 +01:00
parent 0da9178c3e
commit 648a8e82f0
3 changed files with 55 additions and 49 deletions

View File

@@ -739,14 +739,13 @@ QString decodeData(const QByteArray &ba, int encoding)
// //
////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////
const DebuggerCommand &DebuggerCommand::argHelper(const char *name, const QByteArray &data) const void DebuggerCommand::argHelper(const char *name, const QByteArray &data)
{ {
args.append('"'); args.append('"');
args.append(name); args.append(name);
args.append("\":"); args.append("\":");
args.append(data); args.append(data);
args.append(","); args.append(",");
return *this;
} }
QByteArray DebuggerCommand::toData(const QList<QByteArray> &value) QByteArray DebuggerCommand::toData(const QList<QByteArray> &value)
@@ -773,50 +772,48 @@ QByteArray DebuggerCommand::toData(const QHash<QByteArray, QByteArray> &value)
return '{' + res + '}'; return '{' + res + '}';
} }
const DebuggerCommand &DebuggerCommand::arg(const char *name, int value) const void DebuggerCommand::arg(const char *name, int value)
{ {
return argHelper(name, QByteArray::number(value)); argHelper(name, QByteArray::number(value));
} }
const DebuggerCommand &DebuggerCommand::arg(const char *name, qlonglong value) const void DebuggerCommand::arg(const char *name, qlonglong value)
{ {
return argHelper(name, QByteArray::number(value)); argHelper(name, QByteArray::number(value));
} }
const DebuggerCommand &DebuggerCommand::arg(const char *name, qulonglong value) const void DebuggerCommand::arg(const char *name, qulonglong value)
{ {
return argHelper(name, QByteArray::number(value)); argHelper(name, QByteArray::number(value));
} }
const DebuggerCommand &DebuggerCommand::arg(const char *name, const QString &value) const void DebuggerCommand::arg(const char *name, const QString &value)
{ {
return arg(name, value.toUtf8().data()); arg(name, value.toUtf8().data());
} }
const DebuggerCommand &DebuggerCommand::arg(const char *name, const QByteArray &value) const void DebuggerCommand::arg(const char *name, const QByteArray &value)
{ {
return arg(name, value.data()); arg(name, value.data());
} }
const DebuggerCommand &DebuggerCommand::arg(const char *name, const char *value) const void DebuggerCommand::arg(const char *name, const char *value)
{ {
args.append('"'); args.append('"');
args.append(name); args.append(name);
args.append("\":\""); args.append("\":\"");
args.append(value); args.append(value);
args.append("\","); args.append("\",");
return *this;
} }
const DebuggerCommand &DebuggerCommand::arg(const char *value) const void DebuggerCommand::arg(const char *value)
{ {
args.append("\""); args.append("\"");
args.append(value); args.append(value);
args.append("\","); args.append("\",");
return *this;
} }
const DebuggerCommand &DebuggerCommand::beginList(const char *name) const void DebuggerCommand::beginList(const char *name)
{ {
if (name) { if (name) {
args += '"'; args += '"';
@@ -824,17 +821,16 @@ const DebuggerCommand &DebuggerCommand::beginList(const char *name) const
args += "\":"; args += "\":";
} }
args += '['; args += '[';
return *this;
} }
void DebuggerCommand::endList() const void DebuggerCommand::endList()
{ {
if (args.endsWith(',')) if (args.endsWith(','))
args.chop(1); args.chop(1);
args += "],"; args += "],";
} }
const DebuggerCommand &DebuggerCommand::beginGroup(const char *name) const void DebuggerCommand::beginGroup(const char *name)
{ {
if (name) { if (name) {
args += '"'; args += '"';
@@ -842,10 +838,9 @@ const DebuggerCommand &DebuggerCommand::beginGroup(const char *name) const
args += "\":"; args += "\":";
} }
args += '{'; args += '{';
return *this;
} }
void DebuggerCommand::endGroup() const void DebuggerCommand::endGroup()
{ {
if (args.endsWith(',')) if (args.endsWith(','))
args.chop(1); args.chop(1);

View File

@@ -43,25 +43,26 @@ public:
DebuggerCommand() {} DebuggerCommand() {}
DebuggerCommand(const char *f) : function(f) {} DebuggerCommand(const char *f) : function(f) {}
const DebuggerCommand &arg(const char *name) const; void arg(const char *name);
const DebuggerCommand &arg(const char *name, int value) const; void arg(const char *name, int value);
const DebuggerCommand &arg(const char *name, qlonglong value) const; void arg(const char *name, qlonglong value);
const DebuggerCommand &arg(const char *name, qulonglong value) const; void arg(const char *name, qulonglong value);
const DebuggerCommand &arg(const char *name, const QString &value) const; void arg(const char *name, const QString &value);
const DebuggerCommand &arg(const char *name, const QByteArray &value) const; void arg(const char *name, const QByteArray &value);
const DebuggerCommand &arg(const char *name, const char *value) const; void arg(const char *name, const char *value);
const DebuggerCommand &beginList(const char *name = 0) const; void beginList(const char *name = 0);
void endList() const; void endList();
const DebuggerCommand &beginGroup(const char *name = 0) const; void beginGroup(const char *name = 0);
void endGroup() const; void endGroup();
static QByteArray toData(const QList<QByteArray> &value); static QByteArray toData(const QList<QByteArray> &value);
static QByteArray toData(const QHash<QByteArray, QByteArray> &value); static QByteArray toData(const QHash<QByteArray, QByteArray> &value);
QByteArray function; QByteArray function;
mutable QByteArray args; QByteArray args;
private: private:
const DebuggerCommand &argHelper(const char *name, const QByteArray &value) const; void argHelper(const char *name, const QByteArray &value);
}; };
/* /*

View File

@@ -121,7 +121,9 @@ LldbEngine::~LldbEngine()
void LldbEngine::executeDebuggerCommand(const QString &command, DebuggerLanguages) void LldbEngine::executeDebuggerCommand(const QString &command, DebuggerLanguages)
{ {
runCommand(DebuggerCommand("executeDebuggerCommand").arg("command", command)); DebuggerCommand cmd("executeDebuggerCommand");
cmd.arg("command", command);
runCommand(cmd);
} }
void LldbEngine::runCommand(const DebuggerCommand &command) void LldbEngine::runCommand(const DebuggerCommand &command)
@@ -492,7 +494,9 @@ void LldbEngine::executeRunToFunction(const QString &functionName)
{ {
resetLocation(); resetLocation();
notifyInferiorRunRequested(); notifyInferiorRunRequested();
runCommand(DebuggerCommand("executeRunToFunction").arg("function", functionName)); DebuggerCommand cmd("executeRunToFunction");
cmd.arg("function", functionName);
runCommand(cmd);
} }
void LldbEngine::executeJumpToLine(const ContextData &data) void LldbEngine::executeJumpToLine(const ContextData &data)
@@ -532,7 +536,9 @@ void LldbEngine::activateFrame(int frameIndex)
void LldbEngine::selectThread(ThreadId threadId) void LldbEngine::selectThread(ThreadId threadId)
{ {
runCommand(DebuggerCommand("selectThread").arg("id", threadId.raw())); DebuggerCommand cmd("selectThread");
cmd.arg("id", threadId.raw());
runCommand(cmd);
} }
bool LldbEngine::stateAcceptsBreakpointChanges() const bool LldbEngine::stateAcceptsBreakpointChanges() const
@@ -739,7 +745,9 @@ void LldbEngine::refreshModules(const GdbMi &modules)
void LldbEngine::requestModuleSymbols(const QString &moduleName) void LldbEngine::requestModuleSymbols(const QString &moduleName)
{ {
runCommand(DebuggerCommand("listSymbols").arg("module", moduleName)); DebuggerCommand cmd("listSymbols");
cmd.arg("module", moduleName);
runCommand(cmd);
} }
void LldbEngine::refreshSymbols(const GdbMi &symbols) void LldbEngine::refreshSymbols(const GdbMi &symbols)
@@ -864,19 +872,19 @@ void LldbEngine::doUpdateLocals(UpdateParameters params)
QHashIterator<QByteArray, int> it(WatchHandler::watcherNames()); QHashIterator<QByteArray, int> it(WatchHandler::watcherNames());
while (it.hasNext()) { while (it.hasNext()) {
it.next(); it.next();
cmd.beginGroup() cmd.beginGroup();
.arg("iname", "watch." + QByteArray::number(it.value())) cmd.arg("iname", "watch." + QByteArray::number(it.value()));
.arg("exp", it.key().toHex()) cmd.arg("exp", it.key().toHex());
.endGroup(); cmd.endGroup();
} }
// Tooltips // Tooltips
DebuggerToolTipContexts toolTips = DebuggerToolTipManager::pendingTooltips(this); DebuggerToolTipContexts toolTips = DebuggerToolTipManager::pendingTooltips(this);
foreach (const DebuggerToolTipContext &p, toolTips) { foreach (const DebuggerToolTipContext &p, toolTips) {
cmd.beginGroup() cmd.beginGroup();
.arg("iname", p.iname) cmd.arg("iname", p.iname);
.arg("exp", p.expression.toLatin1().toHex()) cmd.arg("exp", p.expression.toLatin1().toHex());
.endGroup(); cmd.endGroup();
} }
cmd.endList(); cmd.endList();
@@ -1205,10 +1213,12 @@ void LldbEngine::changeMemory(MemoryAgent *agent, QObject *editorToken,
void LldbEngine::setRegisterValue(const QByteArray &name, const QString &value) void LldbEngine::setRegisterValue(const QByteArray &name, const QString &value)
{ {
runCommand(DebuggerCommand("setRegister").arg("name", name).arg("value", value)); DebuggerCommand cmd("setRegister");
cmd.arg("name", name);
cmd.arg("value", value);
runCommand(cmd);
} }
bool LldbEngine::hasCapability(unsigned cap) const bool LldbEngine::hasCapability(unsigned cap) const
{ {
if (cap & (ReverseSteppingCapability if (cap & (ReverseSteppingCapability