Adjust after upstream AnalyzerStartParameter changes

Change-Id: I92a6dcee0c201905132e069291eb40e6da6da128
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
This commit is contained in:
hjk
2016-01-05 08:58:01 +01:00
parent 5b49a1b39b
commit 18bd8b8af6
6 changed files with 28 additions and 25 deletions

View File

@@ -130,8 +130,8 @@ bool ClangStaticAnalyzerPlugin::initializeEnterpriseFeatures(const QStringList &
auto widgetCreator = [tool] { return tool->createWidgets(); }; auto widgetCreator = [tool] { return tool->createWidgets(); };
auto runControlCreator = [tool](const AnalyzerStartParameters &sp, auto runControlCreator = [tool](const AnalyzerStartParameters &sp,
ProjectExplorer::RunConfiguration *runConfiguration) { ProjectExplorer::RunConfiguration *runConfiguration, Core::Id runMode) {
return tool->createRunControl(sp, runConfiguration); return tool->createRunControl(sp, runConfiguration, runMode);
}; };
const QString toolTip = tr("Clang Static Analyzer uses the analyzer from the clang project " const QString toolTip = tr("Clang Static Analyzer uses the analyzer from the clang project "

View File

@@ -36,6 +36,7 @@
#include <cpptools/cppprojectfile.h> #include <cpptools/cppprojectfile.h>
#include <projectexplorer/abi.h> #include <projectexplorer/abi.h>
#include <projectexplorer/buildconfiguration.h>
#include <projectexplorer/kitinformation.h> #include <projectexplorer/kitinformation.h>
#include <projectexplorer/project.h> #include <projectexplorer/project.h>
#include <projectexplorer/runconfiguration.h> #include <projectexplorer/runconfiguration.h>
@@ -57,15 +58,20 @@ namespace Internal {
ClangStaticAnalyzerRunControl::ClangStaticAnalyzerRunControl( ClangStaticAnalyzerRunControl::ClangStaticAnalyzerRunControl(
const Analyzer::AnalyzerStartParameters &startParams, const Analyzer::AnalyzerStartParameters &startParams,
ProjectExplorer::RunConfiguration *runConfiguration, RunConfiguration *runConfiguration,
Core::Id runMode,
const ProjectInfo &projectInfo) const ProjectInfo &projectInfo)
: AnalyzerRunControl(startParams, runConfiguration) : AnalyzerRunControl(startParams, runConfiguration, runMode)
, m_projectInfo(projectInfo) , m_projectInfo(projectInfo)
, m_wordWidth(runConfiguration->abi().wordWidth()) , m_wordWidth(runConfiguration->abi().wordWidth())
, m_initialFilesToProcessSize(0) , m_initialFilesToProcessSize(0)
, m_filesAnalyzed(0) , m_filesAnalyzed(0)
, m_filesNotAnalyzed(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) static void prependWordWidthArgumentIfNotIncluded(QStringList *arguments, unsigned char wordWidth)
@@ -347,7 +353,7 @@ bool ClangStaticAnalyzerRunControl::startEngine()
m_progress.reportStarted(); m_progress.reportStarted();
// Start process(es) // Start process(es)
qCDebug(LOG) << "Environment:" << startParameters().environment; qCDebug(LOG) << "Environment:" << m_environment;
m_runners.clear(); m_runners.clear();
const int parallelRuns = ClangStaticAnalyzerSettings::instance()->simultaneousProcesses(); const int parallelRuns = ClangStaticAnalyzerSettings::instance()->simultaneousProcesses();
QTC_ASSERT(parallelRuns >= 1, emit finished(); return false); 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_clangExecutable.isEmpty(), return 0);
QTC_ASSERT(!m_clangLogFileDir.isEmpty(), return 0); QTC_ASSERT(!m_clangLogFileDir.isEmpty(), return 0);
ClangStaticAnalyzerRunner *runner auto runner = new ClangStaticAnalyzerRunner(m_clangExecutable,
= new ClangStaticAnalyzerRunner(m_clangExecutable, m_clangLogFileDir,
m_clangLogFileDir, m_environment,
startParameters().environment, this);
this);
connect(runner, &ClangStaticAnalyzerRunner::finishedWithSuccess, connect(runner, &ClangStaticAnalyzerRunner::finishedWithSuccess,
this, &ClangStaticAnalyzerRunControl::onRunnerFinishedWithSuccess); this, &ClangStaticAnalyzerRunControl::onRunnerFinishedWithSuccess);
connect(runner, &ClangStaticAnalyzerRunner::finishedWithFailure, connect(runner, &ClangStaticAnalyzerRunner::finishedWithFailure,

View File

@@ -21,6 +21,7 @@
#include <analyzerbase/analyzerruncontrol.h> #include <analyzerbase/analyzerruncontrol.h>
#include <cpptools/cppprojects.h> #include <cpptools/cppprojects.h>
#include <utils/environment.h>
#include <QFutureInterface> #include <QFutureInterface>
#include <QStringList> #include <QStringList>
@@ -45,9 +46,10 @@ class ClangStaticAnalyzerRunControl : public Analyzer::AnalyzerRunControl
Q_OBJECT Q_OBJECT
public: public:
explicit ClangStaticAnalyzerRunControl(const Analyzer::AnalyzerStartParameters &startParams, ClangStaticAnalyzerRunControl(const Analyzer::AnalyzerStartParameters &startParams,
ProjectExplorer::RunConfiguration *runConfiguration, ProjectExplorer::RunConfiguration *runConfiguration,
const CppTools::ProjectInfo &projectInfo); Core::Id runMode,
const CppTools::ProjectInfo &projectInfo);
bool startEngine(); bool startEngine();
void stopEngine(); void stopEngine();
@@ -75,6 +77,7 @@ private:
const CppTools::ProjectInfo m_projectInfo; const CppTools::ProjectInfo m_projectInfo;
const unsigned char m_wordWidth; const unsigned char m_wordWidth;
Utils::Environment m_environment;
QString m_clangExecutable; QString m_clangExecutable;
QString m_clangLogFileDir; QString m_clangLogFileDir;
QFutureInterface<void> m_progress; QFutureInterface<void> m_progress;

View File

@@ -109,14 +109,7 @@ RunControl *ClangStaticAnalyzerRunControlFactory::create(RunConfiguration *runCo
return 0; return 0;
} }
AnalyzerStartParameters sp; return AnalyzerManager::createRunControl(AnalyzerStartParameters(), runConfiguration, runMode);
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);
} }
} // namespace Internal } // namespace Internal

