From 720192356212ecf0fe94d45c0748389834eaf7f6 Mon Sep 17 00:00:00 2001 From: hjk <qtc-committer@nokia.com> Date: Tue, 24 Jan 2012 16:41:30 +0100 Subject: [PATCH] debugger: move isCppBreakpoint to Breakpoint Change-Id: I241401fa010166982e5a95a699c99fbaa87188ef Reviewed-by: hjk <qthjk@ovi.com> --- src/plugins/debugger/breakpoint.cpp | 15 +++++++++++++++ src/plugins/debugger/breakpoint.h | 1 + src/plugins/debugger/cdb/cdbengine.cpp | 2 +- src/plugins/debugger/debuggerengine.cpp | 14 -------------- src/plugins/debugger/debuggerengine.h | 2 -- src/plugins/debugger/gdb/gdbengine.cpp | 2 +- src/plugins/debugger/qml/qmlengine.cpp | 2 +- 7 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/plugins/debugger/breakpoint.cpp b/src/plugins/debugger/breakpoint.cpp index f81a507987b..a5bda190ef7 100644 --- a/src/plugins/debugger/breakpoint.cpp +++ b/src/plugins/debugger/breakpoint.cpp @@ -276,6 +276,21 @@ void BreakpointParameters::updateLocation(const QByteArray &location) } } +bool BreakpointParameters::isCppBreakpoint() const +{ + // Qml specific breakpoint types. + if (type == BreakpointAtJavaScriptThrow + || type == BreakpointOnQmlSignalHandler) + return false; + + // Qml is currently only file. + if (type == BreakpointByFileAndLine) + return !fileName.endsWith(QLatin1String(".qml"), Qt::CaseInsensitive) + && !fileName.endsWith(QLatin1String(".js"), Qt::CaseInsensitive); + + return true; +} + QString BreakpointParameters::toString() const { QString result; diff --git a/src/plugins/debugger/breakpoint.h b/src/plugins/debugger/breakpoint.h index 138894a348b..4efb0444c30 100644 --- a/src/plugins/debugger/breakpoint.h +++ b/src/plugins/debugger/breakpoint.h @@ -211,6 +211,7 @@ public: // Enough for now. bool isBreakpoint() const { return !isWatchpoint() && !isTracepoint(); } bool isTracepoint() const { return tracepoint; } + bool isCppBreakpoint() const; QString toString() const; void updateLocation(const QByteArray &location); // file.cpp:42 diff --git a/src/plugins/debugger/cdb/cdbengine.cpp b/src/plugins/debugger/cdb/cdbengine.cpp index 99bb44fc563..57f42b652d7 100644 --- a/src/plugins/debugger/cdb/cdbengine.cpp +++ b/src/plugins/debugger/cdb/cdbengine.cpp @@ -2542,7 +2542,7 @@ bool CdbEngine::stateAcceptsBreakpointChanges() const bool CdbEngine::acceptsBreakpoint(BreakpointModelId id) const { const BreakpointParameters &data = breakHandler()->breakpointData(id); - if (!DebuggerEngine::isCppBreakpoint(data)) + if (!data.isCppBreakpoint()) return false; switch (data.type) { case UnknownType: diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp index 6cfda098199..ff847104345 100644 --- a/src/plugins/debugger/debuggerengine.cpp +++ b/src/plugins/debugger/debuggerengine.cpp @@ -1634,20 +1634,6 @@ void DebuggerEngine::showStoppedByExceptionMessageBox(const QString &description showMessageBox(QMessageBox::Information, tr("Exception Triggered"), msg); } -bool DebuggerEngine::isCppBreakpoint(const BreakpointParameters &p) -{ - //Qml specific breakpoint types - if (p.type == BreakpointAtJavaScriptThrow - || p.type == BreakpointOnQmlSignalHandler) - return false; - - // Qml is currently only file - if (p.type != BreakpointByFileAndLine) - return true; - return !p.fileName.endsWith(QLatin1String(".qml"), Qt::CaseInsensitive) - && !p.fileName.endsWith(QLatin1String(".js"), Qt::CaseInsensitive); -} - void DebuggerEngine::openMemoryView(quint64 startAddr, unsigned flags, const QList<MemoryMarkup> &ml, const QPoint &pos, const QString &title, QWidget *parent) diff --git a/src/plugins/debugger/debuggerengine.h b/src/plugins/debugger/debuggerengine.h index 389cb30dc80..7a6e619031a 100644 --- a/src/plugins/debugger/debuggerengine.h +++ b/src/plugins/debugger/debuggerengine.h @@ -383,8 +383,6 @@ protected: void showStoppedBySignalMessageBox(const QString meaning, QString name); void showStoppedByExceptionMessageBox(const QString &description); - static bool isCppBreakpoint(const Internal::BreakpointParameters &p); - bool isStateDebugging() const; void setStateDebugging(bool on); diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index 17362638a63..8f41a77dd90 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -2932,7 +2932,7 @@ bool GdbEngine::stateAcceptsBreakpointChanges() const bool GdbEngine::acceptsBreakpoint(BreakpointModelId id) const { - return DebuggerEngine::isCppBreakpoint(breakHandler()->breakpointData(id)) + return breakHandler()->breakpointData(id).isCppBreakpoint() && startParameters().startMode != AttachCore; } diff --git a/src/plugins/debugger/qml/qmlengine.cpp b/src/plugins/debugger/qml/qmlengine.cpp index d402fcbf04a..55d43860e1b 100644 --- a/src/plugins/debugger/qml/qmlengine.cpp +++ b/src/plugins/debugger/qml/qmlengine.cpp @@ -674,7 +674,7 @@ void QmlEngine::attemptBreakpointSynchronization() bool QmlEngine::acceptsBreakpoint(BreakpointModelId id) const { - if (!DebuggerEngine::isCppBreakpoint(breakHandler()->breakpointData(id))) + if (!breakHandler()->breakpointData(id).isCppBreakpoint()) return true; //If it is a Cpp Breakpoint query if the type can be also handled by the debugger client -- GitLab