QmlDesigner: Fix warning

Use a static constexpr variable instead of a global variable.
skipModules is only used in the function.

Change-Id: Icb4ad4663ce84f8aaa0c286acdc997dcd2e67aa0
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
Marco Bubke
2024-12-23 08:54:40 +01:00
parent d3aede431b
commit bad0bf8f61

View File

@@ -675,10 +675,14 @@ void TextToModelMerger::setupImports(const Document::Ptr &doc,
namespace {
#ifndef QDS_USE_PROJECTSTORAGE
bool skipModule(QStringView moduleName)
{
class StartsWith : public QStringView
{
public:
using QStringView::QStringView;
bool operator()(QStringView moduleName) const { return moduleName.startsWith(*this); }
};
@@ -686,6 +690,7 @@ class EndsWith : public QStringView
{
public:
using QStringView::QStringView;
bool operator()(QStringView moduleName) const { return moduleName.endsWith(*this); }
};
@@ -694,6 +699,7 @@ class StartsAndEndsWith : public std::pair<QStringView, QStringView>
public:
using Base = std::pair<QStringView, QStringView>;
using Base::Base;
bool operator()(QStringView moduleName) const
{
return moduleName.startsWith(first) && moduleName.endsWith(second);
@@ -704,10 +710,12 @@ class Equals : public QStringView
{
public:
using QStringView::QStringView;
bool operator()(QStringView moduleName) const { return moduleName == *this; }
};
constexpr auto skipModules = std::make_tuple(EndsWith(u".impl"),
static constexpr auto skipModules = std::make_tuple(
EndsWith(u".impl"),
StartsWith(u"QML"),
StartsWith(u"QtQml"),
StartsAndEndsWith(u"QtQuick", u".PrivateWidgets"),
@@ -758,8 +766,7 @@ constexpr auto skipModules = std::make_tuple(EndsWith(u".impl"),
StartsWith(u"QtQuick.Templates"),
StartsWith(u"QtQuick.VirtualKeyboard"),
StartsWith(u"QtQuick.tooling"),
StartsWith(
u"QtQuick3D MateriablacklistImportslEditor"),
StartsWith(u"QtQuick3D MateriablacklistImportslEditor"),
StartsWith(u"QtQuick3D.ParticleEffects"),
StartsWith(u"QtRemoteObjects"),
StartsWith(u"QtRemoveObjects"),
@@ -772,9 +779,6 @@ constexpr auto skipModules = std::make_tuple(EndsWith(u".impl"),
StartsWith(u"QtWebSockets"),
StartsWith(u"QtWebView"));
#ifndef QDS_USE_PROJECTSTORAGE
bool skipModule(QStringView moduleName)
{
return std::apply([=](const auto &...skipModule) { return (skipModule(moduleName) || ...); },
skipModules);
}