forked from qt-creator/qt-creator
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:
@@ -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);
|
||||||
|
|||||||
@@ -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);
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user