ClangStaticAnalyzer: Rename plugin to ClangTools

ClangStaticAnalyzer is only one of the tools that
we can use and it will stay inside ClangTools plugin.

Change-Id: I74278e3fd12b792ab127d352db05d856c964968c
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
This commit is contained in:
Ivan Donchevskii
2018-03-14 12:58:12 +01:00
parent 66548fdb76
commit 3fa8db13e9
66 changed files with 102 additions and 102 deletions

View File

@@ -1,5 +1,5 @@
{
\"Name\" : \"ClangStaticAnalyzer\",
\"Name\" : \"ClangTools\",
\"Version\" : \"$$QTCREATOR_VERSION\",
\"CompatVersion\" : \"$$QTCREATOR_COMPAT_VERSION\",
\"Vendor\" : \"The Qt Company Ltd\",
@@ -13,7 +13,7 @@
\"Alternatively, this file may be used under the terms of the GNU General Public License version 3 as published by the Free Software Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT included in the packaging of this file. Please review the following information to ensure the GNU General Public License requirements will be met: https://www.gnu.org/licenses/gpl-3.0.html.\"
],
\"Category\" : \"Code Analyzer\",
\"Description\" : \"ClangStaticAnalyzer Plugin.\",
\"Description\" : \"ClangTools Plugin.\",
\"Url\" : \"http://www.qt.io\",
$$dependencyList
}

View File

@@ -31,7 +31,7 @@
#include <QDir>
#include <QThread>
namespace ClangStaticAnalyzer {
namespace ClangTools {
namespace Internal {
ClangStaticAnalyzerConfigWidget::ClangStaticAnalyzerConfigWidget(
@@ -124,4 +124,4 @@ void ClangStaticAnalyzerConfigWidget::updateDetectedVersionLabel(
}
} // namespace Internal
} // namespace ClangStaticAnalyzer
} // namespace ClangTools

View File

@@ -29,7 +29,7 @@
#include <QWidget>
namespace ClangStaticAnalyzer {
namespace ClangTools {
namespace Internal {
namespace Ui { class ClangStaticAnalyzerConfigWidget; }
@@ -54,4 +54,4 @@ private:
};
} // namespace Internal
} // namespace ClangStaticAnalyzer
} // namespace ClangTools

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>ClangStaticAnalyzer::Internal::ClangStaticAnalyzerConfigWidget</class>
<widget class="QWidget" name="ClangStaticAnalyzer::Internal::ClangStaticAnalyzerConfigWidget">
<class>ClangTools::Internal::ClangStaticAnalyzerConfigWidget</class>
<widget class="QWidget" name="ClangTools::Internal::ClangStaticAnalyzerConfigWidget">
<property name="geometry">
<rect>
<x>0</x>

View File

