forked from qt-creator/qt-creator
Port from qAsConst() to std::as_const()
We've been requiring C++17 since Qt 6.0, and our qAsConst use finally starts to bother us (QTBUG-99313), so time to port away from it now. Since qAsConst has exactly the same semantics as std::as_const (down to rvalue treatment, constexpr'ness and noexcept'ness), there's really nothing more to it than a global search-and-replace. Task-number: QTBUG-99313 Change-Id: I88edd91395849574436299b8badda21bb93bea39 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -26,7 +26,7 @@ public:
|
||||
return true;
|
||||
|
||||
SafeMatcher matcher;
|
||||
for (const T *existingItem : qAsConst(_container)) {
|
||||
for (const T *existingItem : std::as_const(_container)) {
|
||||
if (Matcher::match(existingItem, item, &matcher))
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -299,7 +299,7 @@ void Document::setLastModified(const QDateTime &lastModified)
|
||||
QStringList Document::includedFiles() const
|
||||
{
|
||||
QStringList files;
|
||||
for (const Include &i : qAsConst(_resolvedIncludes))
|
||||
for (const Include &i : std::as_const(_resolvedIncludes))
|
||||
files.append(i.resolvedFileName());
|
||||
files.removeDuplicates();
|
||||
return files;
|
||||
@@ -488,7 +488,7 @@ Symbol *Document::lastVisibleSymbolAt(int line, int column) const
|
||||
|
||||
const Macro *Document::findMacroDefinitionAt(int line) const
|
||||
{
|
||||
for (const Macro ¯o : qAsConst(_definedMacros)) {
|
||||
for (const Macro ¯o : std::as_const(_definedMacros)) {
|
||||
if (macro.line() == line)
|
||||
return ¯o;
|
||||
}
|
||||
@@ -497,7 +497,7 @@ const Macro *Document::findMacroDefinitionAt(int line) const
|
||||
|
||||
const Document::MacroUse *Document::findMacroUseAt(int utf16charsOffset) const
|
||||
{
|
||||
for (const Document::MacroUse &use : qAsConst(_macroUses)) {
|
||||
for (const Document::MacroUse &use : std::as_const(_macroUses)) {
|
||||
if (use.containsUtf16charOffset(utf16charsOffset)
|
||||
&& (utf16charsOffset < use.utf16charsBegin() + use.macro().nameToQString().size())) {
|
||||
return &use;
|
||||
@@ -508,7 +508,7 @@ const Document::MacroUse *Document::findMacroUseAt(int utf16charsOffset) const
|
||||
|
||||
const Document::UndefinedMacroUse *Document::findUndefinedMacroUseAt(int utf16charsOffset) const
|
||||
{
|
||||
for (const Document::UndefinedMacroUse &use : qAsConst(_undefinedMacroUses)) {
|
||||
for (const Document::UndefinedMacroUse &use : std::as_const(_undefinedMacroUses)) {
|
||||
if (use.containsUtf16charOffset(utf16charsOffset)
|
||||
&& (utf16charsOffset < use.utf16charsBegin()
|
||||
+ QString::fromUtf8(use.name(), use.name().size()).length()))
|
||||
|
||||
@@ -399,7 +399,7 @@ private:
|
||||
if (!klass) {
|
||||
if (const auto namedType = baseExprType->asNamedType()) {
|
||||
items = context.lookup(namedType->name(), item->scope());
|
||||
for (const LookupItem &item : qAsConst(items)) {
|
||||
for (const LookupItem &item : std::as_const(items)) {
|
||||
if ((klass = item.type()->asClassType()))
|
||||
break;
|
||||
}
|
||||
@@ -410,7 +410,7 @@ private:
|
||||
items = context.lookup(memberAccess->member_name->name, klass);
|
||||
if (items.isEmpty())
|
||||
return Usage::Type::Other;
|
||||
for (const LookupItem &item : qAsConst(items)) {
|
||||
for (const LookupItem &item : std::as_const(items)) {
|
||||
if (item.type()->asFunctionType()) {
|
||||
if (item.type().isConst())
|
||||
return Usage::Type::Read;
|
||||
|
||||
@@ -1357,7 +1357,7 @@ ClassOrNamespace *ClassOrNamespace::nestedType(const Name *name,
|
||||
for (int i = 0; i < argumentCountOfSpecialization; ++i)
|
||||
templParams.insert(templateSpecialization->templateParameterAt(i)->name(), i);
|
||||
|
||||
for (const Name *baseName : qAsConst(allBases)) {
|
||||
for (const Name *baseName : std::as_const(allBases)) {
|
||||
ClassOrNamespace *baseBinding = nullptr;
|
||||
|
||||
if (const Identifier *nameId = baseName->asNameId()) {
|
||||
@@ -1435,7 +1435,7 @@ ClassOrNamespace *ClassOrNamespace::nestedType(const Name *name,
|
||||
|
||||
// Find the missing bases for regular (non-template) types.
|
||||
// Ex.: class A : public B<Some>::Type {};
|
||||
for (const Name *baseName : qAsConst(allBases)) {
|
||||
for (const Name *baseName : std::as_const(allBases)) {
|
||||
ClassOrNamespace *binding = this;
|
||||
if (const QualifiedNameId *qBaseName = baseName->asQualifiedNameId()) {
|
||||
if (const Name *qualification = qBaseName->base())
|
||||
|
||||
@@ -47,7 +47,7 @@ QString Macro::decoratedName() const
|
||||
if (f._functionLike) {
|
||||
text += QLatin1Char('(');
|
||||
bool first = true;
|
||||
for (const QByteArray &formal : qAsConst(_formals)) {
|
||||
for (const QByteArray &formal : std::as_const(_formals)) {
|
||||
if (! first)
|
||||
text += QLatin1String(", ");
|
||||
else
|
||||
|
||||
@@ -522,7 +522,7 @@ QString MatchingText::insertMatchingBrace(const QTextCursor &cursor, const QStri
|
||||
}
|
||||
|
||||
QString result;
|
||||
for (const QChar &ch : qAsConst(text)) {
|
||||
for (const QChar &ch : std::as_const(text)) {
|
||||
if (ch == QLatin1Char('(')) result += QLatin1Char(')');
|
||||
else if (ch == QLatin1Char('[')) result += QLatin1Char(']');
|
||||
else if (ch == QLatin1Char('{')) result += QLatin1Char('}');
|
||||
|
||||
Reference in New Issue
Block a user