debugger: make '0' the 'invalid' BreakpointId value

This commit is contained in:
hjk
2010-12-01 11:52:18 +01:00
parent 739144ce91
commit a638b9338e
4 changed files with 23 additions and 23 deletions

View File

@@ -154,7 +154,7 @@ BreakpointId BreakHandler::findSimilarBreakpoint(const BreakpointResponse &needl
if (isSimilarTo(data, needle)) if (isSimilarTo(data, needle))
return id; return id;
} }
return BreakpointId(-1); return BreakpointId();
} }
BreakpointId BreakHandler::findBreakpointByNumber(int bpNumber) const BreakpointId BreakHandler::findBreakpointByNumber(int bpNumber) const
@@ -163,7 +163,7 @@ BreakpointId BreakHandler::findBreakpointByNumber(int bpNumber) const
for ( ; it != et; ++it) for ( ; it != et; ++it)
if (it->response.number == bpNumber) if (it->response.number == bpNumber)
return it.key(); return it.key();
return BreakpointId(-1); return BreakpointId();
} }
BreakpointId BreakHandler::findBreakpointByFunction(const QString &functionName) const BreakpointId BreakHandler::findBreakpointByFunction(const QString &functionName) const
@@ -172,7 +172,7 @@ BreakpointId BreakHandler::findBreakpointByFunction(const QString &functionName)
for ( ; it != et; ++it) for ( ; it != et; ++it)
if (it->data.functionName == functionName) if (it->data.functionName == functionName)
return it.key(); return it.key();
return BreakpointId(-1); return BreakpointId();
} }
BreakpointId BreakHandler::findBreakpointByAddress(quint64 address) const BreakpointId BreakHandler::findBreakpointByAddress(quint64 address) const
@@ -181,7 +181,7 @@ BreakpointId BreakHandler::findBreakpointByAddress(quint64 address) const
for ( ; it != et; ++it) for ( ; it != et; ++it)
if (it->data.address == address) if (it->data.address == address)
return it.key(); return it.key();
return BreakpointId(-1); return BreakpointId();
} }
BreakpointId BreakHandler::findBreakpointByFileAndLine(const QString &fileName, BreakpointId BreakHandler::findBreakpointByFileAndLine(const QString &fileName,
@@ -191,7 +191,7 @@ BreakpointId BreakHandler::findBreakpointByFileAndLine(const QString &fileName,
for ( ; it != et; ++it) for ( ; it != et; ++it)
if (it->isLocatedAt(fileName, lineNumber, useMarkerPosition)) if (it->isLocatedAt(fileName, lineNumber, useMarkerPosition))
return it.key(); return it.key();
return BreakpointId(-1); return BreakpointId();
} }
const BreakpointParameters &BreakHandler::breakpointData(BreakpointId id) const const BreakpointParameters &BreakHandler::breakpointData(BreakpointId id) const
@@ -208,25 +208,25 @@ BreakpointId BreakHandler::findWatchpointByAddress(quint64 address) const
for ( ; it != et; ++it) for ( ; it != et; ++it)
if (it->data.isWatchpoint() && it->data.address == address) if (it->data.isWatchpoint() && it->data.address == address)
return it.key(); return it.key();
return BreakpointId(-1); return BreakpointId();
} }
void BreakHandler::setWatchpointByAddress(quint64 address) void BreakHandler::setWatchpointByAddress(quint64 address)
{ {
const int id = findWatchpointByAddress(address); const int id = findWatchpointByAddress(address);
if (id == -1) { if (id) {
BreakpointParameters data(Watchpoint);
data.address = address;
appendBreakpoint(data);
} else {
qDebug() << "WATCHPOINT EXISTS"; qDebug() << "WATCHPOINT EXISTS";
// removeBreakpoint(index); // removeBreakpoint(index);
return;
} }
BreakpointParameters data(Watchpoint);
data.address = address;
appendBreakpoint(data);
} }
bool BreakHandler::hasWatchpointAt(quint64 address) const bool BreakHandler::hasWatchpointAt(quint64 address) const
{ {
return findWatchpointByAddress(address) != BreakpointId(-1); return findWatchpointByAddress(address);
} }
void BreakHandler::saveBreakpoints() void BreakHandler::saveBreakpoints()
@@ -354,7 +354,7 @@ BreakpointId BreakHandler::findBreakpointByIndex(const QModelIndex &index) const
for (int i = 0; it != et; ++it, ++i) for (int i = 0; it != et; ++it, ++i)
if (i == r) if (i == r)
return it.key(); return it.key();
return BreakpointId(-1); return BreakpointId();
} }
BreakpointIds BreakHandler::findBreakpointsByIndex(const QList<QModelIndex> &list) const BreakpointIds BreakHandler::findBreakpointsByIndex(const QList<QModelIndex> &list) const

View File

