forked from qt-creator/qt-creator
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:
committed by
Nikolai Kosjar
parent
0ece47de90
commit
93685b97ef
@@ -125,16 +125,27 @@ bool ClangStaticAnalyzerPlugin::initializeEnterpriseFeatures(const QStringList &
|
|||||||
Q_UNUSED(arguments);
|
Q_UNUSED(arguments);
|
||||||
Q_UNUSED(errorString);
|
Q_UNUSED(errorString);
|
||||||
|
|
||||||
m_analyzerTool = new ClangStaticAnalyzerTool(this);
|
auto tool = m_analyzerTool = new ClangStaticAnalyzerTool(this);
|
||||||
addAutoReleasedObject(new ClangStaticAnalyzerRunControlFactory(m_analyzerTool));
|
addAutoReleasedObject(new ClangStaticAnalyzerRunControlFactory(m_analyzerTool));
|
||||||
addAutoReleasedObject(new ClangStaticAnalyzerOptionsPage);
|
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 "
|
const QString toolTip = tr("Clang Static Analyzer uses the analyzer from the clang project "
|
||||||
"to find bugs.");
|
"to find bugs.");
|
||||||
|
|
||||||
AnalyzerAction *action = new AnalyzerAction(this);
|
AnalyzerAction *action = new AnalyzerAction(this);
|
||||||
action->setId("ClangStaticAnalyzer");
|
action->setRunMode(ProjectExplorer::ClangStaticAnalyzerMode);
|
||||||
action->setTool(m_analyzerTool);
|
action->setToolId(ClangStaticAnalyzerToolId);
|
||||||
|
action->setActionId("ClangStaticAnalyzer");
|
||||||
|
action->setWidgetCreator(widgetCreator);
|
||||||
|
action->setRunControlCreator(runControlCreator);
|
||||||
|
action->setToolStarter(toolStarter);
|
||||||
action->setText(tr("Clang Static Analyzer"));
|
action->setText(tr("Clang Static Analyzer"));
|
||||||
action->setToolTip(toolTip);
|
action->setToolTip(toolTip);
|
||||||
action->setMenuGroup(Constants::G_ANALYZER_TOOLS);
|
action->setMenuGroup(Constants::G_ANALYZER_TOOLS);
|
||||||
|
@@ -49,7 +49,7 @@ namespace ClangStaticAnalyzer {
|
|||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
|
||||||
ClangStaticAnalyzerTool::ClangStaticAnalyzerTool(QObject *parent)
|
ClangStaticAnalyzerTool::ClangStaticAnalyzerTool(QObject *parent)
|
||||||
: IAnalyzerTool(parent)
|
: QObject(parent)
|
||||||
, m_diagnosticModel(0)
|
, m_diagnosticModel(0)
|
||||||
, m_diagnosticView(0)
|
, m_diagnosticView(0)
|
||||||
, m_goBack(0)
|
, m_goBack(0)
|
||||||
@@ -57,8 +57,6 @@ ClangStaticAnalyzerTool::ClangStaticAnalyzerTool(QObject *parent)
|
|||||||
, m_running(false)
|
, m_running(false)
|
||||||
{
|
{
|
||||||
setObjectName(QLatin1String("ClangStaticAnalyzerTool"));
|
setObjectName(QLatin1String("ClangStaticAnalyzerTool"));
|
||||||
setRunMode(ProjectExplorer::ClangStaticAnalyzerMode);
|
|
||||||
setToolMode(AnyMode);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QWidget *ClangStaticAnalyzerTool::createWidgets()
|
QWidget *ClangStaticAnalyzerTool::createWidgets()
|
||||||
@@ -85,7 +83,8 @@ QWidget *ClangStaticAnalyzerTool::createWidgets()
|
|||||||
m_diagnosticView->setObjectName(QLatin1String("ClangStaticAnalyzerIssuesView"));
|
m_diagnosticView->setObjectName(QLatin1String("ClangStaticAnalyzerIssuesView"));
|
||||||
m_diagnosticView->setWindowTitle(tr("Clang Static Analyzer Issues"));
|
m_diagnosticView->setWindowTitle(tr("Clang Static Analyzer Issues"));
|
||||||
|
|
||||||
QDockWidget *issuesDock = AnalyzerManager::createDockWidget(this, m_diagnosticView);
|
QDockWidget *issuesDock = AnalyzerManager::createDockWidget(ClangStaticAnalyzerToolId,
|
||||||
|
m_diagnosticView);
|
||||||
issuesDock->show();
|
issuesDock->show();
|
||||||
Utils::FancyMainWindow *mw = AnalyzerManager::mainWindow();
|
Utils::FancyMainWindow *mw = AnalyzerManager::mainWindow();
|
||||||
mw->splitDockWidget(mw->toolBarDockWidget(), issuesDock, Qt::Vertical);
|
mw->splitDockWidget(mw->toolBarDockWidget(), issuesDock, Qt::Vertical);
|
||||||
@@ -208,7 +207,7 @@ void ClangStaticAnalyzerTool::startTool(StartMode mode)
|
|||||||
m_projectInfoBeforeBuild = CppTools::CppModelManager::instance()->projectInfo(project);
|
m_projectInfoBeforeBuild = CppTools::CppModelManager::instance()->projectInfo(project);
|
||||||
QTC_ASSERT(m_projectInfoBeforeBuild.isValid(), return);
|
QTC_ASSERT(m_projectInfoBeforeBuild.isValid(), return);
|
||||||
m_running = true;
|
m_running = true;
|
||||||
ProjectExplorerPlugin::instance()->runProject(project, runMode());
|
ProjectExplorerPlugin::runProject(project, ProjectExplorer::ClangStaticAnalyzerMode);
|
||||||
}
|
}
|
||||||
|
|
||||||
CppTools::ProjectInfo ClangStaticAnalyzerTool::projectInfoBeforeBuild() const
|
CppTools::ProjectInfo ClangStaticAnalyzerTool::projectInfoBeforeBuild() const
|
||||||
|
@@ -31,7 +31,9 @@ class ClangStaticAnalyzerDiagnosticModel;
|
|||||||
class ClangStaticAnalyzerDiagnosticView;
|
class ClangStaticAnalyzerDiagnosticView;
|
||||||
class Diagnostic;
|
class Diagnostic;
|
||||||
|
|
||||||
class ClangStaticAnalyzerTool : public Analyzer::IAnalyzerTool
|
const char ClangStaticAnalyzerToolId[] = "ClangStaticAnalyzer";
|
||||||
|
|
||||||
|
class ClangStaticAnalyzerTool : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
@@ -44,15 +46,15 @@ public:
|
|||||||
bool isRunning() const { return m_running; }
|
bool isRunning() const { return m_running; }
|
||||||
QList<Diagnostic> diagnostics() const;
|
QList<Diagnostic> diagnostics() const;
|
||||||
|
|
||||||
signals:
|
|
||||||
void finished(); // For testing.
|
|
||||||
|
|
||||||
private:
|
|
||||||
QWidget *createWidgets();
|
QWidget *createWidgets();
|
||||||
Analyzer::AnalyzerRunControl *createRunControl(const Analyzer::AnalyzerStartParameters &sp,
|
Analyzer::AnalyzerRunControl *createRunControl(const Analyzer::AnalyzerStartParameters &sp,
|
||||||
ProjectExplorer::RunConfiguration *runConfiguration);
|
ProjectExplorer::RunConfiguration *runConfiguration);
|
||||||
void startTool(Analyzer::StartMode mode);
|
void startTool(Analyzer::StartMode mode);
|
||||||
|
|
||||||
|
signals:
|
||||||
|
void finished(); // For testing.
|
||||||
|
|
||||||
|
private:
|
||||||
void onEngineIsStarting();
|
void onEngineIsStarting();
|
||||||
void onNewDiagnosticsAvailable(const QList<Diagnostic> &diagnostics);
|
void onNewDiagnosticsAvailable(const QList<Diagnostic> &diagnostics);
|
||||||
void onEngineFinished();
|
void onEngineFinished();
|
||||||
|
@@ -81,7 +81,7 @@ void ClangStaticAnalyzerUnitTests::testProject()
|
|||||||
CppTools::Tests::ProjectOpenerAndCloser projectManager;
|
CppTools::Tests::ProjectOpenerAndCloser projectManager;
|
||||||
const CppTools::ProjectInfo projectInfo = projectManager.open(projectFilePath, true);
|
const CppTools::ProjectInfo projectInfo = projectManager.open(projectFilePath, true);
|
||||||
QVERIFY(projectInfo.isValid());
|
QVERIFY(projectInfo.isValid());
|
||||||
AnalyzerManager::selectTool(m_analyzerTool, Analyzer::StartLocal);
|
AnalyzerManager::selectTool(ClangStaticAnalyzerToolId, Analyzer::StartLocal);
|
||||||
AnalyzerManager::startTool();
|
AnalyzerManager::startTool();
|
||||||
if (m_analyzerTool->isRunning()) {
|
if (m_analyzerTool->isRunning()) {
|
||||||
QSignalSpy waiter(m_analyzerTool, SIGNAL(finished()));
|
QSignalSpy waiter(m_analyzerTool, SIGNAL(finished()));
|
||||||
|
Reference in New Issue
Block a user