Compile fix after recent Analyzer core changes

Change-Id: I100e75c526ff8609849526c3317a6d0a1658176b
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
This commit is contained in:
André Pönitz
2015-02-18 16:05:46 +01:00
committed by Nikolai Kosjar
parent 0ece47de90
commit 93685b97ef
4 changed files with 26 additions and 14 deletions

View File

@@ -125,16 +125,27 @@ bool ClangStaticAnalyzerPlugin::initializeEnterpriseFeatures(const QStringList &
Q_UNUSED(arguments);
Q_UNUSED(errorString);
m_analyzerTool = new ClangStaticAnalyzerTool(this);
auto tool = m_analyzerTool = new ClangStaticAnalyzerTool(this);
addAutoReleasedObject(new ClangStaticAnalyzerRunControlFactory(m_analyzerTool));
addAutoReleasedObject(new ClangStaticAnalyzerOptionsPage);
auto toolStarter = [tool](StartMode mode) { return tool->startTool(mode); };
auto widgetCreator = [tool] { return tool->createWidgets(); };
auto runControlCreator = [tool](const AnalyzerStartParameters &sp,
ProjectExplorer::RunConfiguration *runConfiguration) {
return tool->createRunControl(sp, runConfiguration);
};
const QString toolTip = tr("Clang Static Analyzer uses the analyzer from the clang project "
"to find bugs.");
AnalyzerAction *action = new AnalyzerAction(this);
action->setId("ClangStaticAnalyzer");
action->setTool(m_analyzerTool);
action->setRunMode(ProjectExplorer::ClangStaticAnalyzerMode);
action->setToolId(ClangStaticAnalyzerToolId);
action->setActionId("ClangStaticAnalyzer");
action->setWidgetCreator(widgetCreator);
action->setRunControlCreator(runControlCreator);
action->setToolStarter(toolStarter);
action->setText(tr("Clang Static Analyzer"));
action->setToolTip(toolTip);
action->setMenuGroup(Constants::G_ANALYZER_TOOLS);

View File

@@ -49,7 +49,7 @@ namespace ClangStaticAnalyzer {
namespace Internal {
ClangStaticAnalyzerTool::ClangStaticAnalyzerTool(QObject *parent)
: IAnalyzerTool(parent)
: QObject(parent)
, m_diagnosticModel(0)
, m_diagnosticView(0)
, m_goBack(0)
@@ -57,8 +57,6 @@ ClangStaticAnalyzerTool::ClangStaticAnalyzerTool(QObject *parent)
, m_running(false)
{
setObjectName(QLatin1String("ClangStaticAnalyzerTool"));
setRunMode(ProjectExplorer::ClangStaticAnalyzerMode);
setToolMode(AnyMode);
}
QWidget *ClangStaticAnalyzerTool::createWidgets()
@@ -85,7 +83,8 @@ QWidget *ClangStaticAnalyzerTool::createWidgets()
m_diagnosticView->setObjectName(QLatin1String("ClangStaticAnalyzerIssuesView"));
m_diagnosticView->setWindowTitle(tr("Clang Static Analyzer Issues"));
QDockWidget *issuesDock = AnalyzerManager::createDockWidget(this, m_diagnosticView);
QDockWidget *issuesDock = AnalyzerManager::createDockWidget(ClangStaticAnalyzerToolId,
m_diagnosticView);
issuesDock->show();
Utils::FancyMainWindow *mw = AnalyzerManager::mainWindow();
mw->splitDockWidget(mw->toolBarDockWidget(), issuesDock, Qt::Vertical);
@@ -208,7 +207,7 @@ void ClangStaticAnalyzerTool::startTool(StartMode mode)
m_projectInfoBeforeBuild = CppTools::CppModelManager::instance()->projectInfo(project);
QTC_ASSERT(m_projectInfoBeforeBuild.isValid(), return);
m_running = true;
ProjectExplorerPlugin::instance()->runProject(project, runMode());
ProjectExplorerPlugin::runProject(project, ProjectExplorer::ClangStaticAnalyzerMode);
}
CppTools::ProjectInfo ClangStaticAnalyzerTool::projectInfoBeforeBuild() const

View File

@@ -31,7 +31,9 @@ class ClangStaticAnalyzerDiagnosticModel;
class ClangStaticAnalyzerDiagnosticView;
class Diagnostic;
class ClangStaticAnalyzerTool : public Analyzer::IAnalyzerTool
const char ClangStaticAnalyzerToolId[] = "ClangStaticAnalyzer";
class ClangStaticAnalyzerTool : public QObject
{
Q_OBJECT
@@ -44,15 +46,15 @@ public:
bool isRunning() const { return m_running; }
QList<Diagnostic> diagnostics() const;
signals:
void finished(); // For testing.
private:
QWidget *createWidgets();
Analyzer::AnalyzerRunControl *createRunControl(const Analyzer::AnalyzerStartParameters &sp,
ProjectExplorer::RunConfiguration *runConfiguration);
void startTool(Analyzer::StartMode mode);
signals:
void finished(); // For testing.
private:
void onEngineIsStarting();
void onNewDiagnosticsAvailable(const QList<Diagnostic> &diagnostics);
void onEngineFinished();

View File

@@ -81,7 +81,7 @@ void ClangStaticAnalyzerUnitTests::testProject()
CppTools::Tests::ProjectOpenerAndCloser projectManager;
const CppTools::ProjectInfo projectInfo = projectManager.open(projectFilePath, true);
QVERIFY(projectInfo.isValid());
AnalyzerManager::selectTool(m_analyzerTool, Analyzer::StartLocal);
AnalyzerManager::selectTool(ClangStaticAnalyzerToolId, Analyzer::StartLocal);
AnalyzerManager::startTool();
if (m_analyzerTool->isRunning()) {
QSignalSpy waiter(m_analyzerTool, SIGNAL(finished()));