@@ -25,7 +25,7 @@
#pragma once
namespace ClangStaticAnalyzer {
namespace ClangTools {
namespace Constants {
const char SETTINGS_ID[] = "ClangStaticAnalyzer";

View File

@@ -25,7 +25,7 @@
#include "clangstaticanalyzerdiagnostic.h"
namespace ClangStaticAnalyzer {
namespace ClangTools {
namespace Internal {
ExplainingStep::ExplainingStep()
@@ -44,4 +44,4 @@ bool Diagnostic::isValid() const
}
} // namespace Internal
} // namespace ClangStaticAnalyzer
} // namespace ClangTools

View File

@@ -31,7 +31,7 @@
#include <QMetaType>
#include <QString>
namespace ClangStaticAnalyzer {
namespace ClangTools {
namespace Internal {
class ExplainingStep
@@ -63,6 +63,6 @@ public:
};
} // namespace Internal
} // namespace ClangStaticAnalyzer
} // namespace ClangTools
Q_DECLARE_METATYPE(ClangStaticAnalyzer::Internal::Diagnostic)
Q_DECLARE_METATYPE(ClangTools::Internal::Diagnostic)

View File

@@ -38,7 +38,7 @@
#include <cmath>
namespace ClangStaticAnalyzer {
namespace ClangTools {
namespace Internal {
class DiagnosticItem : public Utils::TreeItem
@@ -92,25 +92,25 @@ static QString createDiagnosticToolTipString(const Diagnostic &diagnostic)
if (!diagnostic.category.isEmpty()) {
lines << qMakePair(
QCoreApplication::translate("ClangStaticAnalyzer::Diagnostic", "Category:"),
QCoreApplication::translate("ClangTools::Diagnostic", "Category:"),
diagnostic.category.toHtmlEscaped());
}
if (!diagnostic.type.isEmpty()) {
lines << qMakePair(
QCoreApplication::translate("ClangStaticAnalyzer::Diagnostic", "Type:"),
QCoreApplication::translate("ClangTools::Diagnostic", "Type:"),
diagnostic.type.toHtmlEscaped());
}
if (!diagnostic.issueContext.isEmpty() && !diagnostic.issueContextKind.isEmpty()) {
lines << qMakePair(
QCoreApplication::translate("ClangStaticAnalyzer::Diagnostic", "Context:"),
QCoreApplication::translate("ClangTools::Diagnostic", "Context:"),
diagnostic.issueContextKind.toHtmlEscaped() + QLatin1Char(' ')
+ diagnostic.issueContext.toHtmlEscaped());
}
lines << qMakePair(
QCoreApplication::translate("ClangStaticAnalyzer::Diagnostic", "Location:"),
QCoreApplication::translate("ClangTools::Diagnostic", "Location:"),
createFullLocationString(diagnostic.location));
QString html = QLatin1String("<html>"
@@ -139,17 +139,17 @@ static QString createExplainingStepToolTipString(const ExplainingStep &step)
if (!step.message.isEmpty()) {
lines << qMakePair(
QCoreApplication::translate("ClangStaticAnalyzer::ExplainingStep", "Message:"),
QCoreApplication::translate("ClangTools::ExplainingStep", "Message:"),
step.message.toHtmlEscaped());
}
if (!step.extendedMessage.isEmpty()) {
lines << qMakePair(
QCoreApplication::translate("ClangStaticAnalyzer::ExplainingStep", "Extended message:"),
QCoreApplication::translate("ClangTools::ExplainingStep", "Extended message:"),
step.extendedMessage.toHtmlEscaped());
}
lines << qMakePair(
QCoreApplication::translate("ClangStaticAnalyzer::ExplainingStep", "Location:"),
QCoreApplication::translate("ClangTools::ExplainingStep", "Location:"),
createFullLocationString(step.location));
QString html = QLatin1String("<html>"
@@ -354,4 +354,4 @@ void ClangStaticAnalyzerDiagnosticFilterModel::handleSuppressedDiagnosticsChange
}
} // namespace Internal
} // namespace ClangStaticAnalyzer
} // namespace ClangTools

View File

@@ -37,7 +37,7 @@
namespace ProjectExplorer { class Project; }
namespace ClangStaticAnalyzer {
namespace ClangTools {
namespace Internal {
class ClangStaticAnalyzerDiagnosticModel : public Utils::TreeModel<>
@@ -76,4 +76,4 @@ private:
};
} // namespace Internal
} // namespace ClangStaticAnalyzer
} // namespace ClangTools

View File

@@ -38,7 +38,7 @@
using namespace Debugger;
namespace ClangStaticAnalyzer {
namespace ClangTools {
namespace Internal {
ClangStaticAnalyzerDiagnosticView::ClangStaticAnalyzerDiagnosticView(QWidget *parent)
@@ -82,4 +82,4 @@ QList<QAction *> ClangStaticAnalyzerDiagnosticView::customActions() const
}
} // namespace Internal
} // namespace ClangStaticAnalyzer
} // namespace ClangTools

View File

@@ -27,7 +27,7 @@
#include <debugger/analyzer/detailederrorview.h>
namespace ClangStaticAnalyzer {
namespace ClangTools {
namespace Internal {
class ClangStaticAnalyzerDiagnosticView : public Debugger::DetailedErrorView
@@ -46,4 +46,4 @@ private:
};
} // namespace Internal
} // namespace ClangStaticAnalyzer
} // namespace ClangTools

View File

