diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp
index c077b64a2f3caec67795c7582c87be05a290e87c..d198a9a72566a8e1e9261255b78ba1460f78edb6 100644
--- a/src/plugins/debugger/debuggerengine.cpp
+++ b/src/plugins/debugger/debuggerengine.cpp
@@ -1237,11 +1237,6 @@ void DebuggerEngine::attemptBreakpointSynchronization()
         d->m_disassemblerViewAgent.updateBreakpointMarkers();
 }
 
-bool DebuggerEngine::acceptsBreakpoint(BreakpointId) const
-{
-    return true;
-}
-
 void DebuggerEngine::insertBreakpoint(BreakpointId)
 {
     QTC_ASSERT(false, /**/);
diff --git a/src/plugins/debugger/debuggerengine.h b/src/plugins/debugger/debuggerengine.h
index b8f4eba04f49359aeb73f86c47a720750bcf6b29..af29b47277010e78b9a04f0fda9f7b53388889ef 100644
--- a/src/plugins/debugger/debuggerengine.h
+++ b/src/plugins/debugger/debuggerengine.h
@@ -188,7 +188,7 @@ public:
 
     virtual bool stateAcceptsBreakpointChanges() const { return true; }
     virtual void attemptBreakpointSynchronization();
-    virtual bool acceptsBreakpoint(BreakpointId id) const;  // FIXME: make pure
+    virtual bool acceptsBreakpoint(BreakpointId id) const = 0;
     virtual void insertBreakpoint(BreakpointId id);  // FIXME: make pure
     virtual void removeBreakpoint(BreakpointId id);  // FIXME: make pure
     virtual void changeBreakpoint(BreakpointId id);  // FIXME: make pure
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index 75faf27b88f30da59b49afb1f452353ed913a454..2d75be180b9d8af644dea8a33c87fc08d2f3ff29 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -475,15 +475,16 @@ class DummyEngine : public DebuggerEngine
 
 public:
     DummyEngine() : DebuggerEngine(DebuggerStartParameters()) {}
-    virtual ~DummyEngine() {}
-
-    virtual void setupEngine() {}
-    virtual void setupInferior() {}
-    virtual void runEngine() {}
-    virtual void shutdownEngine() {}
-    virtual void shutdownInferior() {}
-    virtual void executeDebuggerCommand(const QString &) {}
-    virtual unsigned debuggerCapabilities() const { return 0; }
+    ~DummyEngine() {}
+
+    void setupEngine() {}
+    void setupInferior() {}
+    void runEngine() {}
+    void shutdownEngine() {}
+    void shutdownInferior() {}
+    void executeDebuggerCommand(const QString &) {}
+    unsigned debuggerCapabilities() const { return 0; }
+    bool acceptsBreakpoint(BreakpointId) const { return false; }
 };
 
 static DebuggerEngine *dummyEngine()
diff --git a/src/plugins/debugger/lldb/ipcenginehost.h b/src/plugins/debugger/lldb/ipcenginehost.h
index a36508bdf876532f78c65e1ba047ce4587b9e0f5..5bedd98cf4daed3668215e34ccc41e5d86a3b086 100644
--- a/src/plugins/debugger/lldb/ipcenginehost.h
+++ b/src/plugins/debugger/lldb/ipcenginehost.h
@@ -104,6 +104,7 @@ public:
     void activateFrame(int index);
     void selectThread(int index);
     void fetchDisassembler(DisassemblerViewAgent *);
+    bool acceptsBreakpoint(BreakpointId) const { return true; } // FIXME
     void insertBreakpoint(BreakpointId id);
     void removeBreakpoint(BreakpointId id);
     void changeBreakpoint(BreakpointId id);
diff --git a/src/plugins/debugger/lldb/lldbenginehost.cpp b/src/plugins/debugger/lldb/lldbenginehost.cpp
index 01bb358148c132967181ed2c37c3188b787c052d..42a8d22cac9f1c5038281151b0808687ec19a177 100644
--- a/src/plugins/debugger/lldb/lldbenginehost.cpp
+++ b/src/plugins/debugger/lldb/lldbenginehost.cpp
@@ -96,7 +96,7 @@ LLDBEngineHost::~LLDBEngineHost()
     m_guestp->kill();
 }
 
-void LLDBEngineHost::finished (int, QProcess::ExitStatus)
+void LLDBEngineHost::finished(int, QProcess::ExitStatus)
 {
     showStatusMessage(QLatin1String("lldb crashed"));
     notifyEngineIll();
diff --git a/src/plugins/debugger/qml/qmlcppengine.cpp b/src/plugins/debugger/qml/qmlcppengine.cpp
index 35c49fef75b2fd9ed08663198903ca980f944aff..eeb83f97dae48272538e73647f98b04735d334b1 100644
--- a/src/plugins/debugger/qml/qmlcppengine.cpp
+++ b/src/plugins/debugger/qml/qmlcppengine.cpp
@@ -242,7 +242,7 @@ void QmlCppEngine::attemptBreakpointSynchronization()
     static_cast<DebuggerEngine*>(d->m_qmlEngine)->attemptBreakpointSynchronization();
 }
 
