diff options
author | Marc Mutz <marc.mutz@qt.io> | 2022-10-08 19:56:03 +0200 |
---|---|---|
committer | Marc Mutz <marc.mutz@qt.io> | 2022-10-13 00:18:35 +0200 |
commit | 5eb52b725526c26d0efa3856b6aba1919010f8fd (patch) | |
tree | 64d1bde7a2cc624e586228c9768c7eb1ea360e6c /src/qmlmodels/qqmllistaccessor.cpp | |
parent | e1a0596924766d62459740ed0271114a7bb99851 (diff) |
Port from container::count() and length() to size() - V5
This is a semantic patch using ClangTidyTransformator as in
qtbase/df9d882d41b741fef7c5beeddb0abe9d904443d8, but extended to
handle typedefs and accesses through pointers, too:
const std::string o = "object";
auto hasTypeIgnoringPointer = [](auto type) { return anyOf(hasType(type), hasType(pointsTo(type))); };
auto derivedFromAnyOfClasses = [&](ArrayRef<StringRef> classes) {
auto exprOfDeclaredType = [&](auto decl) {
return expr(hasTypeIgnoringPointer(hasUnqualifiedDesugaredType(recordType(hasDeclaration(decl))))).bind(o);
};
return exprOfDeclaredType(cxxRecordDecl(isSameOrDerivedFrom(hasAnyName(classes))));
};
auto renameMethod = [&] (ArrayRef<StringRef> classes,
StringRef from, StringRef to) {
return makeRule(cxxMemberCallExpr(on(derivedFromAnyOfClasses(classes)),
callee(cxxMethodDecl(hasName(from), parameterCountIs(0)))),
changeTo(cat(access(o, cat(to)), "()")),
cat("use '", to, "' instead of '", from, "'"));
};
renameMethod(<classes>, "count", "size");
renameMethod(<classes>, "length", "size");
except that on() was replaced with a matcher that doesn't ignoreParens().
a.k.a qt-port-to-std-compatible-api V5 with config Scope: 'Container'.
Change-Id: I58e1b41b91c34d2e860dbb5847b3752edbfc6fc9
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'src/qmlmodels/qqmllistaccessor.cpp')
-rw-r--r-- | src/qmlmodels/qqmllistaccessor.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/qmlmodels/qqmllistaccessor.cpp b/src/qmlmodels/qqmllistaccessor.cpp index d68d0a2b90..0e57c3c4e9 100644 --- a/src/qmlmodels/qqmllistaccessor.cpp +++ b/src/qmlmodels/qqmllistaccessor.cpp @@ -94,16 +94,16 @@ qsizetype QQmlListAccessor::count() const switch(m_type) { case StringList: Q_ASSERT(d.metaType() == QMetaType::fromType<QStringList>()); - return reinterpret_cast<const QStringList *>(d.constData())->count(); + return reinterpret_cast<const QStringList *>(d.constData())->size(); case UrlList: Q_ASSERT(d.metaType() == QMetaType::fromType<QList<QUrl>>()); - return reinterpret_cast<const QList<QUrl> *>(d.constData())->count(); + return reinterpret_cast<const QList<QUrl> *>(d.constData())->size(); case VariantList: Q_ASSERT(d.metaType() == QMetaType::fromType<QVariantList>()); - return reinterpret_cast<const QVariantList *>(d.constData())->count(); + return reinterpret_cast<const QVariantList *>(d.constData())->size(); case ObjectList: Q_ASSERT(d.metaType() == QMetaType::fromType<QList<QObject *>>()); - return reinterpret_cast<const QList<QObject *> *>(d.constData())->count(); + return reinterpret_cast<const QList<QObject *> *>(d.constData())->size(); case ListProperty: Q_ASSERT(d.metaType() == QMetaType::fromType<QQmlListReference>()); return reinterpret_cast<const QQmlListReference *>(d.constData())->count(); |