@@ -34,12 +34,12 @@
#include <utils/qtcassert.h>
#include <utils/qtcfallthrough.h>
namespace ClangStaticAnalyzer {
namespace ClangTools {
namespace Internal {
class ClangStaticAnalyzerLogFileReader
{
Q_DECLARE_TR_FUNCTIONS(ClangStaticAnalyzer::Internal::ClangStaticAnalyzerLogFileReader)
Q_DECLARE_TR_FUNCTIONS(ClangTools::Internal::ClangStaticAnalyzerLogFileReader)
public:
ClangStaticAnalyzerLogFileReader(const QString &filePath);
@@ -384,4 +384,4 @@ int ClangStaticAnalyzerLogFileReader::readInteger(bool *convertedSuccessfully)
}
} // namespace Internal
} // namespace ClangStaticAnalyzer
} // namespace ClangTools

View File

@@ -30,15 +30,15 @@
#include <QList>
#include <QCoreApplication>
namespace ClangStaticAnalyzer {
namespace ClangTools {
namespace Internal {
class LogFileReader
{
Q_DECLARE_TR_FUNCTIONS(ClangStaticAnalyzer::Internal::LogFileReader)
Q_DECLARE_TR_FUNCTIONS(ClangTools::Internal::LogFileReader)
public:
static QList<Diagnostic> read(const QString &filePath, QString *errorMessage);
};
} // namespace Internal
} // namespace ClangStaticAnalyzer
} // namespace ClangTools

View File

@@ -93,7 +93,7 @@ private:
QStringList m_projectsToWaitFor;
};
namespace ClangStaticAnalyzer {
namespace ClangTools {
namespace Internal {
void ClangStaticAnalyzerPreconfiguredSessionTests::initTestCase()
@@ -232,4 +232,4 @@ bool ClangStaticAnalyzerPreconfiguredSessionTests::switchToProjectAndTarget(Proj
}
} // namespace Internal
} // namespace ClangStaticAnalyzerPlugin
} // namespace ClangTools

View File

@@ -33,7 +33,7 @@ class Project;
class Target;
}
namespace ClangStaticAnalyzer {
namespace ClangTools {
namespace Internal {
class ClangStaticAnalyzerPreconfiguredSessionTests: public QObject
@@ -52,4 +52,4 @@ private:
};
} // namespace Internal
} // namespace ClangStaticAnalyzerPlugin
} // namespace ClangTools

View File

@@ -29,7 +29,7 @@
#include <utils/qtcassert.h>
namespace ClangStaticAnalyzer {
namespace ClangTools {
namespace Internal {
static QString suppressedDiagnosticsKey()
@@ -142,4 +142,4 @@ SuppressedDiagnostic::SuppressedDiagnostic(const Diagnostic &diag)
}
} // namespace Internal
} // namespace ClangStaticAnalyzer
} // namespace ClangTools

View File

@@ -31,7 +31,7 @@
#include <QList>
#include <QObject>
namespace ClangStaticAnalyzer {
namespace ClangTools {
namespace Internal {
class Diagnostic;
@@ -89,4 +89,4 @@ private:
};
} // namespace Internal
} // namespace ClangStaticAnalyzer
} // namespace ClangTools

View File

@@ -29,7 +29,7 @@
#include <projectexplorer/session.h>
namespace ClangStaticAnalyzer {
namespace ClangTools {
namespace Internal {
ProjectSettingsManager::ProjectSettingsManager()
@@ -55,4 +55,4 @@ void ProjectSettingsManager::handleProjectToBeRemoved(ProjectExplorer::Project *
ProjectSettingsManager::SettingsMap ProjectSettingsManager::m_settings;
} // namespace Internal
} // namespace ClangStaticAnalyzer
} // namespace ClangTools

View File

@@ -30,7 +30,7 @@ namespace ProjectExplorer { class Project; }
#include <QHash>
#include <QSharedPointer>
namespace ClangStaticAnalyzer {
namespace ClangTools {
namespace Internal {
class ProjectSettings;
@@ -49,4 +49,4 @@ private:
};
} // namespace Internal
} // namespace ClangStaticAnalyzer
} // namespace ClangTools

View File

@@ -33,7 +33,7 @@
#include <QAbstractTableModel>
namespace ClangStaticAnalyzer {
namespace ClangTools {
namespace Internal {
class SuppressedDiagnosticsModel : public QAbstractTableModel
@@ -163,6 +163,6 @@ QVariant SuppressedDiagnosticsModel::data(const QModelIndex &index, int role) co
}
} // namespace Internal
} // namespace ClangStaticAnalyzer
} // namespace ClangTools
#include "clangstaticanalyzerprojectsettingswidget.moc"