View File

@@ -160,7 +160,8 @@ QWidget *ClangStaticAnalyzerTool::createWidgets()
AnalyzerRunControl *ClangStaticAnalyzerTool::createRunControl( AnalyzerRunControl *ClangStaticAnalyzerTool::createRunControl(
const AnalyzerStartParameters &sp, const AnalyzerStartParameters &sp,
ProjectExplorer::RunConfiguration *runConfiguration) RunConfiguration *runConfiguration,
Core::Id runMode)
{ {
QTC_ASSERT(runConfiguration, return 0); QTC_ASSERT(runConfiguration, return 0);
QTC_ASSERT(m_projectInfoBeforeBuild.isValid(), return 0); QTC_ASSERT(m_projectInfoBeforeBuild.isValid(), return 0);
@@ -176,8 +177,8 @@ AnalyzerRunControl *ClangStaticAnalyzerTool::createRunControl(
return 0); return 0);
m_projectInfoBeforeBuild = CppTools::ProjectInfo(); m_projectInfoBeforeBuild = CppTools::ProjectInfo();
ClangStaticAnalyzerRunControl *engine auto engine = new ClangStaticAnalyzerRunControl(sp, runConfiguration, runMode,
= new ClangStaticAnalyzerRunControl(sp, runConfiguration, projectInfoAfterBuild); projectInfoAfterBuild);
connect(engine, &ClangStaticAnalyzerRunControl::starting, connect(engine, &ClangStaticAnalyzerRunControl::starting,
this, &ClangStaticAnalyzerTool::onEngineIsStarting); this, &ClangStaticAnalyzerTool::onEngineIsStarting);
connect(engine, &ClangStaticAnalyzerRunControl::newDiagnosticsAvailable, connect(engine, &ClangStaticAnalyzerRunControl::newDiagnosticsAvailable,

View File

@@ -53,7 +53,8 @@ public:
QWidget *createWidgets(); QWidget *createWidgets();
Analyzer::AnalyzerRunControl *createRunControl(const Analyzer::AnalyzerStartParameters &sp, Analyzer::AnalyzerRunControl *createRunControl(const Analyzer::AnalyzerStartParameters &sp,
ProjectExplorer::RunConfiguration *runConfiguration); ProjectExplorer::RunConfiguration *runConfiguration,
Core::Id runMode);
void startTool(); void startTool();
signals: signals: