aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNikolai Kosjar <[email protected]>2019-10-31 10:40:03 +0100
committerNikolai Kosjar <[email protected]>2019-12-03 13:24:11 +0000
commit7bb333f15a3a5633d3373416aad4dd900de62aee (patch)
tree899da94783ff6224a6faafad1ac7994443f11abd /src
parent4d09e7771985720ea033f602fb21531cad1af634 (diff)
CppTools: Add convenience functions to ClangDiagnosticConfig
Change-Id: Iebf01e1ab71dc3500cc6e492c525735f300272ca Reviewed-by: Cristian Adam <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/clangtools/clangtoolruncontrol.cpp4
-rw-r--r--src/plugins/clangtools/clangtoolssettings.cpp2
-rw-r--r--src/plugins/cpptools/clangdiagnosticconfig.cpp10
-rw-r--r--src/plugins/cpptools/clangdiagnosticconfig.h4
4 files changed, 17 insertions, 3 deletions
diff --git a/src/plugins/clangtools/clangtoolruncontrol.cpp b/src/plugins/clangtools/clangtoolruncontrol.cpp
index 4cf49a46385..82c2ba0b38c 100644
--- a/src/plugins/clangtools/clangtoolruncontrol.cpp
+++ b/src/plugins/clangtools/clangtoolruncontrol.cpp
@@ -258,10 +258,10 @@ QList<RunnerCreator> ClangToolRunWorker::runnerCreators()
{
QList<RunnerCreator> creators;
- if (m_diagnosticConfig.clangTidyChecks() != "-*")
+ if (m_diagnosticConfig.isClangTidyEnabled())
creators << [this]() { return createRunner<ClangTidyRunner>(); };
- if (!m_diagnosticConfig.clazyChecks().isEmpty()) {
+ if (m_diagnosticConfig.isClazyEnabled()) {
if (!qEnvironmentVariable("QTC_USE_CLAZY_STANDALONE_PATH").isEmpty())
creators << [this]() { return createRunner<ClazyStandaloneRunner>(); };
else
diff --git a/src/plugins/clangtools/clangtoolssettings.cpp b/src/plugins/clangtools/clangtoolssettings.cpp
index fa2e48c844b..cbd15f512fc 100644
--- a/src/plugins/clangtools/clangtoolssettings.cpp
+++ b/src/plugins/clangtools/clangtoolssettings.cpp
@@ -118,7 +118,7 @@ ClangDiagnosticConfigs importDiagnosticConfigsFromCodeModel()
ClangDiagnosticConfigs clangOnlyConfigs;
std::tie(tidyClazyConfigs, clangOnlyConfigs)
= Utils::partition(configs, [](const ClangDiagnosticConfig &config) {
- return !config.clazyChecks().isEmpty() || config.clangTidyChecks() != "-*";
+ return config.isClazyEnabled() || config.isClangTidyEnabled();
});
if (!tidyClazyConfigs.isEmpty()) {
diff --git a/src/plugins/cpptools/clangdiagnosticconfig.cpp b/src/plugins/cpptools/clangdiagnosticconfig.cpp
index 32ef607b1a7..7b318a61f9a 100644
--- a/src/plugins/cpptools/clangdiagnosticconfig.cpp
+++ b/src/plugins/cpptools/clangdiagnosticconfig.cpp
@@ -130,6 +130,11 @@ void ClangDiagnosticConfig::setClangTidyChecks(const QString &checks)
m_clangTidyChecks = checks;
}
+bool ClangDiagnosticConfig::isClangTidyEnabled() const
+{
+ return m_clangTidyMode != TidyMode::UseCustomChecks || clangTidyChecks() != "-*";
+}
+
QString ClangDiagnosticConfig::clazyChecks() const
{
return m_clazyChecks;
@@ -140,6 +145,11 @@ void ClangDiagnosticConfig::setClazyChecks(const QString &checks)
m_clazyChecks = checks;
}
+bool ClangDiagnosticConfig::isClazyEnabled() const
+{
+ return m_clazyMode != ClazyMode::UseCustomChecks || !m_clazyChecks.isEmpty();
+}
+
static QString convertToNewClazyChecksFormat(const QString &checks)
{
// Before Qt Creator 4.9 valid values for checks were: "", "levelN".
diff --git a/src/plugins/cpptools/clangdiagnosticconfig.h b/src/plugins/cpptools/clangdiagnosticconfig.h
index c0cf48cdec3..76f5983c1de 100644
--- a/src/plugins/cpptools/clangdiagnosticconfig.h
+++ b/src/plugins/cpptools/clangdiagnosticconfig.h
@@ -71,6 +71,8 @@ public:
QString clangTidyChecks() const;
void setClangTidyChecks(const QString &checks);
+ bool isClangTidyEnabled() const;
+
// Clazy
enum class ClazyMode
{
@@ -83,6 +85,8 @@ public:
QString clazyChecks() const;
void setClazyChecks(const QString &checks);
+ bool isClazyEnabled() const;
+
bool operator==(const ClangDiagnosticConfig &other) const;
bool operator!=(const ClangDiagnosticConfig &other) const;