Clang: Introduce warning configuration per project

Change-Id: I5b9a330274e6f72b0786259eb25aa454877d4eef
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
This commit is contained in:
Nikolai Kosjar
2016-02-26 17:50:38 +01:00
parent b590642a85
commit 83e18c127c
17 changed files with 600 additions and 40 deletions

View File

@@ -32,7 +32,6 @@
#include <QCoreApplication>
namespace CppTools {
namespace Internal {
static void addConfigForQuestionableConstructs(ClangDiagnosticConfigsModel &model)
{
@@ -110,6 +109,11 @@ const ClangDiagnosticConfig &ClangDiagnosticConfigsModel::at(int index) const
return m_diagnosticConfigs.at(index);
}
void ClangDiagnosticConfigsModel::prepend(const ClangDiagnosticConfig &config)
{
m_diagnosticConfigs.prepend(config);
}
void ClangDiagnosticConfigsModel::appendOrUpdate(const ClangDiagnosticConfig &config)
{
const int index = indexOfConfig(config.id());
@@ -130,11 +134,25 @@ ClangDiagnosticConfigs ClangDiagnosticConfigsModel::configs() const
return m_diagnosticConfigs;
}
bool ClangDiagnosticConfigsModel::hasConfigWithId(const Core::Id &id) const
{
return indexOfConfig(id) != -1;
}
const ClangDiagnosticConfig &ClangDiagnosticConfigsModel::configWithId(const Core::Id &id) const
{
return m_diagnosticConfigs.at(indexOfConfig(id));
}
QString
ClangDiagnosticConfigsModel::displayNameWithBuiltinIndication(const ClangDiagnosticConfig &config)
{
return config.isReadOnly()
? QCoreApplication::translate("ClangDiagnosticConfigsModel", "%1 [built-in]")
.arg(config.displayName())
: config.displayName();
}
int ClangDiagnosticConfigsModel::indexOfConfig(const Core::Id &id) const
{
return Utils::indexOf(m_diagnosticConfigs, [&](const ClangDiagnosticConfig &config) {
@@ -142,5 +160,4 @@ int ClangDiagnosticConfigsModel::indexOfConfig(const Core::Id &id) const
});
}
} // namespace Internal
} // namespace CppTools