-bool QmlCppEngine::acceptsBreakpoint(BreakpointId id)
+bool QmlCppEngine::acceptsBreakpoint(BreakpointId id) const
 {
     return d->m_cppEngine->acceptsBreakpoint(id)
         || d->m_qmlEngine->acceptsBreakpoint(id);
diff --git a/src/plugins/debugger/qml/qmlcppengine.h b/src/plugins/debugger/qml/qmlcppengine.h
index 135ca6c602b8bf71a81379e9ba41e416a392c7dc..839ed200f2a3c1c75ade83b3741e261d036f3bb7 100644
--- a/src/plugins/debugger/qml/qmlcppengine.h
+++ b/src/plugins/debugger/qml/qmlcppengine.h
@@ -56,10 +56,10 @@ public:
     virtual void updateAll();
 
     virtual void attemptBreakpointSynchronization();
-    virtual bool acceptsBreakpoint(BreakpointId id);
+    virtual bool acceptsBreakpoint(BreakpointId id) const;
     virtual void selectThread(int index);
 
-    virtual void assignValueInDebugger(const Internal::WatchData *w,
+    virtual void assignValueInDebugger(const Internal::WatchData *data,
         const QString &expr, const QVariant &value);
 
     QAbstractItemModel *modulesModel() const;
diff --git a/src/plugins/debugger/qml/qmlengine.cpp b/src/plugins/debugger/qml/qmlengine.cpp
index f6a24a6c56c39ef44b4b6ba2cf0c01027ae3020a..0bd66f02ed769213f6c5dbcb836bd8e479df6e37 100644
--- a/src/plugins/debugger/qml/qmlengine.cpp
+++ b/src/plugins/debugger/qml/qmlengine.cpp
@@ -494,7 +494,7 @@ void QmlEngine::attemptBreakpointSynchronization()
     sendMessage(reply);
 }
 
-bool QmlEngine::acceptsBreakpoint(BreakpointId id)
+bool QmlEngine::acceptsBreakpoint(BreakpointId id) const
 {
     const QString fileName = breakHandler()->fileName(id);
     return fileName.endsWith(QLatin1String(".qml"))
diff --git a/src/plugins/debugger/qml/qmlengine.h b/src/plugins/debugger/qml/qmlengine.h
index b8ebe4098b59f4b929ae3321cada61fc9adc38f5..e1e952fa38e6665eb2fd1fa52fb69161ee0c8c6a 100644
--- a/src/plugins/debugger/qml/qmlengine.h
+++ b/src/plugins/debugger/qml/qmlengine.h
@@ -93,7 +93,7 @@ private:
     void selectThread(int index);
 
     void attemptBreakpointSynchronization();
-    bool acceptsBreakpoint(BreakpointId id);
+    bool acceptsBreakpoint(BreakpointId id) const;
 
     void assignValueInDebugger(const Internal::WatchData *data,
         const QString &expr, const QVariant &value);
diff --git a/src/plugins/debugger/script/scriptengine.cpp b/src/plugins/debugger/script/scriptengine.cpp
index 28db907659fa8b64b8634d0a668c58c30ecc0e59..8b5d349964f73a1f7ae6b4b5e5ef51ccec24fc8b 100644
--- a/src/plugins/debugger/script/scriptengine.cpp
+++ b/src/plugins/debugger/script/scriptengine.cpp
@@ -447,6 +447,12 @@ void ScriptEngine::selectThread(int index)
     Q_UNUSED(index)
 }
 
+bool ScriptEngine::acceptsBreakpoint(BreakpointId id) const
+{
+    const QString fileName = breakHandler()->fileName(id);
+    return fileName.endsWith(QLatin1String(".js"));
+}
+
 void ScriptEngine::attemptBreakpointSynchronization()
 {
     QTC_ASSERT(false, /* FIXME */);
diff --git a/src/plugins/debugger/script/scriptengine.h b/src/plugins/debugger/script/scriptengine.h
index d73a2e034f0277cce14b8e718d4b02cc892c3eb9..e2507c36489e7b7a464dc2a59183422f4e2b3855 100644
--- a/src/plugins/debugger/script/scriptengine.h
+++ b/src/plugins/debugger/script/scriptengine.h
@@ -87,6 +87,7 @@ private:
     void activateFrame(int index);
     void selectThread(int index);
 
+    bool acceptsBreakpoint(BreakpointId id) const;
     void attemptBreakpointSynchronization();
 
     void assignValueInDebugger(const WatchData *w,
diff --git a/src/plugins/debugger/tcf/tcfengine.h b/src/plugins/debugger/tcf/tcfengine.h
index f674606615868d72469ebdad54631fc0885c2197..26d0241d2043c9e8267b7502ad19867550a4e441 100644
--- a/src/plugins/debugger/tcf/tcfengine.h
+++ b/src/plugins/debugger/tcf/tcfengine.h
@@ -92,8 +92,10 @@ private:
     void selectThread(int index);
 
     void attemptBreakpointSynchronization();
+    bool acceptsBreakpoint(BreakpointId) const { return false; }
 
-    void assignValueInDebugger(const Internal::WatchData *w, const QString &expr, const QVariant &value);
+    void assignValueInDebugger(const WatchData *data,
+        const QString &expr, const QVariant &value);
     void executeDebuggerCommand(const QString &command);
 
     void loadSymbols(const QString &moduleName);