View File

@@ -29,7 +29,7 @@
namespace ProjectExplorer { class Project; }
namespace ClangStaticAnalyzer {
namespace ClangTools {
namespace Internal {
class ProjectSettings;
@@ -54,4 +54,4 @@ private:
};
} // namespace Internal
} // namespace ClangStaticAnalyzer
} // namespace ClangTools

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>ClangStaticAnalyzer::Internal::ProjectSettingsWidget</class>
<widget class="QWidget" name="ClangStaticAnalyzer::Internal::ProjectSettingsWidget">
<class>ClangTools::Internal::ProjectSettingsWidget</class>
<widget class="QWidget" name="ClangTools::Internal::ProjectSettingsWidget">
<property name="geometry">
<rect>
<x>0</x>

View File

@@ -106,7 +106,7 @@ static QStringList extraClangStaticAnalyzerAppendOptions() {
return options;
}
namespace ClangStaticAnalyzer {
namespace ClangTools {
namespace Internal {
class ProjectBuilder : public RunWorker
@@ -665,4 +665,4 @@ void ClangStaticAnalyzerToolRunner::finalize()
}
} // namespace Internal
} // namespace ClangStaticAnalyzer
} // namespace ClangTools

View File

@@ -32,7 +32,7 @@
#include <QFutureInterface>
#include <QStringList>
namespace ClangStaticAnalyzer {
namespace ClangTools {
namespace Internal {
class ClangStaticAnalyzerRunner;
@@ -97,4 +97,4 @@ private:
};
} // namespace Internal
} // namespace ClangStaticAnalyzer
} // namespace ClangTools

View File

@@ -38,7 +38,7 @@
static Q_LOGGING_CATEGORY(LOG, "qtc.clangstaticanalyzer.runner")
namespace ClangStaticAnalyzer {
namespace ClangTools {
namespace Internal {
static QString generalProcessError()
@@ -197,4 +197,4 @@ QString ClangStaticAnalyzerRunner::actualLogFile() const
}
} // namespace Internal
} // namespace ClangStaticAnalyzer
} // namespace ClangTools

View File

@@ -31,7 +31,7 @@
#include <utils/environment.h>
#include <utils/qtcassert.h>
namespace ClangStaticAnalyzer {
namespace ClangTools {
namespace Internal {
QString finishedWithBadExitCode(int exitCode); // exposed for tests
@@ -80,4 +80,4 @@ private:
};
} // namespace Internal
} // namespace ClangStaticAnalyzer
} // namespace ClangTools

View File

@@ -38,7 +38,7 @@
static const char clangExecutableKey[] = "clangExecutable";
static const char simultaneousProcessesKey[] = "simultaneousProcesses";
namespace ClangStaticAnalyzer {
namespace ClangTools {
namespace Internal {
ClangStaticAnalyzerSettings::ClangStaticAnalyzerSettings()
@@ -120,4 +120,4 @@ void ClangStaticAnalyzerSettings::writeSettings() const
}
} // namespace Internal
} // namespace ClangStaticAnalyzer
} // namespace ClangTools

View File

@@ -27,7 +27,7 @@
#include <QString>
namespace ClangStaticAnalyzer {
namespace ClangTools {
namespace Internal {
class ClangStaticAnalyzerSettings
@@ -53,4 +53,4 @@ private:
};
} // namespace Internal
} // namespace ClangStaticAnalyzer
} // namespace ClangTools

View File

@@ -57,7 +57,7 @@ using namespace Debugger;
using namespace ProjectExplorer;
using namespace Utils;
namespace ClangStaticAnalyzer {
namespace ClangTools {
namespace Internal {
static ClangStaticAnalyzerTool *s_instance;
@@ -267,4 +267,4 @@ void ClangStaticAnalyzerTool::handleStateUpdate()
}
} // namespace Internal
} // namespace ClangStaticAnalyzer
} // namespace ClangTools

View File

