From 648a8e82f0fea194200c3485dbeb3270488ecf9a Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 5 Feb 2015 14:39:59 +0100 Subject: [PATCH] Debugger: Remove DebuggerCommand .arg chaining. Less stylish options for more uniform user code. Change-Id: Ie9a6558101383a844efa25ba3ab59b4b824ad89f Reviewed-by: Christian Stenger --- src/plugins/debugger/debuggerprotocol.cpp | 39 ++++++++++------------- src/plugins/debugger/debuggerprotocol.h | 27 ++++++++-------- src/plugins/debugger/lldb/lldbengine.cpp | 38 ++++++++++++++-------- 3 files changed, 55 insertions(+), 49 deletions(-) diff --git a/src/plugins/debugger/debuggerprotocol.cpp b/src/plugins/debugger/debuggerprotocol.cpp index 71786bdb3b7..9e2f0ac1434 100644 --- a/src/plugins/debugger/debuggerprotocol.cpp +++ b/src/plugins/debugger/debuggerprotocol.cpp @@ -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(name); args.append("\":"); args.append(data); args.append(","); - return *this; } QByteArray DebuggerCommand::toData(const QList &value) @@ -773,50 +772,48 @@ QByteArray DebuggerCommand::toData(const QHash &value) 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(name); args.append("\":\""); args.append(value); args.append("\","); - return *this; } -const DebuggerCommand &DebuggerCommand::arg(const char *value) const +void DebuggerCommand::arg(const char *value) { args.append("\""); args.append(value); args.append("\","); - return *this; } -const DebuggerCommand &DebuggerCommand::beginList(const char *name) const +void DebuggerCommand::beginList(const char *name) { if (name) { args += '"'; @@ -824,17 +821,16 @@ const DebuggerCommand &DebuggerCommand::beginList(const char *name) const args += "\":"; } args += '['; - return *this; } -void DebuggerCommand::endList() const +void DebuggerCommand::endList() { if (args.endsWith(',')) args.chop(1); args += "],"; } -const DebuggerCommand &DebuggerCommand::beginGroup(const char *name) const +void DebuggerCommand::beginGroup(const char *name) { if (name) { args += '"'; @@ -842,10 +838,9 @@ const DebuggerCommand &DebuggerCommand::beginGroup(const char *name) const args += "\":"; } args += '{'; - return *this; } -void DebuggerCommand::endGroup() const +void DebuggerCommand::endGroup() { if (args.endsWith(',')) args.chop(1); diff --git a/src/plugins/debugger/debuggerprotocol.h b/src/plugins/debugger/debuggerprotocol.h index 459ed57003a..a85aea49390 100644 --- a/src/plugins/debugger/debuggerprotocol.h +++ b/src/plugins/debugger/debuggerprotocol.h @@ -43,25 +43,26 @@ public: DebuggerCommand() {} DebuggerCommand(const char *f) : function(f) {} - const DebuggerCommand &arg(const char *name) const; - const DebuggerCommand &arg(const char *name, int value) const; - const DebuggerCommand &arg(const char *name, qlonglong value) const; - const DebuggerCommand &arg(const char *name, qulonglong value) const; - const DebuggerCommand &arg(const char *name, const QString &value) const; - const DebuggerCommand &arg(const char *name, const QByteArray &value) const; - const DebuggerCommand &arg(const char *name, const char *value) const; - const DebuggerCommand &beginList(const char *name = 0) const; - void endList() const; - const DebuggerCommand &beginGroup(const char *name = 0) const; - void endGroup() const; + void arg(const char *name); + void arg(const char *name, int value); + void arg(const char *name, qlonglong value); + void arg(const char *name, qulonglong value); + void arg(const char *name, const QString &value); + void arg(const char *name, const QByteArray &value); + void arg(const char *name, const char *value); + void beginList(const char *name = 0); + void endList(); + void beginGroup(const char *name = 0); + void endGroup(); static QByteArray toData(const QList &value); static QByteArray toData(const QHash &value); QByteArray function; - mutable QByteArray args; + QByteArray args; + private: - const DebuggerCommand &argHelper(const char *name, const QByteArray &value) const; + void argHelper(const char *name, const QByteArray &value); }; /* diff --git a/src/plugins/debugger/lldb/lldbengine.cpp b/src/plugins/debugger/lldb/lldbengine.cpp index 1d49579dd8a..71a92e68f81 100644 --- a/src/plugins/debugger/lldb/lldbengine.cpp +++ b/src/plugins/debugger/lldb/lldbengine.cpp @@ -121,7 +121,9 @@ LldbEngine::~LldbEngine() 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) @@ -492,7 +494,9 @@ void LldbEngine::executeRunToFunction(const QString &functionName) { resetLocation(); notifyInferiorRunRequested(); - runCommand(DebuggerCommand("executeRunToFunction").arg("function", functionName)); + DebuggerCommand cmd("executeRunToFunction"); + cmd.arg("function", functionName); + runCommand(cmd); } void LldbEngine::executeJumpToLine(const ContextData &data) @@ -532,7 +536,9 @@ void LldbEngine::activateFrame(int frameIndex) 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 @@ -739,7 +745,9 @@ void LldbEngine::refreshModules(const GdbMi &modules) 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) @@ -864,19 +872,19 @@ void LldbEngine::doUpdateLocals(UpdateParameters params) QHashIterator it(WatchHandler::watcherNames()); while (it.hasNext()) { it.next(); - cmd.beginGroup() - .arg("iname", "watch." + QByteArray::number(it.value())) - .arg("exp", it.key().toHex()) - .endGroup(); + cmd.beginGroup(); + cmd.arg("iname", "watch." + QByteArray::number(it.value())); + cmd.arg("exp", it.key().toHex()); + cmd.endGroup(); } // Tooltips DebuggerToolTipContexts toolTips = DebuggerToolTipManager::pendingTooltips(this); foreach (const DebuggerToolTipContext &p, toolTips) { - cmd.beginGroup() - .arg("iname", p.iname) - .arg("exp", p.expression.toLatin1().toHex()) - .endGroup(); + cmd.beginGroup(); + cmd.arg("iname", p.iname); + cmd.arg("exp", p.expression.toLatin1().toHex()); + cmd.endGroup(); } cmd.endList(); @@ -1205,10 +1213,12 @@ void LldbEngine::changeMemory(MemoryAgent *agent, QObject *editorToken, 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 { if (cap & (ReverseSteppingCapability