From e44d16e3debcf1295946a4675cb2543a3fa7daec Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 8 Sep 2017 15:36:13 +0200 Subject: [PATCH] Debugger: Remove convenience DebuggerRunTool constructors Use setRunParameters() for now, and individual setters later. Change-Id: If7d044ea249b79ce117897a976659e9302bfc544 Reviewed-by: hjk --- src/plugins/debugger/debuggerplugin.cpp | 11 +++++------ src/plugins/debugger/debuggerruncontrol.cpp | 12 ------------ src/plugins/debugger/debuggerruncontrol.h | 11 ++--------- src/plugins/qnx/qnxattachdebugsupport.cpp | 5 +++-- 4 files changed, 10 insertions(+), 29 deletions(-) diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index a4ad4803f07..f7983e038bf 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -3710,14 +3710,13 @@ void DebuggerUnitTests::testStateMachine() rp.inferior = rc->runnable().as(); rp.testCase = TestNoBoundsOfCurrentFunction; - auto runControl = new RunControl(rc, ProjectExplorer::Constants::DEBUG_RUN_MODE); - auto runTool = new DebuggerRunTool(runControl, rp); + auto debugger = DebuggerRunTool::createFromRunConfiguration(rc); + debugger->setRunParameters(rp); - connect(runTool, &DebuggerRunTool::stopped, this, [] { - QTestEventLoop::instance().exitLoop(); - }); + connect(debugger, &DebuggerRunTool::stopped, + &QTestEventLoop::instance(), &QTestEventLoop::exitLoop); - ProjectExplorerPlugin::startRunControl(runControl); + debugger->startRunControl(); QTestEventLoop::instance().enterLoop(5); } diff --git a/src/plugins/debugger/debuggerruncontrol.cpp b/src/plugins/debugger/debuggerruncontrol.cpp index 1fed2163109..49ef54e242f 100644 --- a/src/plugins/debugger/debuggerruncontrol.cpp +++ b/src/plugins/debugger/debuggerruncontrol.cpp @@ -792,18 +792,6 @@ DebuggerRunTool::DebuggerRunTool(RunControl *runControl) m_runParameters.inferior = r.as(); } -DebuggerRunTool::DebuggerRunTool(RunControl *runControl, const DebuggerStartParameters &sp) - : DebuggerRunTool(runControl) -{ - setRunParameters(sp); -} - -DebuggerRunTool::DebuggerRunTool(RunControl *runControl, const DebuggerRunParameters &rp) - : DebuggerRunTool(runControl) -{ - setRunParameters(rp); -} - void DebuggerRunTool::setRunParameters(const DebuggerRunParameters &rp) { m_runParameters = rp; diff --git a/src/plugins/debugger/debuggerruncontrol.h b/src/plugins/debugger/debuggerruncontrol.h index d9695d94bcb..e4af39ef4cb 100644 --- a/src/plugins/debugger/debuggerruncontrol.h +++ b/src/plugins/debugger/debuggerruncontrol.h @@ -34,19 +34,12 @@ namespace Debugger { -class DebuggerStartParameters; - class DEBUGGER_EXPORT DebuggerRunTool : public ProjectExplorer::RunWorker { Q_OBJECT public: - DebuggerRunTool(ProjectExplorer::RunControl *runControl); // Use. - - DebuggerRunTool(ProjectExplorer::RunControl *runControl, - const DebuggerStartParameters &sp); // Use rarely. - DebuggerRunTool(ProjectExplorer::RunControl *runControl, - const Internal::DebuggerRunParameters &rp); // FIXME: Don't use. + explicit DebuggerRunTool(ProjectExplorer::RunControl *runControl); ~DebuggerRunTool(); void setRunParameters(const Internal::DebuggerRunParameters &rp); // FIXME: Don't use. @@ -55,7 +48,7 @@ public: Internal::DebuggerEngine *activeEngine() const; static DebuggerRunTool *createFromRunConfiguration(ProjectExplorer::RunConfiguration *runConfig); - static DebuggerRunTool *createFromKit(ProjectExplorer::Kit *kit); + static DebuggerRunTool *createFromKit(ProjectExplorer::Kit *kit); // Avoid, it's guessing. void startRunControl(); void showMessage(const QString &msg, int channel = LogDebug, int timeout = -1); diff --git a/src/plugins/qnx/qnxattachdebugsupport.cpp b/src/plugins/qnx/qnxattachdebugsupport.cpp index 43714da762c..e5f15d6d00d 100644 --- a/src/plugins/qnx/qnxattachdebugsupport.cpp +++ b/src/plugins/qnx/qnxattachdebugsupport.cpp @@ -131,11 +131,12 @@ void QnxAttachDebugSupport::attachToProcess() sp.solibSearchPath = QnxUtils::searchPaths(qtVersion); auto runControl = new RunControl(nullptr, ProjectExplorer::Constants::DEBUG_RUN_MODE); - (void) new Debugger::DebuggerRunTool(runControl, sp); + auto debugger = new Debugger::DebuggerRunTool(runControl); + debugger->setRunParameters(sp); // connect(qobject_cast(runControl->toolRunner()), // &Debugger::DebuggerRunTool::stateChanged, // this, &QnxAttachDebugSupport::handleDebuggerStateChanged); - ProjectExplorerPlugin::startRunControl(runControl); + debugger->startRunControl(); } void QnxAttachDebugSupport::handleDebuggerStateChanged(Debugger::DebuggerState state)