Analyzer: Remove AnalyzerStartParameters from AnalyzerRunControl ctor

Change-Id: I0f7e982a9144469869e0c42daedfb411789511ca
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
This commit is contained in:
hjk
2016-01-19 09:13:57 +01:00
parent 51f5b1e01b
commit abe08966a4
16 changed files with 65 additions and 66 deletions

View File

@@ -39,9 +39,8 @@ using namespace Analyzer;
using namespace Valgrind;
using namespace Valgrind::Internal;
CallgrindRunControl::CallgrindRunControl(const AnalyzerStartParameters &sp,
ProjectExplorer::RunConfiguration *runConfiguration)
: ValgrindRunControl(sp, runConfiguration, CALLGRIND_RUN_MODE)
CallgrindRunControl::CallgrindRunControl(ProjectExplorer::RunConfiguration *runConfiguration)
: ValgrindRunControl(runConfiguration, CALLGRIND_RUN_MODE)
, m_markAsPaused(false)
{
connect(&m_runner, &Callgrind::CallgrindRunner::finished,

View File

@@ -39,8 +39,7 @@ class CallgrindRunControl : public ValgrindRunControl
Q_OBJECT
public:
CallgrindRunControl(const Analyzer::AnalyzerStartParameters &sp,
ProjectExplorer::RunConfiguration *runConfiguration);
CallgrindRunControl(ProjectExplorer::RunConfiguration *runConfiguration);
bool startEngine();

View File

@@ -116,8 +116,7 @@ public:
void doClear(bool clearParseData);
void updateEventCombo();
ValgrindRunControl *createRunControl(const AnalyzerStartParameters &sp,
RunConfiguration *runConfiguration = 0);
ValgrindRunControl *createRunControl(RunConfiguration *runConfiguration = 0);
signals:
void cycleDetectionEnabled(bool enabled);
@@ -510,16 +509,14 @@ CallgrindTool::~CallgrindTool()
delete d;
}
ValgrindRunControl *CallgrindTool::createRunControl(const AnalyzerStartParameters &sp,
RunConfiguration *runConfiguration)
ValgrindRunControl *CallgrindTool::createRunControl(RunConfiguration *runConfiguration)
{
return d->createRunControl(sp, runConfiguration);
return d->createRunControl(runConfiguration);
}
ValgrindRunControl *CallgrindToolPrivate::createRunControl(const AnalyzerStartParameters &sp,
RunConfiguration *runConfiguration)
ValgrindRunControl *CallgrindToolPrivate::createRunControl(RunConfiguration *runConfiguration)
{
CallgrindRunControl *rc = new CallgrindRunControl(sp, runConfiguration);
auto rc = new CallgrindRunControl(runConfiguration);
connect(rc, &CallgrindRunControl::parserDataReady,
this, &CallgrindToolPrivate::takeParserDataFromRunControl);

View File

@@ -48,8 +48,7 @@ public:
CallgrindTool(QObject *parent);
~CallgrindTool();
ValgrindRunControl *createRunControl(const Analyzer::AnalyzerStartParameters &sp,
ProjectExplorer::RunConfiguration *runConfiguration = 0);
ValgrindRunControl *createRunControl(ProjectExplorer::RunConfiguration *runConfiguration = 0);
QWidget *createWidgets();
public slots:

View File

@@ -51,9 +51,8 @@ using namespace Valgrind::XmlProtocol;
namespace Valgrind {
namespace Internal {
MemcheckRunControl::MemcheckRunControl(const AnalyzerStartParameters &sp,
RunConfiguration *runConfiguration, Core::Id runMode)
: ValgrindRunControl(sp, runConfiguration, runMode)
MemcheckRunControl::MemcheckRunControl(RunConfiguration *runConfiguration, Core::Id runMode)
: ValgrindRunControl(runConfiguration, runMode)
{
connect(&m_parser, &XmlProtocol::ThreadedParser::error,
this, &MemcheckRunControl::parserError);
@@ -129,9 +128,8 @@ QStringList MemcheckRunControl::suppressionFiles() const
return m_settings->suppressionFiles();
}
MemcheckWithGdbRunControl::MemcheckWithGdbRunControl(const AnalyzerStartParameters &sp,
RunConfiguration *runConfiguration)
: MemcheckRunControl(sp, runConfiguration, MEMCHECK_WITH_GDB_RUN_MODE)
MemcheckWithGdbRunControl::MemcheckWithGdbRunControl(RunConfiguration *runConfiguration)
: MemcheckRunControl(runConfiguration, MEMCHECK_WITH_GDB_RUN_MODE)
{
connect(&m_runner, &Memcheck::MemcheckRunner::started,
this, &MemcheckWithGdbRunControl::startDebugger);

View File

@@ -40,8 +40,7 @@ class MemcheckRunControl : public ValgrindRunControl
Q_OBJECT
public:
MemcheckRunControl(const Analyzer::AnalyzerStartParameters &sp,
ProjectExplorer::RunConfiguration *runConfiguration,
MemcheckRunControl(ProjectExplorer::RunConfiguration *runConfiguration,
Core::Id runMode);
bool startEngine() override;
@@ -69,8 +68,7 @@ class MemcheckWithGdbRunControl : public MemcheckRunControl
Q_OBJECT
public:
MemcheckWithGdbRunControl(const Analyzer::AnalyzerStartParameters &sp,
ProjectExplorer::RunConfiguration *runConfiguration);
MemcheckWithGdbRunControl(ProjectExplorer::RunConfiguration *runConfiguration);
protected:
QStringList toolArguments() const override;

View File

@@ -423,8 +423,7 @@ QWidget *MemcheckTool::createWidgets()
return widget;
}
MemcheckRunControl *MemcheckTool::createRunControl(const AnalyzerStartParameters &sp,
RunConfiguration *runConfiguration,
MemcheckRunControl *MemcheckTool::createRunControl(RunConfiguration *runConfiguration,
Core::Id runMode)
{
m_frameFinder->setFiles(runConfiguration ? runConfiguration->target()
@@ -432,9 +431,9 @@ MemcheckRunControl *MemcheckTool::createRunControl(const AnalyzerStartParameters
MemcheckRunControl *engine = 0;
if (runMode == MEMCHECK_RUN_MODE)
engine = new MemcheckRunControl(sp, runConfiguration, runMode);
engine = new MemcheckRunControl(runConfiguration, runMode);
else
engine = new MemcheckWithGdbRunControl(sp, runConfiguration);
engine = new MemcheckWithGdbRunControl(runConfiguration);
connect(engine, &MemcheckRunControl::starting, this, &MemcheckTool::engineStarting);
connect(engine, &MemcheckRunControl::parserError, this, &MemcheckTool::parserError);
connect(engine, &MemcheckRunControl::internalParserError, this, &MemcheckTool::internalParserError);

View File

@@ -85,8 +85,7 @@ public:
QWidget *createWidgets();
MemcheckRunControl *createRunControl(const Analyzer::AnalyzerStartParameters &sp,
ProjectExplorer::RunConfiguration *runConfiguration,
MemcheckRunControl *createRunControl(ProjectExplorer::RunConfiguration *runConfiguration,
Core::Id runMode);
private slots:

View File

@@ -49,9 +49,8 @@ using namespace ProjectExplorer;
namespace Valgrind {
namespace Internal {
ValgrindRunControl::ValgrindRunControl(const AnalyzerStartParameters &sp,
RunConfiguration *runConfiguration, Core::Id runMode)
: AnalyzerRunControl(sp, runConfiguration, runMode),
ValgrindRunControl::ValgrindRunControl(RunConfiguration *runConfiguration, Core::Id runMode)
: AnalyzerRunControl(runConfiguration, runMode),
m_settings(0),
m_isStopping(false)
{

View File

@@ -43,8 +43,7 @@ class ValgrindRunControl : public Analyzer::AnalyzerRunControl
Q_OBJECT
public:
ValgrindRunControl(const Analyzer::AnalyzerStartParameters &sp,
ProjectExplorer::RunConfiguration *runConfiguration,
ValgrindRunControl(ProjectExplorer::RunConfiguration *runConfiguration,
Core::Id runMode);
~ValgrindRunControl();

View File

@@ -133,7 +133,10 @@ void ValgrindPlugin::extensionsInitialized()
auto cgWidgetCreator = [cgTool] { return cgTool->createWidgets(); };
auto cgRunControlCreator = [cgTool](const AnalyzerStartParameters &sp,
RunConfiguration *runConfiguration, Core::Id) {
return cgTool->createRunControl(sp, runConfiguration);
auto runControl = cgTool->createRunControl(runConfiguration);
runControl->setRunnable(AnalyzerRunnable(sp));
runControl->setConnection(AnalyzerConnection(sp));
return runControl;
};
if (!Utils::HostOsInfo::isWindowsHost()) {
@@ -141,8 +144,14 @@ void ValgrindPlugin::extensionsInitialized()
action->setActionId("Memcheck.Local");
action->setToolId("Memcheck");
action->setWidgetCreator(mcWidgetCreator);
action->setRunControlCreator(std::bind(&MemcheckTool::createRunControl,
mcTool, _1, _2, MEMCHECK_RUN_MODE));
action->setRunControlCreator([mcTool](const AnalyzerStartParameters &sp,
ProjectExplorer::RunConfiguration *runConfig, Core::Id runMode)
{
auto runControl = mcTool->createRunControl(runConfig, runMode);
runControl->setRunnable(AnalyzerRunnable(sp));
runControl->setConnection(AnalyzerConnection(sp));
return runControl;
});
action->setToolMode(DebugMode);
action->setRunMode(MEMCHECK_RUN_MODE);
action->setText(tr("Valgrind Memory Analyzer"));
@@ -156,8 +165,14 @@ void ValgrindPlugin::extensionsInitialized()
action->setActionId("MemcheckWithGdb.Local");
action->setToolId("MemcheckWithGdb");
action->setWidgetCreator([mcgTool] { return mcgTool->createWidgets(); });
action->setRunControlCreator(std::bind(&MemcheckTool::createRunControl,
mcgTool, _1, _2, MEMCHECK_WITH_GDB_RUN_MODE));
action->setRunControlCreator([mcgTool](const AnalyzerStartParameters &sp,
ProjectExplorer::RunConfiguration *runConfig, Core::Id runMode)
{
auto runControl = mcgTool->createRunControl(runConfig, runMode);
runControl->setRunnable(AnalyzerRunnable(sp));
runControl->setConnection(AnalyzerConnection(sp));
return runControl;
});
action->setToolMode(DebugMode);
action->setRunMode(MEMCHECK_WITH_GDB_RUN_MODE);
action->setText(tr("Valgrind Memory Analyzer with GDB"));
@@ -190,12 +205,15 @@ void ValgrindPlugin::extensionsInitialized()
StartRemoteDialog dlg;
if (dlg.exec() != QDialog::Accepted)
return;
AnalyzerStartParameters sp;
sp.connParams = dlg.sshParams();
sp.debuggee = dlg.executable();
sp.debuggeeArgs = dlg.arguments();
ValgrindRunControl *rc = mcTool->createRunControl(sp, 0, MEMCHECK_RUN_MODE);
ValgrindRunControl *rc = mcTool->createRunControl(0, MEMCHECK_RUN_MODE);
QTC_ASSERT(rc, return);
AnalyzerRunnable runnable;
runnable.debuggee = dlg.executable();
runnable.debuggeeArgs = dlg.arguments();
rc->setRunnable(runnable);
AnalyzerConnection connection;
connection.connParams = dlg.sshParams();
rc->setConnection(connection);
rc->setDisplayName(dlg.executable());
rc->setWorkingDirectory(dlg.workingDirectory());
rc->setCustomStart();
@@ -214,12 +232,15 @@ void ValgrindPlugin::extensionsInitialized()
StartRemoteDialog dlg;
if (dlg.exec() != QDialog::Accepted)
return;
AnalyzerStartParameters sp;
sp.connParams = dlg.sshParams();
sp.debuggee = dlg.executable();
sp.debuggeeArgs = dlg.arguments();
ValgrindRunControl *rc = cgTool->createRunControl(sp, 0);
ValgrindRunControl *rc = cgTool->createRunControl(0);
QTC_ASSERT(rc, return);
AnalyzerRunnable runnable;
runnable.debuggee = dlg.executable();
runnable.debuggeeArgs = dlg.arguments();
rc->setRunnable(runnable);
AnalyzerConnection connection;
connection.connParams = dlg.sshParams();
rc->setConnection(connection);
rc->setDisplayName(dlg.executable());
rc->setWorkingDirectory(dlg.workingDirectory());
rc->setCustomStart();