@@ -1316,7 +1316,7 @@ void CdbEngine::handleSessionIdle(const QByteArray &message)
if (reason == "breakpoint") { if (reason == "breakpoint") {
const int number = stopReason.findChild("breakpointId").data().toInt(); const int number = stopReason.findChild("breakpointId").data().toInt();
const BreakpointId id = breakHandler()->findBreakpointByNumber(number); const BreakpointId id = breakHandler()->findBreakpointByNumber(number);
if (id != BreakpointId(-1) && breakHandler()->type(id) == Debugger::Internal::Watchpoint) { if (id && breakHandler()->type(id) == Debugger::Internal::Watchpoint) {
showStatusMessage(msgWatchpointTriggered(id, number, breakHandler()->address(id), QString::number(threadId))); showStatusMessage(msgWatchpointTriggered(id, number, breakHandler()->address(id), QString::number(threadId)));
} else { } else {
showStatusMessage(msgBreakpointTriggered(id, number, QString::number(threadId))); showStatusMessage(msgBreakpointTriggered(id, number, QString::number(threadId)));

View File

@@ -1338,7 +1338,7 @@ bool DebuggerEngine::isDying() const
QString DebuggerEngine::msgWatchpointTriggered(BreakpointId id, QString DebuggerEngine::msgWatchpointTriggered(BreakpointId id,
const int number, quint64 address) const int number, quint64 address)
{ {
return id != BreakpointId(-1) return id
? tr("Watchpoint %1 (%2) at 0x%3 triggered.") ? tr("Watchpoint %1 (%2) at 0x%3 triggered.")
.arg(id).arg(number).arg(address, 0, 16) .arg(id).arg(number).arg(address, 0, 16)
: tr("Internal watchpoint %1 at 0x%2 triggered.") : tr("Internal watchpoint %1 at 0x%2 triggered.")
@@ -1348,7 +1348,7 @@ QString DebuggerEngine::msgWatchpointTriggered(BreakpointId id,
QString DebuggerEngine::msgWatchpointTriggered(BreakpointId id, QString DebuggerEngine::msgWatchpointTriggered(BreakpointId id,
const int number, quint64 address, const QString &threadId) const int number, quint64 address, const QString &threadId)
{ {
return id != BreakpointId(-1) return id
? tr("Watchpoint %1 (%2) at 0x%3 in thread %4 triggered.") ? tr("Watchpoint %1 (%2) at 0x%3 in thread %4 triggered.")
.arg(id).arg(number).arg(address, 0, 16).arg(threadId) .arg(id).arg(number).arg(address, 0, 16).arg(threadId)
: tr("Internal watchpoint %1 at 0x%2 in thread %3 triggered.") : tr("Internal watchpoint %1 at 0x%2 in thread %3 triggered.")
@@ -1358,7 +1358,7 @@ QString DebuggerEngine::msgWatchpointTriggered(BreakpointId id,
QString DebuggerEngine::msgBreakpointTriggered(BreakpointId id, QString DebuggerEngine::msgBreakpointTriggered(BreakpointId id,
const int number, const QString &threadId) const int number, const QString &threadId)
{ {
return id != BreakpointId(-1) return id
? tr("Stopped at breakpoint %1 (%2) in thread %3.") ? tr("Stopped at breakpoint %1 (%2) in thread %3.")
.arg(id).arg(number).arg(threadId) .arg(id).arg(number).arg(threadId)
: tr("Stopped at internal breakpoint %1 in thread %2.") : tr("Stopped at internal breakpoint %1 in thread %2.")

View File

@@ -2391,7 +2391,7 @@ void DebuggerPluginPrivate::requestContextMenu(TextEditor::ITextEditor *editor,
if (!isDebuggable(editor)) if (!isDebuggable(editor))
return; return;
BreakpointId id = -1; BreakpointId id = BreakpointId();
QString fileName; QString fileName;
quint64 address = 0; quint64 address = 0;
@@ -2415,7 +2415,7 @@ void DebuggerPluginPrivate::requestContextMenu(TextEditor::ITextEditor *editor,
args.append(lineNumber); args.append(lineNumber);
args.append(address); args.append(address);
if (id != BreakpointId(-1)) { if (id) {
// Remove existing breakpoint. // Remove existing breakpoint.
QAction *act = new QAction(menu); QAction *act = new QAction(menu);
act->setData(int(id)); act->setData(int(id));
@@ -2497,10 +2497,10 @@ void DebuggerPluginPrivate::toggleBreakpointByFileAndLine(const QString &fileNam
BreakHandler *handler = m_breakHandler; BreakHandler *handler = m_breakHandler;
BreakpointId id = BreakpointId id =
handler->findBreakpointByFileAndLine(fileName, lineNumber, true); handler->findBreakpointByFileAndLine(fileName, lineNumber, true);
if (id == BreakpointId(-1)) if (!id)
id = handler->findBreakpointByFileAndLine(fileName, lineNumber, false); id = handler->findBreakpointByFileAndLine(fileName, lineNumber, false);
if (id != BreakpointId(-1)) { if (id) {
handler->removeBreakpoint(id); handler->removeBreakpoint(id);
} else { } else {
BreakpointParameters data(BreakpointByFileAndLine); BreakpointParameters data(BreakpointByFileAndLine);
@@ -2516,7 +2516,7 @@ void DebuggerPluginPrivate::toggleBreakpointByAddress(quint64 address)
BreakHandler *handler = m_breakHandler; BreakHandler *handler = m_breakHandler;
BreakpointId id = handler->findBreakpointByAddress(address); BreakpointId id = handler->findBreakpointByAddress(address);
if (id != BreakpointId(-1)) { if (id) {
handler->removeBreakpoint(id); handler->removeBreakpoint(id);
} else { } else {
BreakpointParameters data(BreakpointByAddress); BreakpointParameters data(BreakpointByAddress);