8#include <QtCore/qjsonobject.h>
9#include <QtCore/qjsonarray.h>
52 for (
int breakPointId :
ids)
53 breakPoints.push_back(breakPointId);
73 m_debuggers << debugger;
77 for (
const BreakPoint &breakPoint : std::as_const(m_breakPoints))
78 if (breakPoint.enabled)
79 debugger->
addBreakPoint(breakPoint.fileName, breakPoint.lineNr, breakPoint.condition);
124 for (
QV4Debugger *debugger : std::as_const(m_debuggers))
128 const int id = ++m_lastBreakPointId;
135 BreakPoint breakPoint = m_breakPoints.
value(
id);
136 if (!breakPoint.isValid())
141 if (breakPoint.enabled)
142 for (
QV4Debugger *debugger : std::as_const(m_debuggers))
143 debugger->removeBreakPoint(breakPoint.fileName, breakPoint.lineNr);
154 BreakPoint &breakPoint = m_breakPoints[
id];
155 if (!breakPoint.isValid() || breakPoint.enabled == onoff)
157 breakPoint.enabled = onoff;
159 for (
QV4Debugger *debugger : std::as_const(m_debuggers)) {
161 debugger->addBreakPoint(breakPoint.fileName, breakPoint.lineNr, breakPoint.condition);
163 debugger->removeBreakPoint(breakPoint.fileName, breakPoint.lineNr);
172 if (
i->lineNr == lineNumber &&
fileName.endsWith(
i->fileName))
180 if (onoff != m_breakOnThrow) {
181 m_breakOnThrow = onoff;
182 for (
QV4Debugger *debugger : std::as_const(m_debuggers))
183 debugger->setBreakOnThrow(onoff);
189 for (
QV4Debugger *debugger : std::as_const(m_debuggers))
190 debugger->clearPauseRequest();
195#include "moc_qv4debuggeragent.cpp"
key_iterator keyEnd() const noexcept
bool remove(const Key &key)
Removes the item that has the key from the hash.
iterator begin()
Returns an \l{STL-style iterators}{STL-style iterator} pointing to the first item in the hash.
key_iterator keyBegin() const noexcept
T value(const Key &key) const noexcept
iterator end() noexcept
Returns an \l{STL-style iterators}{STL-style iterator} pointing to the imaginary item after the last ...
iterator insert(const Key &key, const T &value)
Inserts a new item with the key and a value of value.
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
iterator insert(const QString &key, const QJsonValue &value)
Inserts a new item with the key key and a value of value.
bool isEmpty() const
Returns true if the object is empty.
void push_back(parameter_type t)
qsizetype removeAll(const AT &t)
static QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
\threadsafe
void destroyed(QObject *=nullptr)
This signal is emitted immediately before the object obj is destroyed, after any instances of QPointe...
\macro QT_RESTRICTED_CAST_FROM_ASCII
void send(QJsonObject v4Payload)
void setBreakOnThrow(bool onoff)
QV4Debugger * pausedDebugger() const
const QList< QV4Debugger * > & debuggers()
QList< int > breakPointIds(const QString &fileName, int lineNumber) const
void removeAllBreakPoints()
void handleDebuggerDeleted(QObject *debugger)
int addBreakPoint(const QString &fileName, int lineNumber, bool enabled=true, const QString &condition=QString())
void addDebugger(QV4Debugger *debugger)
void removeDebugger(QV4Debugger *debugger)
void clearAllPauseRequests()
void pause(QV4Debugger *debugger) const
void removeBreakPoint(int id)
void enableBreakPoint(int id, bool onoff)
void debuggerPaused(QV4Debugger *debugger, QV4Debugger::PauseReason reason)
QV4::ExecutionEngine * engine() const
void debuggerPaused(QV4Debugger *self, QV4Debugger::PauseReason reason)
void setBreakOnThrow(bool onoff)
const QV4DataCollector * collector() const
void addBreakPoint(const QString &fileName, int lineNumber, const QString &condition=QString())
QSet< QString >::iterator it
Combined button and popup list for selecting options.
constexpr T qAbs(const T &t)
GLenum GLenum GLsizei const GLuint * ids
GLenum GLenum GLsizei const GLuint GLboolean enabled
#define QStringLiteral(str)
myObject disconnect()
[26]
bool contains(const AT &t) const noexcept
CppStackFrame * currentStackFrame