From 18bd8b8af622bc4a7815732bae7098e9cdb1fafd Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 5 Jan 2016 08:58:01 +0100 Subject: Adjust after upstream AnalyzerStartParameter changes Change-Id: I92a6dcee0c201905132e069291eb40e6da6da128 Reviewed-by: Nikolai Kosjar --- .../clangstaticanalyzerplugin.cpp | 4 ++-- .../clangstaticanalyzerruncontrol.cpp | 21 +++++++++++++-------- .../clangstaticanalyzerruncontrol.h | 9 ++++++--- .../clangstaticanalyzerruncontrolfactory.cpp | 9 +-------- .../clangstaticanalyzer/clangstaticanalyzertool.cpp | 7 ++++--- .../clangstaticanalyzer/clangstaticanalyzertool.h | 3 ++- 6 files changed, 28 insertions(+), 25 deletions(-) diff --git a/plugins/clangstaticanalyzer/clangstaticanalyzerplugin.cpp b/plugins/clangstaticanalyzer/clangstaticanalyzerplugin.cpp index 2fb20ea644..ea259b019c 100644 --- a/plugins/clangstaticanalyzer/clangstaticanalyzerplugin.cpp +++ b/plugins/clangstaticanalyzer/clangstaticanalyzerplugin.cpp @@ -130,8 +130,8 @@ bool ClangStaticAnalyzerPlugin::initializeEnterpriseFeatures(const QStringList & auto widgetCreator = [tool] { return tool->createWidgets(); }; auto runControlCreator = [tool](const AnalyzerStartParameters &sp, - ProjectExplorer::RunConfiguration *runConfiguration) { - return tool->createRunControl(sp, runConfiguration); + ProjectExplorer::RunConfiguration *runConfiguration, Core::Id runMode) { + return tool->createRunControl(sp, runConfiguration, runMode); }; const QString toolTip = tr("Clang Static Analyzer uses the analyzer from the clang project " diff --git a/plugins/clangstaticanalyzer/clangstaticanalyzerruncontrol.cpp b/plugins/clangstaticanalyzer/clangstaticanalyzerruncontrol.cpp index 111727746b..2fd06d881c 100644 --- a/plugins/clangstaticanalyzer/clangstaticanalyzerruncontrol.cpp +++ b/plugins/clangstaticanalyzer/clangstaticanalyzerruncontrol.cpp @@ -36,6 +36,7 @@ #include #include +#include #include #include #include @@ -57,15 +58,20 @@ namespace Internal { ClangStaticAnalyzerRunControl::ClangStaticAnalyzerRunControl( const Analyzer::AnalyzerStartParameters &startParams, - ProjectExplorer::RunConfiguration *runConfiguration, + RunConfiguration *runConfiguration, + Core::Id runMode, const ProjectInfo &projectInfo) - : AnalyzerRunControl(startParams, runConfiguration) + : AnalyzerRunControl(startParams, runConfiguration, runMode) , m_projectInfo(projectInfo) , m_wordWidth(runConfiguration->abi().wordWidth()) , m_initialFilesToProcessSize(0) , m_filesAnalyzed(0) , m_filesNotAnalyzed(0) { + Target *target = runConfiguration->target(); + BuildConfiguration *buildConfiguration = target->activeBuildConfiguration(); + QTC_ASSERT(buildConfiguration, return); + m_environment = buildConfiguration->environment(); } static void prependWordWidthArgumentIfNotIncluded(QStringList *arguments, unsigned char wordWidth) @@ -347,7 +353,7 @@ bool ClangStaticAnalyzerRunControl::startEngine() m_progress.reportStarted(); // Start process(es) - qCDebug(LOG) << "Environment:" << startParameters().environment; + qCDebug(LOG) << "Environment:" << m_environment; m_runners.clear(); const int parallelRuns = ClangStaticAnalyzerSettings::instance()->simultaneousProcesses(); QTC_ASSERT(parallelRuns >= 1, emit finished(); return false); @@ -406,11 +412,10 @@ ClangStaticAnalyzerRunner *ClangStaticAnalyzerRunControl::createRunner() QTC_ASSERT(!m_clangExecutable.isEmpty(), return 0); QTC_ASSERT(!m_clangLogFileDir.isEmpty(), return 0); - ClangStaticAnalyzerRunner *runner - = new ClangStaticAnalyzerRunner(m_clangExecutable, - m_clangLogFileDir, - startParameters().environment, - this); + auto runner = new ClangStaticAnalyzerRunner(m_clangExecutable, + m_clangLogFileDir, + m_environment, + this); connect(runner, &ClangStaticAnalyzerRunner::finishedWithSuccess, this, &ClangStaticAnalyzerRunControl::onRunnerFinishedWithSuccess); connect(runner, &ClangStaticAnalyzerRunner::finishedWithFailure, diff --git a/plugins/clangstaticanalyzer/clangstaticanalyzerruncontrol.h b/plugins/clangstaticanalyzer/clangstaticanalyzerruncontrol.h index 0bffb4d788..b5baafb4b7 100644 --- a/plugins/clangstaticanalyzer/clangstaticanalyzerruncontrol.h +++ b/plugins/clangstaticanalyzer/clangstaticanalyzerruncontrol.h @@ -21,6 +21,7 @@ #include #include +#include #include #include @@ -45,9 +46,10 @@ class ClangStaticAnalyzerRunControl : public Analyzer::AnalyzerRunControl Q_OBJECT public: - explicit ClangStaticAnalyzerRunControl(const Analyzer::AnalyzerStartParameters &startParams, - ProjectExplorer::RunConfiguration *runConfiguration, - const CppTools::ProjectInfo &projectInfo); + ClangStaticAnalyzerRunControl(const Analyzer::AnalyzerStartParameters &startParams, + ProjectExplorer::RunConfiguration *runConfiguration, + Core::Id runMode, + const CppTools::ProjectInfo &projectInfo); bool startEngine(); void stopEngine(); @@ -75,6 +77,7 @@ private: const CppTools::ProjectInfo m_projectInfo; const unsigned char m_wordWidth; + Utils::Environment m_environment; QString m_clangExecutable; QString m_clangLogFileDir; QFutureInterface m_progress; diff --git a/plugins/clangstaticanalyzer/clangstaticanalyzerruncontrolfactory.cpp b/plugins/clangstaticanalyzer/clangstaticanalyzerruncontrolfactory.cpp index 95bc9e628a..a61dcbe273 100644 --- a/plugins/clangstaticanalyzer/clangstaticanalyzerruncontrolfactory.cpp +++ b/plugins/clangstaticanalyzer/clangstaticanalyzerruncontrolfactory.cpp @@ -109,14 +109,7 @@ RunControl *ClangStaticAnalyzerRunControlFactory::create(RunConfiguration *runCo return 0; } - AnalyzerStartParameters sp; - sp.displayName = runConfiguration->displayName(); - sp.runMode = runMode; - BuildConfiguration * const buildConfiguration = target->activeBuildConfiguration(); - QTC_ASSERT(buildConfiguration, return 0); - sp.environment = buildConfiguration->environment(); - - return AnalyzerManager::createRunControl(sp, runConfiguration); + return AnalyzerManager::createRunControl(AnalyzerStartParameters(), runConfiguration, runMode); } } // namespace Internal diff --git a/plugins/clangstaticanalyzer/clangstaticanalyzertool.cpp b/plugins/clangstaticanalyzer/clangstaticanalyzertool.cpp index caa9f7b6c0..1b2bdcad38 100644 --- a/plugins/clangstaticanalyzer/clangstaticanalyzertool.cpp +++ b/plugins/clangstaticanalyzer/clangstaticanalyzertool.cpp @@ -160,7 +160,8 @@ QWidget *ClangStaticAnalyzerTool::createWidgets() AnalyzerRunControl *ClangStaticAnalyzerTool::createRunControl( const AnalyzerStartParameters &sp, - ProjectExplorer::RunConfiguration *runConfiguration) + RunConfiguration *runConfiguration, + Core::Id runMode) { QTC_ASSERT(runConfiguration, return 0); QTC_ASSERT(m_projectInfoBeforeBuild.isValid(), return 0); @@ -176,8 +177,8 @@ AnalyzerRunControl *ClangStaticAnalyzerTool::createRunControl( return 0); m_projectInfoBeforeBuild = CppTools::ProjectInfo(); - ClangStaticAnalyzerRunControl *engine - = new ClangStaticAnalyzerRunControl(sp, runConfiguration, projectInfoAfterBuild); + auto engine = new ClangStaticAnalyzerRunControl(sp, runConfiguration, runMode, + projectInfoAfterBuild); connect(engine, &ClangStaticAnalyzerRunControl::starting, this, &ClangStaticAnalyzerTool::onEngineIsStarting); connect(engine, &ClangStaticAnalyzerRunControl::newDiagnosticsAvailable, diff --git a/plugins/clangstaticanalyzer/clangstaticanalyzertool.h b/plugins/clangstaticanalyzer/clangstaticanalyzertool.h index 52585558d3..e9000fa78b 100644 --- a/plugins/clangstaticanalyzer/clangstaticanalyzertool.h +++ b/plugins/clangstaticanalyzer/clangstaticanalyzertool.h @@ -53,7 +53,8 @@ public: QWidget *createWidgets(); Analyzer::AnalyzerRunControl *createRunControl(const Analyzer::AnalyzerStartParameters &sp, - ProjectExplorer::RunConfiguration *runConfiguration); + ProjectExplorer::RunConfiguration *runConfiguration, + Core::Id runMode); void startTool(); signals: -- cgit v1.2.1