@@ -28,7 +28,7 @@
#include <projectexplorer/runconfiguration.h>
#include <cpptools/projectinfo.h>
namespace ClangStaticAnalyzer {
namespace ClangTools {
namespace Internal {
class ClangStaticAnalyzerDiagnosticFilterModel;
@@ -76,4 +76,4 @@ private:
};
} // namespace Internal
} // namespace ClangStaticAnalyzer
} // namespace ClangTools

View File

@@ -45,7 +45,7 @@
using namespace ProjectExplorer;
using namespace Utils;
namespace ClangStaticAnalyzer {
namespace ClangTools {
namespace Internal {
void ClangStaticAnalyzerUnitTests::initTestCase()
@@ -129,4 +129,4 @@ void ClangStaticAnalyzerUnitTests::addTestRow(const QByteArray &relativeFilePath
}
} // namespace Internal
} // namespace ClangStaticAnalyzerPlugin
} // namespace ClangTools

View File

@@ -29,7 +29,7 @@
namespace CppTools { namespace Tests { class TemporaryCopiedDir; } }
namespace ClangStaticAnalyzer {
namespace ClangTools {
namespace Internal {
class ClangStaticAnalyzerUnitTests : public QObject
@@ -53,4 +53,4 @@ private:
};
} // namespace Internal
} // namespace ClangStaticAnalyzerPlugin
} // namespace ClangTools

View File

@@ -47,7 +47,7 @@ static bool isFileExecutable(const QString &executablePath)
return fileInfo.isFile() && fileInfo.isExecutable();
}
namespace ClangStaticAnalyzer {
namespace ClangTools {
namespace Internal {
QString clangExecutableFromSettings(bool *isValid)
@@ -153,4 +153,4 @@ ClangExecutableVersion clangExecutableVersion(const QString &executable)
}
} // namespace Internal
} // namespace ClangStaticAnalyzer
} // namespace ClangTools

View File

@@ -36,7 +36,7 @@ QT_END_NAMESPACE
namespace Debugger { class DiagnosticLocation; }
namespace ClangStaticAnalyzer {
namespace ClangTools {
namespace Internal {
bool isClangExecutableUsable(const QString &filePath, QString *errorMessage = 0);
@@ -71,4 +71,4 @@ public:
ClangExecutableVersion clangExecutableVersion(const QString &absolutePath);
} // namespace Internal
} // namespace ClangStaticAnalyzer
} // namespace ClangTools

View File

@@ -6,7 +6,7 @@ SOURCES += \
clangstaticanalyzerdiagnosticmodel.cpp \
clangstaticanalyzerdiagnosticview.cpp \
clangstaticanalyzerlogfilereader.cpp \
clangstaticanalyzerplugin.cpp \
clangtoolsplugin.cpp \
clangstaticanalyzerprojectsettings.cpp \
clangstaticanalyzerprojectsettingsmanager.cpp \
clangstaticanalyzerprojectsettingswidget.cpp \
@@ -24,7 +24,7 @@ HEADERS += \
clangstaticanalyzerdiagnosticview.h \
clangstaticanalyzer_global.h \
clangstaticanalyzerlogfilereader.h \
clangstaticanalyzerplugin.h \
clangtoolsplugin.h \
clangstaticanalyzerprojectsettings.h \
clangstaticanalyzerprojectsettingsmanager.h \
clangstaticanalyzerprojectsettingswidget.h \

View File

@@ -1,4 +1,4 @@
QTC_PLUGIN_NAME = ClangStaticAnalyzer
QTC_PLUGIN_NAME = ClangTools
QTC_LIB_DEPENDS += \
extensionsystem \
utils

View File

