summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/debugger/debugger.qbs1
-rw-r--r--src/plugins/debugger/qml/baseqmldebuggerclient.cpp83
-rw-r--r--src/plugins/debugger/qml/baseqmldebuggerclient.h111
-rw-r--r--src/plugins/debugger/qml/qml.pri2
-rw-r--r--src/plugins/debugger/qml/qmladapter.cpp6
-rw-r--r--src/plugins/debugger/qml/qmladapter.h10
-rw-r--r--src/plugins/debugger/qml/qmlengine.cpp12
-rw-r--r--src/plugins/debugger/qml/qmlv8debuggerclient.cpp25
-rw-r--r--src/plugins/debugger/qml/qmlv8debuggerclient.h17
9 files changed, 53 insertions, 214 deletions
diff --git a/src/plugins/debugger/debugger.qbs b/src/plugins/debugger/debugger.qbs
index 0419ddf5c2..cfb777f97c 100644
--- a/src/plugins/debugger/debugger.qbs
+++ b/src/plugins/debugger/debugger.qbs
@@ -145,7 +145,6 @@ QtcPlugin {
name: "QML Debugger"
prefix: "qml/"
files: [
- "baseqmldebuggerclient.cpp", "baseqmldebuggerclient.h",
"interactiveinterpreter.cpp", "interactiveinterpreter.h",
"qmladapter.cpp", "qmladapter.h",
"qmlcppengine.cpp", "qmlcppengine.h",
diff --git a/src/plugins/debugger/qml/baseqmldebuggerclient.cpp b/src/plugins/debugger/qml/baseqmldebuggerclient.cpp
deleted file mode 100644
index 5a7f9287a1..0000000000
--- a/src/plugins/debugger/qml/baseqmldebuggerclient.cpp
+++ /dev/null
@@ -1,83 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms and
-** conditions see http://www.qt.io/terms-conditions. For further information
-** use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 or version 3 as published by the Free
-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
-** following information to ensure the GNU Lesser General Public License
-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, The Qt Company gives you certain additional
-** rights. These rights are described in The Qt Company LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#include "baseqmldebuggerclient.h"
-#include <debugger/breakhandler.h>
-
-#include <utils/qtcassert.h>
-
-namespace Debugger {
-namespace Internal {
-
-class BaseQmlDebuggerClientPrivate
-{
-public:
- QList<QByteArray> sendBuffer;
-};
-
-BaseQmlDebuggerClient::BaseQmlDebuggerClient(QmlDebug::QmlDebugConnection* client, QLatin1String clientName)
- : QmlDebugClient(clientName, client),
- d(new BaseQmlDebuggerClientPrivate())
-{
-}
-
-BaseQmlDebuggerClient::~BaseQmlDebuggerClient()
-{
- delete d;
-}
-
-bool BaseQmlDebuggerClient::acceptsBreakpoint(Breakpoint /*bp*/)
-{
- return false;
-}
-
-void BaseQmlDebuggerClient::stateChanged(State state)
-{
- emit newState(state);
-}
-
-void BaseQmlDebuggerClient::sendMessage(const QByteArray &msg)
-{
- if (state() == Enabled)
- QmlDebugClient::sendMessage(msg);
- else
- d->sendBuffer.append(msg);
-}
-
-void BaseQmlDebuggerClient::flushSendBuffer()
-{
- QTC_ASSERT(state() == Enabled, return);
- foreach (const QByteArray &msg, d->sendBuffer)
- QmlDebugClient::sendMessage(msg);
- d->sendBuffer.clear();
-}
-
-} // Internal
-} // Debugger
diff --git a/src/plugins/debugger/qml/baseqmldebuggerclient.h b/src/plugins/debugger/qml/baseqmldebuggerclient.h
deleted file mode 100644
index 47435fbf99..0000000000
--- a/src/plugins/debugger/qml/baseqmldebuggerclient.h
+++ /dev/null
@@ -1,111 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms and
-** conditions see http://www.qt.io/terms-conditions. For further information
-** use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 or version 3 as published by the Free
-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
-** following information to ensure the GNU Lesser General Public License
-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, The Qt Company gives you certain additional
-** rights. These rights are described in The Qt Company LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#ifndef BASEQMLDEBUGGERCLIENT_H
-#define BASEQMLDEBUGGERCLIENT_H
-
-#include <debugger/debuggerengine.h>
-#include <qmldebug/qmldebugclient.h>
-
-namespace Debugger {
-namespace Internal {
-
-class WatchData;
-class WatchItem;
-class BreakHandler;
-class BreakpointModelId;
-class QmlEngine;
-class BaseQmlDebuggerClientPrivate;
-
-class BaseQmlDebuggerClient : public QmlDebug::QmlDebugClient
-{
- Q_OBJECT
-
-public:
- BaseQmlDebuggerClient(QmlDebug::QmlDebugConnection* client, QLatin1String clientName);
- virtual ~BaseQmlDebuggerClient();
-
- virtual void startSession() = 0;
- virtual void endSession() = 0;
- virtual void resetSession() = 0;
-
- virtual void executeStep() = 0;
- virtual void executeStepOut() = 0;
- virtual void executeNext() = 0;
- virtual void executeStepI() = 0;
-
- virtual void executeRunToLine(const ContextData &data) = 0;
-
- virtual void continueInferior() = 0;
- virtual void interruptInferior() = 0;
-
- virtual void activateFrame(int index) = 0;
-
- virtual bool acceptsBreakpoint(Breakpoint bp);
- virtual void insertBreakpoint(Breakpoint bp, int adjustedLine,
- int adjustedColumn = -1) = 0;
- virtual void removeBreakpoint(Breakpoint bp) = 0;
- virtual void changeBreakpoint(Breakpoint bp) = 0;
- virtual void synchronizeBreakpoints() = 0;
-
- virtual void assignValueInDebugger(const WatchData *data,
- const QString &expression,
- const QVariant &valueV) = 0;
-
- virtual void updateWatchData(const WatchData &data) = 0;
- virtual void executeDebuggerCommand(const QString &command) = 0;
-
- virtual void synchronizeWatchers(const QStringList &watchers) = 0;
-
- virtual void expandObject(const QByteArray &iname, quint64 objectId) = 0;
-
- virtual void setEngine(QmlEngine *engine) = 0;
-
- virtual void getSourceFiles() {}
-
- void flushSendBuffer();
-
-signals:
- void newState(QmlDebug::QmlDebugClient::State state);
- void stackFrameCompleted();
-
-protected:
- virtual void stateChanged(State state);
- void sendMessage(const QByteArray &msg);
-
-private:
- BaseQmlDebuggerClientPrivate *d;
- friend class BaseQmlDebuggerClientPrivate;
-};
-
-} // Internal
-} // Debugger
-
-#endif // BASEQMLDEBUGGERCLIENT_H
diff --git a/src/plugins/debugger/qml/qml.pri b/src/plugins/debugger/qml/qml.pri
index 4d1676fbd3..12d34e0dc8 100644
--- a/src/plugins/debugger/qml/qml.pri
+++ b/src/plugins/debugger/qml/qml.pri
@@ -1,7 +1,6 @@
HEADERS += \
$$PWD/qmlengine.h \
$$PWD/qmladapter.h \
- $$PWD/baseqmldebuggerclient.h \
$$PWD/qmlcppengine.h \
$$PWD/qmlv8debuggerclient.h \
$$PWD/interactiveinterpreter.h \
@@ -12,7 +11,6 @@ HEADERS += \
SOURCES += \
$$PWD/qmlengine.cpp \
$$PWD/qmladapter.cpp \
- $$PWD/baseqmldebuggerclient.cpp \
$$PWD/qmlcppengine.cpp \
$$PWD/qmlv8debuggerclient.cpp \
$$PWD/interactiveinterpreter.cpp \
diff --git a/src/plugins/debugger/qml/qmladapter.cpp b/src/plugins/debugger/qml/qmladapter.cpp
index be843c9b98..c2698bdf17 100644
--- a/src/plugins/debugger/qml/qmladapter.cpp
+++ b/src/plugins/debugger/qml/qmladapter.cpp
@@ -133,7 +133,7 @@ void QmlAdapter::debugClientStateChanged(QmlDebugClient::State state)
QmlDebugClient *client = qobject_cast<QmlDebugClient*>(sender());
QTC_ASSERT(client, return);
- m_qmlClient = qobject_cast<BaseQmlDebuggerClient *>(client);
+ m_qmlClient = qobject_cast<QmlV8DebuggerClient *>(client);
m_qmlClient->startSession();
}
@@ -185,12 +185,12 @@ void QmlAdapter::showConnectionErrorMessage(const QString &message)
m_engine.data()->showMessage(_("QML Debugger: ") + message, LogError);
}
-BaseQmlDebuggerClient *QmlAdapter::activeDebuggerClient() const
+QmlV8DebuggerClient *QmlAdapter::activeDebuggerClient() const
{
return m_qmlClient;
}
-QHash<QString, BaseQmlDebuggerClient*> QmlAdapter::debuggerClients() const
+QHash<QString, QmlV8DebuggerClient*> QmlAdapter::debuggerClients() const
{
return m_debugClients;
}
diff --git a/src/plugins/debugger/qml/qmladapter.h b/src/plugins/debugger/qml/qmladapter.h
index e9f3936878..7e966e4068 100644
--- a/src/plugins/debugger/qml/qmladapter.h
+++ b/src/plugins/debugger/qml/qmladapter.h
@@ -45,7 +45,7 @@ class QDebugMessageClient;
namespace Debugger {
namespace Internal {
-class BaseQmlDebuggerClient;
+class QmlV8DebuggerClient;
class DebuggerEngine;
class QmlAdapterPrivate;
@@ -63,8 +63,8 @@ public:
QmlDebug::QmlDebugConnection *connection() const;
DebuggerEngine *debuggerEngine() const;
- BaseQmlDebuggerClient *activeDebuggerClient() const;
- QHash<QString, BaseQmlDebuggerClient*> debuggerClients() const;
+ QmlV8DebuggerClient *activeDebuggerClient() const;
+ QHash<QString, QmlV8DebuggerClient*> debuggerClients() const;
QmlDebug::QDebugMessageClient *messageClient() const;
@@ -94,10 +94,10 @@ private:
private:
QPointer<DebuggerEngine> m_engine;
- BaseQmlDebuggerClient *m_qmlClient;
+ QmlV8DebuggerClient *m_qmlClient;
QTimer m_connectionTimer;
QmlDebug::QmlDebugConnection *m_conn;
- QHash<QString, BaseQmlDebuggerClient*> m_debugClients;
+ QHash<QString, QmlV8DebuggerClient*> m_debugClients;
QmlDebug::QDebugMessageClient *m_msgClient;
};
diff --git a/src/plugins/debugger/qml/qmlengine.cpp b/src/plugins/debugger/qml/qmlengine.cpp
index c2b2ca3246..ea1aabbb62 100644
--- a/src/plugins/debugger/qml/qmlengine.cpp
+++ b/src/plugins/debugger/qml/qmlengine.cpp
@@ -29,8 +29,8 @@
****************************************************************************/
#include "qmlengine.h"
-#include "baseqmldebuggerclient.h"
#include "qmlinspectoragent.h"
+#include "qmlv8debuggerclient.h"
#include <debugger/debuggeractions.h>
#include <debugger/debuggercore.h>
@@ -821,7 +821,7 @@ void QmlEngine::insertBreakpoint(Breakpoint bp)
if (m_adapter.activeDebuggerClient()) {
m_adapter.activeDebuggerClient()->insertBreakpoint(bp, line, column);
} else {
- foreach (BaseQmlDebuggerClient *client, m_adapter.debuggerClients()) {
+ foreach (QmlV8DebuggerClient *client, m_adapter.debuggerClients()) {
client->insertBreakpoint(bp, line, column);
}
}
@@ -849,7 +849,7 @@ void QmlEngine::removeBreakpoint(Breakpoint bp)
if (m_adapter.activeDebuggerClient()) {
m_adapter.activeDebuggerClient()->removeBreakpoint(bp);
} else {
- foreach (BaseQmlDebuggerClient *client, m_adapter.debuggerClients()) {
+ foreach (QmlV8DebuggerClient *client, m_adapter.debuggerClients()) {
client->removeBreakpoint(bp);
}
}
@@ -867,7 +867,7 @@ void QmlEngine::changeBreakpoint(Breakpoint bp)
if (m_adapter.activeDebuggerClient()) {
m_adapter.activeDebuggerClient()->changeBreakpoint(bp);
} else {
- foreach (BaseQmlDebuggerClient *client, m_adapter.debuggerClients()) {
+ foreach (QmlV8DebuggerClient *client, m_adapter.debuggerClients()) {
client->changeBreakpoint(bp);
}
}
@@ -922,7 +922,7 @@ void QmlEngine::attemptBreakpointSynchronization()
if (m_adapter.activeDebuggerClient()) {
m_adapter.activeDebuggerClient()->synchronizeBreakpoints();
} else {
- foreach (BaseQmlDebuggerClient *client, m_adapter.debuggerClients()) {
+ foreach (QmlV8DebuggerClient *client, m_adapter.debuggerClients()) {
client->synchronizeBreakpoints();
}
}
@@ -1035,7 +1035,7 @@ void QmlEngine::synchronizeWatchers()
if (m_adapter.activeDebuggerClient()) {
m_adapter.activeDebuggerClient()->synchronizeWatchers(watchedExpressions);
} else {
- foreach (BaseQmlDebuggerClient *client, m_adapter.debuggerClients())
+ foreach (QmlV8DebuggerClient *client, m_adapter.debuggerClients())
client->synchronizeWatchers(watchedExpressions);
}
}
diff --git a/src/plugins/debugger/qml/qmlv8debuggerclient.cpp b/src/plugins/debugger/qml/qmlv8debuggerclient.cpp
index c821da13a0..33577f5257 100644
--- a/src/plugins/debugger/qml/qmlv8debuggerclient.cpp
+++ b/src/plugins/debugger/qml/qmlv8debuggerclient.cpp
@@ -138,6 +138,8 @@ public:
QHash<int, int> stackIndexLookup;
QmlV8DebuggerClient::StepAction previousStepAction;
+
+ QList<QByteArray> sendBuffer;
};
///////////////////////////////////////////////////////////////////////
@@ -745,7 +747,7 @@ void QmlV8DebuggerClientPrivate::logReceiveMessage(const QString &msg) const
///////////////////////////////////////////////////////////////////////
QmlV8DebuggerClient::QmlV8DebuggerClient(QmlDebug::QmlDebugConnection *client)
- : BaseQmlDebuggerClient(client, QLatin1String("V8Debugger")),
+ : QmlDebugClient(QLatin1String("V8Debugger"), client),
d(new QmlV8DebuggerClientPrivate(this))
{
}
@@ -1795,5 +1797,26 @@ void QmlV8DebuggerClient::clearExceptionSelection()
}
+void QmlV8DebuggerClient::stateChanged(State state)
+{
+ emit newState(state);
+}
+
+void QmlV8DebuggerClient::sendMessage(const QByteArray &msg)
+{
+ if (state() == Enabled)
+ QmlDebugClient::sendMessage(msg);
+ else
+ d->sendBuffer.append(msg);
+}
+
+void QmlV8DebuggerClient::flushSendBuffer()
+{
+ QTC_ASSERT(state() == Enabled, return);
+ foreach (const QByteArray &msg, d->sendBuffer)
+ QmlDebugClient::sendMessage(msg);
+ d->sendBuffer.clear();
+}
+
} // Internal
} // Debugger
diff --git a/src/plugins/debugger/qml/qmlv8debuggerclient.h b/src/plugins/debugger/qml/qmlv8debuggerclient.h
index ae78443e77..5adb989efe 100644
--- a/src/plugins/debugger/qml/qmlv8debuggerclient.h
+++ b/src/plugins/debugger/qml/qmlv8debuggerclient.h
@@ -31,14 +31,18 @@
#ifndef QMLV8DEBUGGERCLIENT_H
#define QMLV8DEBUGGERCLIENT_H
-#include "baseqmldebuggerclient.h"
+#include <debugger/debuggerengine.h>
+#include <qmldebug/qmldebugclient.h>
namespace Debugger {
namespace Internal {
+class WatchData;
+class WatchItem;
+class QmlEngine;
class QmlV8DebuggerClientPrivate;
-class QmlV8DebuggerClient : public BaseQmlDebuggerClient
+class QmlV8DebuggerClient : public QmlDebug::QmlDebugClient
{
Q_OBJECT
@@ -99,6 +103,15 @@ public:
void getSourceFiles();
+ void flushSendBuffer();
+
+ void stateChanged(State state);
+ void sendMessage(const QByteArray &msg);
+
+signals:
+ void newState(QmlDebug::QmlDebugClient::State state);
+ void stackFrameCompleted();
+
protected:
void messageReceived(const QByteArray &data);