diff options
author | Ulf Hermann <ulf.hermann@theqtcompany.com> | 2015-08-18 14:39:13 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@theqtcompany.com> | 2015-09-15 15:25:47 +0000 |
commit | 03fa8422294fee7a71f502f1cdf5e4300a2630fe (patch) | |
tree | b26c08999681bb08467c7ff7da9e0e46924a15b9 /src/plugins/qmltooling | |
parent | e821115888f0e6b176d6c45eec507920eee514c8 (diff) |
V4 Debugger: Eliminate sourcesCollected signals and slots
There is no real reason to handle the "scripts" command like this.
Change-Id: I640d878ea9d8cd449e73bf4b90fcf2ef3d68a963
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Diffstat (limited to 'src/plugins/qmltooling')
5 files changed, 23 insertions, 39 deletions
diff --git a/src/plugins/qmltooling/qmldbg_debugger/qv4datacollector.cpp b/src/plugins/qmltooling/qmldbg_debugger/qv4datacollector.cpp index 2ef7713ac7..ff29814de6 100644 --- a/src/plugins/qmltooling/qmldbg_debugger/qv4datacollector.cpp +++ b/src/plugins/qmltooling/qmldbg_debugger/qv4datacollector.cpp @@ -348,23 +348,22 @@ const QString &ExpressionEvalJob::exceptionMessage() const return exception; } -GatherSourcesJob::GatherSourcesJob(QV4::ExecutionEngine *engine, int seq) +GatherSourcesJob::GatherSourcesJob(QV4::ExecutionEngine *engine) : engine(engine) - , seq(seq) {} void GatherSourcesJob::run() { - QStringList sources; - foreach (QV4::CompiledData::CompilationUnit *unit, engine->compilationUnits) { QString fileName = unit->fileName(); if (!fileName.isEmpty()) sources.append(fileName); } +} - QV4::Debugging::Debugger *debugger = engine->debugger; - emit debugger->sourcesCollected(debugger, sources, seq); +const QStringList &GatherSourcesJob::result() const +{ + return sources; } ArgumentCollectJob::ArgumentCollectJob(QV4::ExecutionEngine *engine, QV4DataCollector *collector, diff --git a/src/plugins/qmltooling/qmldbg_debugger/qv4datacollector.h b/src/plugins/qmltooling/qmldbg_debugger/qv4datacollector.h index 7d26d71bdf..39aed5b868 100644 --- a/src/plugins/qmltooling/qmldbg_debugger/qv4datacollector.h +++ b/src/plugins/qmltooling/qmldbg_debugger/qv4datacollector.h @@ -116,11 +116,12 @@ public: class GatherSourcesJob: public QV4::Debugging::Debugger::Job { QV4::ExecutionEngine *engine; - const int seq; + QStringList sources; public: - GatherSourcesJob(QV4::ExecutionEngine *engine, int seq); + GatherSourcesJob(QV4::ExecutionEngine *engine); void run(); + const QStringList &result() const; }; class ArgumentCollectJob: public QV4::Debugging::Debugger::Job diff --git a/src/plugins/qmltooling/qmldbg_debugger/qv4debuggeragent.cpp b/src/plugins/qmltooling/qmldbg_debugger/qv4debuggeragent.cpp index 7f22b16e45..270a6958a9 100644 --- a/src/plugins/qmltooling/qmldbg_debugger/qv4debuggeragent.cpp +++ b/src/plugins/qmltooling/qmldbg_debugger/qv4debuggeragent.cpp @@ -105,27 +105,6 @@ void QV4DebuggerAgent::debuggerPaused(QV4::Debugging::Debugger *debugger, m_debugService->send(event); } -void QV4DebuggerAgent::sourcesCollected(QV4::Debugging::Debugger *debugger, - const QStringList &sources, int requestSequenceNr) -{ - QJsonArray body; - foreach (const QString &source, sources) { - QJsonObject src; - src[QLatin1String("name")] = source; - src[QLatin1String("scriptType")] = 4; - body.append(src); - } - - QJsonObject response; - response[QLatin1String("success")] = true; - response[QLatin1String("running")] = debugger->state() == QV4::Debugging::Debugger::Running; - response[QLatin1String("body")] = body; - response[QLatin1String("command")] = QStringLiteral("scripts"); - response[QLatin1String("request_seq")] = requestSequenceNr; - response[QLatin1String("type")] = QStringLiteral("response"); - m_debugService->send(response); -} - void QV4DebuggerAgent::addDebugger(QV4::Debugging::Debugger *debugger) { Q_ASSERT(!m_debuggers.contains(debugger)); @@ -139,9 +118,6 @@ void QV4DebuggerAgent::addDebugger(QV4::Debugging::Debugger *debugger) connect(debugger, SIGNAL(destroyed(QObject*)), this, SLOT(handleDebuggerDeleted(QObject*))); - connect(debugger, SIGNAL(sourcesCollected(QV4::Debugging::Debugger*,QStringList,int)), - this, SLOT(sourcesCollected(QV4::Debugging::Debugger*,QStringList,int)), - Qt::QueuedConnection); connect(debugger, SIGNAL(debuggerPaused(QV4::Debugging::Debugger*,QV4::Debugging::PauseReason)), this, SLOT(debuggerPaused(QV4::Debugging::Debugger*,QV4::Debugging::PauseReason)), Qt::QueuedConnection); @@ -152,8 +128,6 @@ void QV4DebuggerAgent::removeDebugger(QV4::Debugging::Debugger *debugger) m_debuggers.removeAll(debugger); disconnect(debugger, SIGNAL(destroyed(QObject*)), this, SLOT(handleDebuggerDeleted(QObject*))); - disconnect(debugger, SIGNAL(sourcesCollected(QV4::Debugging::Debugger*,QStringList,int)), - this, SLOT(sourcesCollected(QV4::Debugging::Debugger*,QStringList,int))); disconnect(debugger, SIGNAL(debuggerPaused(QV4::Debugging::Debugger*,QV4::Debugging::PauseReason)), this, diff --git a/src/plugins/qmltooling/qmldbg_debugger/qv4debuggeragent.h b/src/plugins/qmltooling/qmldbg_debugger/qv4debuggeragent.h index 6126eea772..64cf0e3d60 100644 --- a/src/plugins/qmltooling/qmldbg_debugger/qv4debuggeragent.h +++ b/src/plugins/qmltooling/qmldbg_debugger/qv4debuggeragent.h @@ -66,8 +66,6 @@ public: public slots: void debuggerPaused(QV4::Debugging::Debugger *debugger, QV4::Debugging::PauseReason reason); - void sourcesCollected(QV4::Debugging::Debugger *debugger, const QStringList &sources, - int requestSequenceNr); void handleDebuggerDeleted(QObject *debugger); private: diff --git a/src/plugins/qmltooling/qmldbg_debugger/qv4debugservice.cpp b/src/plugins/qmltooling/qmldbg_debugger/qv4debugservice.cpp index a4ed570927..92957f741c 100644 --- a/src/plugins/qmltooling/qmldbg_debugger/qv4debugservice.cpp +++ b/src/plugins/qmltooling/qmldbg_debugger/qv4debugservice.cpp @@ -102,7 +102,7 @@ protected: void addCommand() { response.insert(QStringLiteral("command"), cmd); } void addRequestSequence() { response.insert(QStringLiteral("request_seq"), seq); } void addSuccess(bool success) { response.insert(QStringLiteral("success"), success); } - void addBody(const QJsonObject &body) + void addBody(const QJsonValue &body) { response.insert(QStringLiteral("body"), body); } @@ -506,10 +506,22 @@ public: // do it: QV4::Debugging::Debugger *debugger = debugService->debuggerAgent.firstDebugger(); - GatherSourcesJob job(debugger->engine(), requestSequenceNr()); + GatherSourcesJob job(debugger->engine()); debugger->runInEngine(&job); - // response will be send by + QJsonArray body; + foreach (const QString &source, job.result()) { + QJsonObject src; + src[QLatin1String("name")] = source; + src[QLatin1String("scriptType")] = 4; + body.append(src); + } + + addSuccess(true); + addRunning(); + addBody(body); + addCommand(); + addRequestSequence(); } }; |