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(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);
|
||||
|
@@ -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
|
||||
|
@@ -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();
|
||||
|
@@ -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()));
|
||||
|
Reference in New Issue
Block a user