@@ -23,7 +23,7 @@
**
****************************************************************************/
#include "clangstaticanalyzerplugin.h"
#include "clangtoolsplugin.h"
#include "clangstaticanalyzerconfigwidget.h"
#include "clangstaticanalyzerconstants.h"
@@ -60,7 +60,7 @@
using namespace ProjectExplorer;
namespace ClangStaticAnalyzer {
namespace ClangTools {
namespace Internal {
class ClangStaticAnalyzerOptionsPage : public Core::IOptionsPage
@@ -70,7 +70,7 @@ public:
{
setId("Analyzer.ClangStaticAnalyzer.Settings"); // TODO: Get it from "clangstaticanalyzersettings.h"
setDisplayName(QCoreApplication::translate(
"ClangStaticAnalyzer::Internal::ClangStaticAnalyzerOptionsPage",
"ClangTools::Internal::ClangStaticAnalyzerOptionsPage",
"Clang Static Analyzer"));
setCategory("T.Analyzer");
setDisplayCategory(QCoreApplication::translate("Analyzer", "Analyzer"));
@@ -98,24 +98,24 @@ private:
QPointer<QWidget> m_widget;
};
class ClangStaticAnalyzerPluginPrivate
class ClangToolsPluginPrivate
{
public:
ClangStaticAnalyzerTool tool;
ClangStaticAnalyzerOptionsPage optionsPage;
};
ClangStaticAnalyzerPlugin::~ClangStaticAnalyzerPlugin()
ClangToolsPlugin::~ClangToolsPlugin()
{
delete d;
}
bool ClangStaticAnalyzerPlugin::initialize(const QStringList &arguments, QString *errorString)
bool ClangToolsPlugin::initialize(const QStringList &arguments, QString *errorString)
{
Q_UNUSED(arguments);
Q_UNUSED(errorString);
d = new ClangStaticAnalyzerPluginPrivate;
d = new ClangToolsPluginPrivate;
auto panelFactory = new ProjectPanelFactory();
panelFactory->setPriority(100);
@@ -126,7 +126,7 @@ bool ClangStaticAnalyzerPlugin::initialize(const QStringList &arguments, QString
return true;
}
QList<QObject *> ClangStaticAnalyzerPlugin::createTestObjects() const
QList<QObject *> ClangToolsPlugin::createTestObjects() const
{
QList<QObject *> tests;
#ifdef WITH_TESTS
@@ -137,4 +137,4 @@ QList<QObject *> ClangStaticAnalyzerPlugin::createTestObjects() const
}
} // namespace Internal
} // namespace ClangStaticAnalyzerPlugin
} // namespace ClangTools

View File

@@ -27,25 +27,25 @@
#include <extensionsystem/iplugin.h>
namespace ClangStaticAnalyzer {
namespace ClangTools {
namespace Internal {
class ClangStaticAnalyzerPlugin : public ExtensionSystem::IPlugin
class ClangToolsPlugin : public ExtensionSystem::IPlugin
{
Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "ClangStaticAnalyzer.json")
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "ClangTools.json")
public:
ClangStaticAnalyzerPlugin() = default;
~ClangStaticAnalyzerPlugin() final;
ClangToolsPlugin() = default;
~ClangToolsPlugin() final;
private:
bool initialize(const QStringList &arguments, QString *errorString) final;
void extensionsInitialized() final {}
QList<QObject *> createTestObjects() const final;
class ClangStaticAnalyzerPluginPrivate *d = nullptr;
class ClangToolsPluginPrivate *d = nullptr;
};
} // namespace Internal
} // namespace ClangStaticAnalyzerPlugin
} // namespace ClangTools

View File

@@ -4,7 +4,7 @@ TEMPLATE = subdirs
SUBDIRS = \
autotest \
clangstaticanalyzer \
clangtools \
coreplugin \
texteditor \
cppeditor \

View File

@@ -23,7 +23,7 @@
**
****************************************************************************/
#include <clangstaticanalyzer/clangstaticanalyzerlogfilereader.h>
#include <clangtools/clangstaticanalyzerlogfilereader.h>
#include <utils/fileutils.h>
@@ -32,7 +32,7 @@
enum { debug = 0 };
using namespace Debugger;
using namespace ClangStaticAnalyzer::Internal;
using namespace ClangTools::Internal;
namespace {

View File

@@ -23,15 +23,15 @@
**
****************************************************************************/
#include <clangstaticanalyzer/clangstaticanalyzerconstants.h>
#include <clangstaticanalyzer/clangstaticanalyzerrunner.h>
#include <clangtools/clangstaticanalyzerconstants.h>
#include <clangtools/clangstaticanalyzerrunner.h>
#include <utils/hostosinfo.h>
#include <utils/temporarydirectory.h>
#include <QtTest>
using namespace ClangStaticAnalyzer::Internal;
using namespace ClangTools::Internal;
static QString clangExecutablePath()
{