diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2023-09-15 13:48:00 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2023-10-02 11:10:26 +0200 |
commit | fd1615a1c1899fb9b5b0e6e66104f12a9a73cbb1 (patch) | |
tree | eefb924f9f133f150f3f2979303a43d773de5b8c | |
parent | 71a80f5268326828ea393077bb29279161e1e1a9 (diff) |
shiboken6: Fix some clang-tidy warnings
- narrowing conversion qsizetype->int
- Repeating return type for default-constructed values
- Make methods const
- Add missing references
- Use range-based for
- Use Q_DISABLE_COPY_MOVE where applicable
- Initialize variables
- Remove unused function parameters
Change-Id: I65290fe2dab5283a5cbbf6f82c413c3cf294f1bd
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
(cherry picked from commit 9c1c320e7e9095d6c0d59dbaefff664494361673)
29 files changed, 100 insertions, 115 deletions
diff --git a/sources/shiboken6/ApiExtractor/abstractmetaargument.cpp b/sources/shiboken6/ApiExtractor/abstractmetaargument.cpp index ecf6c2a1b..05cebe10a 100644 --- a/sources/shiboken6/ApiExtractor/abstractmetaargument.cpp +++ b/sources/shiboken6/ApiExtractor/abstractmetaargument.cpp @@ -191,7 +191,7 @@ QDebug operator<<(QDebug d, const AbstractMetaArgument *aa) d.noquote(); d.nospace(); d << "AbstractMetaArgument("; - if (aa) + if (aa != nullptr) d << aa->toString(); else d << '0'; diff --git a/sources/shiboken6/ApiExtractor/abstractmetabuilder.cpp b/sources/shiboken6/ApiExtractor/abstractmetabuilder.cpp index d02741d06..dc034dbff 100644 --- a/sources/shiboken6/ApiExtractor/abstractmetabuilder.cpp +++ b/sources/shiboken6/ApiExtractor/abstractmetabuilder.cpp @@ -57,7 +57,7 @@ using namespace Qt::StringLiterals; static QString stripTemplateArgs(const QString &name) { - int pos = name.indexOf(u'<'); + const auto pos = name.indexOf(u'<'); return pos < 0 ? name : name.left(pos); } @@ -150,7 +150,7 @@ const QHash<TypeEntryCPtr, AbstractMetaEnum> &AbstractMetaBuilder::typeEntryToEn return d->m_enums; } -void AbstractMetaBuilderPrivate::checkFunctionModifications() +void AbstractMetaBuilderPrivate::checkFunctionModifications() const { const auto &entries = TypeDatabase::instance()->entries(); @@ -465,7 +465,7 @@ static QStringList functionCandidates(const AbstractMetaFunctionCList &list, const QString &signature) { QString name = signature; - const int parenPos = name.indexOf(u'('); + const auto parenPos = name.indexOf(u'('); if (parenPos > 0) name.truncate(parenPos); QStringList result; @@ -591,7 +591,7 @@ void AbstractMetaBuilderPrivate::traverseDom(const FileModelItem &dom, ReportHandler::startProgress("Checked for inconsistencies in typesystem (" + QByteArray::number(allEntries.size()) + ")."); for (auto it = allEntries.cbegin(), end = allEntries.cend(); it != end; ++it) { - TypeEntryPtr entry = it.value(); + const TypeEntryPtr &entry = it.value(); if (!entry->isPrimitive()) { if ((entry->isValue() || entry->isObject()) && !types->shouldDropTypeEntry(entry->qualifiedCppName()) @@ -1010,7 +1010,7 @@ void AbstractMetaBuilderPrivate::traverseTypesystemTypedefs() { const auto &entries = TypeDatabase::instance()->typedefEntries(); for (auto it = entries.begin(), end = entries.end(); it != end; ++it) { - TypedefEntryPtr te = it.value(); + const TypedefEntryPtr &te = it.value(); auto metaClass = std::make_shared<AbstractMetaClass>(); metaClass->setTypeDef(true); metaClass->setTypeEntry(te->target()); @@ -1177,20 +1177,20 @@ void AbstractMetaBuilderPrivate::traverseClassMembers(const ClassModelItem &item traverseScopeMembers(item, metaClass); } -void AbstractMetaBuilderPrivate::traverseUsingMembers(const AbstractMetaClassPtr &metaClass) +void AbstractMetaBuilderPrivate::traverseUsingMembers(const AbstractMetaClassPtr &metaClass) const { const _CodeModelItem *item = m_classToItem.value(metaClass); if (item == nullptr || item->kind() != _CodeModelItem::Kind_Class) return; - auto classItem = static_cast<const _ClassModelItem *>(item); + const auto *classItem = static_cast<const _ClassModelItem *>(item); for (const auto &um : classItem->usingMembers()) { QString className = um.className; - int pos = className.indexOf(u'<'); // strip "QList<value>" + auto pos = className.indexOf(u'<'); // strip "QList<value>" if (pos != -1) className.truncate(pos); if (auto baseClass = findBaseClass(metaClass, className)) { QString name = um.memberName; - const int lastQualPos = name.lastIndexOf(u"::"_s); + const auto lastQualPos = name.lastIndexOf(u"::"_s); if (lastQualPos != -1) name.remove(0, lastQualPos + 2); metaClass->addUsingMember({name, baseClass, um.access}); @@ -1359,7 +1359,7 @@ AbstractMetaFunctionRawPtrList return result; } -void AbstractMetaBuilderPrivate::traverseFunctions(ScopeModelItem scopeItem, +void AbstractMetaBuilderPrivate::traverseFunctions(const ScopeModelItem& scopeItem, const AbstractMetaClassPtr &metaClass) { AbstractMetaClass::Attributes constructorAttributes; @@ -1602,7 +1602,7 @@ bool AbstractMetaBuilderPrivate::setupInheritance(const AbstractMetaClassPtr &me } else { QString message; QTextStream(&message) << "Class \"" << defaultSuperclassName - << "\" specified as \"default-superclass\" of \"" << metaClass->name() + << R"(" specified as "default-superclass" of ")" << metaClass->name() << "\" could not be found in the code model."; qCWarning(lcShiboken, "%s", qPrintable(message)); } @@ -1928,7 +1928,7 @@ static AbstractMetaType createViewOnType(const AbstractMetaType &metaType, // (std::span<T, int N>) is mapped onto a std::vector<T>, // remove the superfluous template parameters and strip 'const'. const auto vcte = std::static_pointer_cast<const ContainerTypeEntry>(viewOnTypeEntry); - const auto instantiations = metaType.instantiations(); + const auto &instantiations = metaType.instantiations(); AbstractMetaTypeList viewInstantiations; const auto size = std::min(vcte->templateParameterCount(), instantiations.size()); for (qsizetype i = 0; i < size; ++i) { @@ -3545,7 +3545,7 @@ static QList<std::shared_ptr<MetaClass> > QString message; QTextStream str(&message); str << "Cyclic dependency of classes found:"; - for (auto c : result.cyclic) + for (const auto &c : result.cyclic) str << ' ' << c->name(); str << ". Graph can be found at \"" << QDir::toNativeSeparators(tempFile.fileName()) << '"'; qCWarning(lcShiboken, "%s", qPrintable(message)); diff --git a/sources/shiboken6/ApiExtractor/abstractmetabuilder_p.h b/sources/shiboken6/ApiExtractor/abstractmetabuilder_p.h index 49ae779c4..39ade6438 100644 --- a/sources/shiboken6/ApiExtractor/abstractmetabuilder_p.h +++ b/sources/shiboken6/ApiExtractor/abstractmetabuilder_p.h @@ -84,7 +84,7 @@ public: void traverseScopeMembers(const ScopeModelItem &item, const AbstractMetaClassPtr &metaClass); void traverseClassMembers(const ClassModelItem &scopeItem); - void traverseUsingMembers(const AbstractMetaClassPtr &metaClass); + void traverseUsingMembers(const AbstractMetaClassPtr &metaClass) const; void traverseNamespaceMembers(const NamespaceModelItem &scopeItem); bool setupInheritance(const AbstractMetaClassPtr &metaClass); AbstractMetaClassPtr traverseNamespace(const FileModelItem &dom, @@ -97,7 +97,8 @@ public: AbstractMetaFunctionRawPtrList classFunctionList(const ScopeModelItem &scopeItem, AbstractMetaClass::Attributes *constructorAttributes, const AbstractMetaClassPtr ¤tClass); - void traverseFunctions(ScopeModelItem item, const AbstractMetaClassPtr &parent); + void traverseFunctions(const ScopeModelItem& item, + const AbstractMetaClassPtr &parent); static void applyFunctionModifications(AbstractMetaFunction *func); void traverseFields(const ScopeModelItem &item, const AbstractMetaClassPtr &parent); bool traverseStreamOperator(const FunctionModelItem &functionItem, @@ -120,7 +121,7 @@ public: const AbstractMetaClassPtr ¤tClass); std::optional<AbstractMetaField> traverseField(const VariableModelItem &field, const AbstractMetaClassCPtr &cls); - void checkFunctionModifications(); + void checkFunctionModifications() const; void registerHashFunction(const FunctionModelItem &functionItem, const AbstractMetaClassPtr ¤tClass); void registerToStringCapabilityIn(const NamespaceModelItem &namespaceItem); @@ -215,7 +216,7 @@ public: void fixSmartPointers(); - AbstractMetaBuilder *q; + AbstractMetaBuilder *q = nullptr; AbstractMetaClassList m_metaClasses; AbstractMetaClassList m_templates; AbstractMetaClassList m_smartPointers; diff --git a/sources/shiboken6/ApiExtractor/abstractmetatype.cpp b/sources/shiboken6/ApiExtractor/abstractmetatype.cpp index ae9f3b07e..59296734a 100644 --- a/sources/shiboken6/ApiExtractor/abstractmetatype.cpp +++ b/sources/shiboken6/ApiExtractor/abstractmetatype.cpp @@ -1052,7 +1052,7 @@ void AbstractMetaType::formatDebug(QDebug &debug) const for (auto i : indirections) debug << ' ' << TypeInfo::indirectionKeyword(i); } - if (referenceType()) + if (referenceType() != NoReference) debug << ", reftype=" << referenceType(); if (isConstant()) debug << ", [const]"; diff --git a/sources/shiboken6/ApiExtractor/addedfunction.cpp b/sources/shiboken6/ApiExtractor/addedfunction.cpp index 3f781bf56..efb5fb997 100644 --- a/sources/shiboken6/ApiExtractor/addedfunction.cpp +++ b/sources/shiboken6/ApiExtractor/addedfunction.cpp @@ -87,7 +87,7 @@ Arguments splitParameters(QStringView paramString, QString *errorMessage) for (const auto &t : tokens) { Argument argument; // Check defaultValue, "int @b@=5" - const int equalPos = t.lastIndexOf(u'='); + const auto equalPos = t.lastIndexOf(u'='); if (equalPos != -1) { const int defaultValuePos = equalPos + 1; argument.defaultValue = @@ -95,7 +95,7 @@ Arguments splitParameters(QStringView paramString, QString *errorMessage) } QString typeString = (equalPos != -1 ? t.left(equalPos) : t).trimmed().toString(); // Check @name@ - const int atPos = typeString.indexOf(u'@'); + const auto atPos = typeString.indexOf(u'@'); if (atPos != -1) { const int namePos = atPos + 1; const int nameEndPos = typeString.indexOf(u'@', namePos); @@ -143,16 +143,16 @@ AddedFunction::AddedFunctionPtr QStringView signature = QStringView{signatureIn}.trimmed(); // Skip past "operator()(...)" - const int parenSearchStartPos = signature.startsWith(callOperator()) + const auto parenSearchStartPos = signature.startsWith(callOperator()) ? callOperator().size() : 0; - const int openParenPos = signature.indexOf(u'(', parenSearchStartPos); + const auto openParenPos = signature.indexOf(u'(', parenSearchStartPos); if (openParenPos < 0) { return AddedFunctionPtr(new AddedFunction(signature.toString(), arguments, returnType)); } const QString name = signature.left(openParenPos).trimmed().toString(); - const int closingParenPos = signature.lastIndexOf(u')'); + const auto closingParenPos = signature.lastIndexOf(u')'); if (closingParenPos < 0) { *errorMessage = u"Missing closing parenthesis"_s; return {}; @@ -160,8 +160,8 @@ AddedFunction::AddedFunctionPtr // Check for "foo() const" bool isConst = false; - const int signatureLength = signature.length(); - const int qualifierLength = signatureLength - closingParenPos - 1; + const auto signatureLength = signature.length(); + const auto qualifierLength = signatureLength - closingParenPos - 1; if (qualifierLength >= 5 && signature.right(qualifierLength).contains(u"const")) { isConst = true; diff --git a/sources/shiboken6/ApiExtractor/apiextractor.cpp b/sources/shiboken6/ApiExtractor/apiextractor.cpp index 137a134aa..350539869 100644 --- a/sources/shiboken6/ApiExtractor/apiextractor.cpp +++ b/sources/shiboken6/ApiExtractor/apiextractor.cpp @@ -573,7 +573,7 @@ ApiExtractorPrivate::collectInstantiatedContainersAndSmartPointers(Instantiation // The list of inner classes might be extended when smart pointer // instantiations are specified to be in namespaces. - auto &innerClasses = metaClass->innerClasses(); + const auto &innerClasses = metaClass->innerClasses(); for (auto i = innerClasses.size() - 1; i >= 0; --i) { const auto innerClass = innerClasses.at(i); if (!innerClass->typeEntry()->isSmartPointer()) @@ -663,7 +663,7 @@ void ApiExtractorPrivate::collectContainerTypesFromSnippets(InstantiationCollect const ContainerTypeEntryCList &containerTypeList = td->containerTypes(); for (const auto &type : containerTypeList) getCode(snips, type); - for (auto metaClass : m_builder->classes()) + for (const auto &metaClass : m_builder->classes()) getCode(snips, metaClass->typeEntry()); const auto moduleEntry = td->defaultTypeSystemType(); @@ -685,8 +685,8 @@ ApiExtractorPrivate::collectContainerTypesFromConverterMacros(InstantiationColle bool toPythonMacro) { QString convMacro = toPythonMacro ? u"%CONVERTTOPYTHON["_s : u"%CONVERTTOCPP["_s; - int offset = toPythonMacro ? sizeof("%CONVERTTOPYTHON") : sizeof("%CONVERTTOCPP"); - int start = 0; + const qsizetype offset = toPythonMacro ? sizeof("%CONVERTTOPYTHON") : sizeof("%CONVERTTOCPP"); + qsizetype start = 0; QString errorMessage; while ((start = code.indexOf(convMacro, start)) != -1) { int end = code.indexOf(u']', start); diff --git a/sources/shiboken6/ApiExtractor/clangparser/clangparser.h b/sources/shiboken6/ApiExtractor/clangparser/clangparser.h index 5e6eba82e..4a46248e4 100644 --- a/sources/shiboken6/ApiExtractor/clangparser/clangparser.h +++ b/sources/shiboken6/ApiExtractor/clangparser/clangparser.h @@ -40,7 +40,7 @@ enum class LocationType }; class BaseVisitor { - Q_DISABLE_COPY(BaseVisitor) + Q_DISABLE_COPY_MOVE(BaseVisitor) public: using Diagnostics = QList<Diagnostic>; diff --git a/sources/shiboken6/ApiExtractor/docparser.h b/sources/shiboken6/ApiExtractor/docparser.h index 664ace412..b5640d1d9 100644 --- a/sources/shiboken6/ApiExtractor/docparser.h +++ b/sources/shiboken6/ApiExtractor/docparser.h @@ -21,7 +21,7 @@ struct FunctionDocumentation; class DocParser { public: - Q_DISABLE_COPY(DocParser) + Q_DISABLE_COPY_MOVE(DocParser) using XQueryPtr = std::shared_ptr<XQuery>; diff --git a/sources/shiboken6/ApiExtractor/doxygenparser.cpp b/sources/shiboken6/ApiExtractor/doxygenparser.cpp index 2b8485ff5..2fdc3d1f6 100644 --- a/sources/shiboken6/ApiExtractor/doxygenparser.cpp +++ b/sources/shiboken6/ApiExtractor/doxygenparser.cpp @@ -207,7 +207,7 @@ Documentation DoxygenParser::retrieveModuleDocumentation(const QString& name){ qCWarning(lcShibokenDoc).noquote().nospace() << "Can't find doxygen XML file for module " << name << ", tried: " << QDir::toNativeSeparators(sourceFile); - return Documentation(); + return {}; } QString errorMessage; diff --git a/sources/shiboken6/ApiExtractor/modifications.cpp b/sources/shiboken6/ApiExtractor/modifications.cpp index 65a796938..4e08d8560 100644 --- a/sources/shiboken6/ApiExtractor/modifications.cpp +++ b/sources/shiboken6/ApiExtractor/modifications.cpp @@ -25,7 +25,7 @@ QString FunctionModification::accessModifierString() const return u"public"_s; if (isFriendly()) return u"friendly"_s; - return QString(); + return {}; } // ---------------------- FieldModification diff --git a/sources/shiboken6/ApiExtractor/parser/codemodel.cpp b/sources/shiboken6/ApiExtractor/parser/codemodel.cpp index 471589926..e58970182 100644 --- a/sources/shiboken6/ApiExtractor/parser/codemodel.cpp +++ b/sources/shiboken6/ApiExtractor/parser/codemodel.cpp @@ -72,7 +72,7 @@ static CodeModelItem findRecursion(const ScopeModelItem &scope, return tp; if (TemplateTypeAliasModelItem tta = scope->findTemplateTypeAlias(nameSegment)) return tta; - return CodeModelItem(); + return {}; } if (auto nestedClass = scope->findClass(nameSegment)) return findRecursion(nestedClass, qualifiedName, segment + 1); @@ -84,7 +84,7 @@ static CodeModelItem findRecursion(const ScopeModelItem &scope, } } } - return CodeModelItem(); + return {}; } CodeModelItem CodeModel::findItem(const QStringList &qualifiedName, const ScopeModelItem &scope) @@ -459,7 +459,7 @@ FunctionModelItem _ScopeModelItem::declaredFunction(const FunctionModelItem &ite return fun; } - return FunctionModelItem(); + return {}; } _ScopeModelItem::~_ScopeModelItem() = default; @@ -833,9 +833,7 @@ _ArgumentModelItem::_ArgumentModelItem(CodeModel *model, const QString &name, in { } -_ArgumentModelItem::~_ArgumentModelItem() -{ -} +_ArgumentModelItem::~_ArgumentModelItem() = default; TypeInfo _ArgumentModelItem::type() const { diff --git a/sources/shiboken6/ApiExtractor/parser/codemodel.h b/sources/shiboken6/ApiExtractor/parser/codemodel.h index 4204da48b..6d04b42ed 100644 --- a/sources/shiboken6/ApiExtractor/parser/codemodel.h +++ b/sources/shiboken6/ApiExtractor/parser/codemodel.h @@ -32,7 +32,7 @@ class CodeModel { Q_GADGET public: - Q_DISABLE_COPY(CodeModel) + Q_DISABLE_COPY_MOVE(CodeModel) enum FunctionType { Normal, diff --git a/sources/shiboken6/ApiExtractor/parser/typeinfo.cpp b/sources/shiboken6/ApiExtractor/parser/typeinfo.cpp index 2ff73f621..5fa9374ed 100644 --- a/sources/shiboken6/ApiExtractor/parser/typeinfo.cpp +++ b/sources/shiboken6/ApiExtractor/parser/typeinfo.cpp @@ -47,10 +47,10 @@ public: }; }; - ReferenceType m_referenceType; + ReferenceType m_referenceType = NoReference; }; -TypeInfoData::TypeInfoData() : flags(0), m_referenceType(NoReference) +TypeInfoData::TypeInfoData() : flags(0) { } @@ -98,7 +98,7 @@ TypeInfo TypeInfo::combine(const TypeInfo &__lhs, const TypeInfo &__rhs) __result.setArrayElements(__result.arrayElements() + __rhs.arrayElements()); - const auto instantiations = __rhs.instantiations(); + const auto &instantiations = __rhs.instantiations(); for (const auto &i : instantiations) __result.addInstantiation(i); @@ -313,7 +313,7 @@ TypeInfo TypeInfo::resolveType(CodeModelItem __item, TypeInfo const &__type, con for (qsizetype i = 0; i < count; ++i) aliasInstantiations[i] = concreteInstantiations.at(i); combined.setInstantiations(aliasInstantiations); - const CodeModelItem nextItem = __scope->model()->findItem(combined.qualifiedName(), __scope); + const CodeModelItem nextItem = CodeModel::findItem(combined.qualifiedName(), __scope); if (!nextItem) return combined; return resolveType(nextItem, combined, __scope); diff --git a/sources/shiboken6/ApiExtractor/propertyspec.cpp b/sources/shiboken6/ApiExtractor/propertyspec.cpp index 055e7def8..c676d3cf3 100644 --- a/sources/shiboken6/ApiExtractor/propertyspec.cpp +++ b/sources/shiboken6/ApiExtractor/propertyspec.cpp @@ -248,11 +248,11 @@ TypeSystemProperty QPropertySpec::typeSystemPropertyFromQ_Property(const QString } } - const int namePos = firstToken - 1; + const auto namePos = firstToken - 1; result.name = propertyTokens.at(namePos); result.type = propertyTokens.constFirst(); - for (int pos = 1; pos < namePos; ++pos) + for (qsizetype pos = 1; pos < namePos; ++pos) result.type += u' ' + propertyTokens.at(pos); // Fix errors like "Q_PROPERTY(QXYSeries *series .." to be of type "QXYSeries*" diff --git a/sources/shiboken6/ApiExtractor/typedatabase.cpp b/sources/shiboken6/ApiExtractor/typedatabase.cpp index a7b68b428..2e8a5950f 100644 --- a/sources/shiboken6/ApiExtractor/typedatabase.cpp +++ b/sources/shiboken6/ApiExtractor/typedatabase.cpp @@ -372,7 +372,7 @@ ContainerTypeEntryPtr TypeDatabase::findContainerType(const QString &name) const { QString template_name = name; - int pos = name.indexOf(u'<'); + const auto pos = name.indexOf(u'<'); if (pos > 0) template_name = name.left(pos); @@ -607,7 +607,7 @@ TypeEntryPtr TypeDatabasePrivate::resolveTypeDefEntry(const TypedefEntryPtr &typ QString *errorMessage) { QString sourceName = typedefEntry->sourceType(); - const int lessThanPos = sourceName.indexOf(u'<'); + const auto lessThanPos = sourceName.indexOf(u'<'); if (lessThanPos != -1) sourceName.truncate(lessThanPos); ComplexTypeEntryPtr source; @@ -715,7 +715,7 @@ FlagsTypeEntryPtr TypeDatabase::findFlagsType(const QString &name) const return std::static_pointer_cast<FlagsTypeEntry>(fte); } -void TypeDatabase::addFlagsType(FlagsTypeEntryPtr fte) +void TypeDatabase::addFlagsType(const FlagsTypeEntryPtr &fte) { d->m_flagsEntries[fte->originalName()] = fte; } @@ -1178,7 +1178,7 @@ bool TypeDatabase::shouldDropTypeEntry(const QString& fullTypeName) const return d->m_dropTypeEntries.contains(fullTypeName); } -void TypeDatabase::setDropTypeEntries(QStringList dropTypeEntries) +void TypeDatabase::setDropTypeEntries(const QStringList &dropTypeEntries) { d->m_dropTypeEntries = dropTypeEntries; d->m_dropTypeEntries.sort(); @@ -1205,7 +1205,7 @@ static void _computeTypeIndexes() const auto &allEntries = tdb->entries(); list.reserve(allEntries.size()); for (auto tit = allEntries.cbegin(), end = allEntries.cend(); tit != end; ++tit) { - TypeEntryPtr entry = tit.value(); + const TypeEntryPtr &entry = tit.value(); if (entry->isPrimitive() || entry->isContainer() || entry->isFunction() @@ -1401,7 +1401,7 @@ void TypeDatabase::formatBuiltinTypes(QDebug debug) const // Determine base types and their typedef'ed types QList<PrimitiveFormatListEntry> primitiveEntries; - for (auto &e : std::as_const(d->m_entries)) { + for (const auto &e : std::as_const(d->m_entries)) { if (e->isPrimitive()) { auto pe = std::static_pointer_cast<const PrimitiveTypeEntry>(e); auto basic = basicReferencedTypeEntry(pe); diff --git a/sources/shiboken6/ApiExtractor/typedatabase.h b/sources/shiboken6/ApiExtractor/typedatabase.h index 2d01ac035..4f7a4a4cc 100644 --- a/sources/shiboken6/ApiExtractor/typedatabase.h +++ b/sources/shiboken6/ApiExtractor/typedatabase.h @@ -137,7 +137,7 @@ public: const ComplexTypeEntryCPtr &source); FlagsTypeEntryPtr findFlagsType(const QString &name) const; - void addFlagsType(FlagsTypeEntryPtr fte); + void addFlagsType(const FlagsTypeEntryPtr &fte); TemplateEntryPtr findTemplate(const QString &name) const; @@ -182,7 +182,7 @@ public: bool shouldDropTypeEntry(const QString &fullTypeName) const; - void setDropTypeEntries(QStringList dropTypeEntries); + void setDropTypeEntries(const QStringList &dropTypeEntries); QString modifiedTypesystemFilepath(const QString &tsFile, const QString ¤tPath = QString()) const; diff --git a/sources/shiboken6/ApiExtractor/typeparser.cpp b/sources/shiboken6/ApiExtractor/typeparser.cpp index ebc1662c5..d08843011 100644 --- a/sources/shiboken6/ApiExtractor/typeparser.cpp +++ b/sources/shiboken6/ApiExtractor/typeparser.cpp @@ -166,7 +166,7 @@ TypeInfo TypeParser::parse(const QString &str, QString *errorMessage) Scanner::Token tok = scanner.nextToken(errorMessage); while (tok != Scanner::NoToken) { if (tok == Scanner::InvalidToken) - return TypeInfo(); + return {}; // switch (tok) { // case Scanner::StarToken: printf(" - *\n"); break; @@ -204,7 +204,7 @@ TypeInfo TypeParser::parse(const QString &str, QString *errorMessage) *errorMessage = message; else qWarning().noquote().nospace() << message; - return TypeInfo(); + return {}; } break; case Scanner::LessThanToken: @@ -251,7 +251,7 @@ TypeInfo TypeParser::parse(const QString &str, QString *errorMessage) *errorMessage = message; else qWarning().noquote().nospace() << message; - return TypeInfo(); + return {}; } case Scanner::Identifier: diff --git a/sources/shiboken6/ApiExtractor/typesystemparser.cpp b/sources/shiboken6/ApiExtractor/typesystemparser.cpp index ab7e2ad53..70f156bff 100644 --- a/sources/shiboken6/ApiExtractor/typesystemparser.cpp +++ b/sources/shiboken6/ApiExtractor/typesystemparser.cpp @@ -8,7 +8,6 @@ #include "containertypeentry.h" #include "customconversion.h" #include "customtypenentry.h" -#include "enumtypeentry.h" #include "flagstypeentry.h" #include "functiontypeentry.h" #include "namespacetypeentry.h" @@ -605,12 +604,12 @@ QString TypeSystemEntityResolver::readFile(const QString &entityName, QString *e path = TypeDatabase::instance()->modifiedTypesystemFilepath(fileName, m_currentPath); if (!QFileInfo::exists(path)) { *errorMessage = u"Unable to resolve: "_s + entityName; - return QString(); + return {}; } QFile file(path); if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { *errorMessage = msgCannotOpenForReading(file); - return QString(); + return {}; } QString result = QString::fromUtf8(file.readAll()).trimmed(); // Remove license header comments on which QXmlStreamReader chokes diff --git a/sources/shiboken6/generator/defaultvalue.cpp b/sources/shiboken6/generator/defaultvalue.cpp index c3983a2e3..89cc9fa77 100644 --- a/sources/shiboken6/generator/defaultvalue.cpp +++ b/sources/shiboken6/generator/defaultvalue.cpp @@ -47,7 +47,7 @@ QString DefaultValue::returnValue() const case DefaultValue::Pointer: return u"nullptr"_s; case DefaultValue::Void: - return QString(); + return {}; case DefaultValue::DefaultConstructorWithDefaultValues: return m_value + u"()"_s; case DefaultValue::DefaultConstructor: @@ -76,7 +76,7 @@ QString DefaultValue::initialization() const case DefaultValue::DefaultConstructorWithDefaultValues: break; } - return QString(); + return {}; } QString DefaultValue::constructorParameter() const diff --git a/sources/shiboken6/generator/generator.cpp b/sources/shiboken6/generator/generator.cpp index a0b36b509..3932887af 100644 --- a/sources/shiboken6/generator/generator.cpp +++ b/sources/shiboken6/generator/generator.cpp @@ -510,8 +510,7 @@ std::optional<DefaultValue> for (auto it = candidates.cbegin(), end = candidates.cend(); it != end; ++it) { const AbstractMetaArgumentList &arguments = it.value()->arguments(); QStringList args; - for (qsizetype i = 0, size = arguments.size(); i < size; ++i) { - const AbstractMetaArgument &arg = arguments.at(i); + for (const auto &arg : arguments) { if (arg.hasModifiedDefaultValueExpression()) { args << arg.defaultValueExpression(); // Spell out modified values break; diff --git a/sources/shiboken6/generator/generator.h b/sources/shiboken6/generator/generator.h index b383a145d..41fd6631a 100644 --- a/sources/shiboken6/generator/generator.h +++ b/sources/shiboken6/generator/generator.h @@ -30,6 +30,8 @@ QString getFilteredCppSignatureString(QString signature); class Generator { public: + Q_DISABLE_COPY_MOVE(Generator) + using OptionDescription = QPair<QString, QString>; using OptionDescriptions = QList<OptionDescription>; diff --git a/sources/shiboken6/generator/qtdoc/qtdocgenerator.cpp b/sources/shiboken6/generator/qtdoc/qtdocgenerator.cpp index 0d77b7440..d75d41e20 100644 --- a/sources/shiboken6/generator/qtdoc/qtdocgenerator.cpp +++ b/sources/shiboken6/generator/qtdoc/qtdocgenerator.cpp @@ -140,7 +140,7 @@ static inline QVersionNumber versionOf(const TypeEntryCPtr &te) if (!version.isNull() && version > QVersionNumber(0, 0)) return version; } - return QVersionNumber(); + return {}; } // Format a documentation reference (meth/attr): ":meth:`name<target>`" @@ -1255,7 +1255,7 @@ GeneratorDocumentation // QtXmlToSphinxDocGeneratorInterface QString QtDocGenerator::expandFunction(const QString &function) const { - const int firstDot = function.indexOf(u'.'); + const auto firstDot = function.indexOf(u'.'); AbstractMetaClassCPtr metaClass; if (firstDot != -1) { const auto className = QStringView{function}.left(firstDot); diff --git a/sources/shiboken6/generator/qtdoc/qtxmltosphinx.cpp b/sources/shiboken6/generator/qtdoc/qtxmltosphinx.cpp index 314f6d924..2fd016218 100644 --- a/sources/shiboken6/generator/qtdoc/qtxmltosphinx.cpp +++ b/sources/shiboken6/generator/qtdoc/qtxmltosphinx.cpp @@ -439,7 +439,7 @@ void QtXmlToSphinx::pushOutputBuffer() QString QtXmlToSphinx::popOutputBuffer() { Q_ASSERT(!m_buffers.isEmpty()); - QString result(*m_buffers.top().get()); + QString result(*m_buffers.top()); m_buffers.pop(); m_output.setString(m_buffers.isEmpty() ? nullptr : m_buffers.top().get()); return result; @@ -704,7 +704,7 @@ QString QtXmlToSphinx::readFromLocation(const QString &location, const QString & QTextStream(errorMessage) << "Could not read code snippet file: " << QDir::toNativeSeparators(inputFile.fileName()) << ": " << inputFile.errorString(); - return QString(); // null + return {}; // null } QString code = u""_s; // non-null @@ -1218,10 +1218,10 @@ static QString fixLinkText(const QtXmlToSphinxLink *linkContext, else QtXmlToSphinx::stripPythonQualifiers(&linktext); if (linkContext->linkRef == linktext) - return QString(); + return {}; if ((linkContext->type & QtXmlToSphinxLink::FunctionMask) != 0 && (linkContext->linkRef + u"()"_s) == linktext) { - return QString(); + return {}; } return linktext; } @@ -1249,7 +1249,7 @@ static bool copyImage(const QString &href, const QString &docDataDir, const QLoggingCategory &lc, QString *errorMessage) { const QChar slash = u'/'; - const int lastSlash = href.lastIndexOf(slash); + const auto lastSlash = href.lastIndexOf(slash); const QString imagePath = lastSlash != -1 ? href.left(lastSlash) : QString(); const QString imageFileName = lastSlash != -1 ? href.right(href.size() - lastSlash - 1) : href; QFileInfo imageSource(docDataDir + slash + href); @@ -1262,7 +1262,7 @@ static bool copyImage(const QString &href, const QString &docDataDir, // FIXME: Not perfect yet, should have knowledge about namespaces (DataVis3D) or // nested classes "Pyside2.QtGui.QTouchEvent.QTouchPoint". QString relativeTargetDir = context; - const int lastDot = relativeTargetDir.lastIndexOf(u'.'); + const auto lastDot = relativeTargetDir.lastIndexOf(u'.'); if (lastDot != -1) relativeTargetDir.truncate(lastDot); relativeTargetDir.replace(u'.', slash); @@ -1329,7 +1329,7 @@ void QtXmlToSphinx::handleInlineImageTag(QXmlStreamReader& reader) // enclosed by '|' and define it further down. Determine tag from the base //file name with number. QString tag = href; - int pos = tag.lastIndexOf(u'/'); + auto pos = tag.lastIndexOf(u'/'); if (pos != -1) tag.remove(0, pos + 1); pos = tag.indexOf(u'.'); @@ -1589,13 +1589,11 @@ void QtXmlToSphinx::Table::format(TextStream& s) const // print line s << '+'; for (qsizetype col = 0; col < headerColumnCount; ++col) { - char c; + char c = '-'; if (col >= row.size() || row[col].rowSpan == -1) c = ' '; else if (i == 1 && hasHeader()) c = '='; - else - c = '-'; s << Pad(c, colWidths.at(col)) << '+'; } s << '\n'; diff --git a/sources/shiboken6/generator/shiboken/cppgenerator.cpp b/sources/shiboken6/generator/shiboken/cppgenerator.cpp index febd1057a..7f6a04f87 100644 --- a/sources/shiboken6/generator/shiboken/cppgenerator.cpp +++ b/sources/shiboken6/generator/shiboken/cppgenerator.cpp @@ -337,11 +337,7 @@ static QSet<QString> useIntSet() static bool _shouldInheritInt(const AbstractMetaEnum &cppEnum) { - if (!cppEnum.fullName().startsWith(u"PySide6."_s)) - return true; - // static auto intSet = useIntSet(); - // return intSet.contains(cppEnum.fullName()); - return false; + return !cppEnum.fullName().startsWith(u"PySide6."_s); } static QString BuildEnumFlagInfo(const AbstractMetaEnum &cppEnum) @@ -1891,14 +1887,14 @@ return result;)"; StringStream pc(TextStream::Language::Cpp); pc << getFullTypeNameWithoutModifiers(sourceType) << " cppIn" << minimalConstructorExpression(api(), sourceType) << ";\n"; - writeToCppConversion(pc, sourceType, nullptr, pyInVariable, + writeToCppConversion(pc, sourceType, pyInVariable, u"cppIn"_s); pc << ';'; toCppPreConv = pc.toString(); toCppConv.append(u"cppIn"_s); } else if (!sourceType.isWrapperType()) { StringStream tcc(TextStream::Language::Cpp); - writeToCppConversion(tcc, sourceType, metaClass, pyInVariable, + writeToCppConversion(tcc, sourceType, pyInVariable, u"/*BOZO-1061*/"_s); toCppConv = tcc.toString(); } @@ -2648,7 +2644,7 @@ QString CppGenerator::returnErrorWrongArguments(const OverloadData &overloadData case ErrorReturn::Void: Q_ASSERT(false); } - return QString(); + return {}; } void CppGenerator::writeFunctionReturnErrorCheckSection(TextStream &s, @@ -3048,7 +3044,7 @@ void CppGenerator::writeOverloadedFunctionDecisor(TextStream &s, s << "// " << i << ": "; if (func->isStatic()) s << "static "; - if (const auto decl = func->declaringClass()) + if (const auto &decl = func->declaringClass()) s << decl->name() << "::"; s << func->signatureComment() << '\n'; } @@ -3808,7 +3804,7 @@ if (errorType != nullptr) PyErr_SetObject(errorType, errorString); )"; -static QString explicitConversion(QString v, const AbstractMetaType &t) +static QString explicitConversion(const QString &v, const AbstractMetaType &t) { return t.plainType().cppSignature() + u'(' + v + u')'; } @@ -4338,7 +4334,7 @@ static void registerEnumConverterScopes(TextStream &s, QString signature) while (true) { s << "Shiboken::Conversions::registerConverterName(converter, \"" << signature << "\");\n"; - const int qualifierPos = signature.indexOf(u"::"); + const auto qualifierPos = signature.indexOf(u"::"); if (qualifierPos != -1) signature.remove(0, qualifierPos + 2); else diff --git a/sources/shiboken6/generator/shiboken/headergenerator.cpp b/sources/shiboken6/generator/shiboken/headergenerator.cpp index 4d02bda3d..2c8e8b952 100644 --- a/sources/shiboken6/generator/shiboken/headergenerator.cpp +++ b/sources/shiboken6/generator/shiboken/headergenerator.cpp @@ -614,7 +614,7 @@ bool HeaderGenerator::finishGeneration() macrosStream << ", // " << smp.type.cppSignature() << '\n'; // Add a the same value for const pointees (shared_ptr<const Foo>). const auto ptrName = smp.type.typeEntry()->entryName(); - int pos = indexName.indexOf(ptrName, 0, Qt::CaseInsensitive); + const auto pos = indexName.indexOf(ptrName, 0, Qt::CaseInsensitive); if (pos >= 0) { indexName.insert(pos + ptrName.size() + 1, u"CONST"_s); _writeTypeIndexValue(macrosStream, indexName, smartPointerCountIndex); diff --git a/sources/shiboken6/generator/shiboken/overloaddata.cpp b/sources/shiboken6/generator/shiboken/overloaddata.cpp index 02d92d92b..c1e965fec 100644 --- a/sources/shiboken6/generator/shiboken/overloaddata.cpp +++ b/sources/shiboken6/generator/shiboken/overloaddata.cpp @@ -16,7 +16,6 @@ #include "pytypenames.h" #include "textstream.h" #include "exception.h" -#include "messages.h" #include "qtcompat.h" @@ -393,8 +392,7 @@ static std::pair<int, int> getMinMaxArgs(const AbstractMetaFunctionCPtr &func) int defaultValueIndex = -1; const auto &arguments = func->arguments(); int argIndex = 0; - for (qsizetype i = 0, size = arguments.size(); i < size; ++i) { - const auto &arg = arguments.at(i); + for (const auto &arg : arguments) { if (!arg.isModifiedRemoved()) { if (defaultValueIndex < 0 && arg.hasDefaultValueExpression()) defaultValueIndex = argIndex; @@ -637,7 +635,7 @@ static const OverloadDataRootNode *_findNextArgWithDefault(const OverloadDataRoo return result; } -const OverloadDataRootNode *OverloadDataRootNode::findNextArgWithDefault() +const OverloadDataRootNode *OverloadDataRootNode::findNextArgWithDefault() const { return _findNextArgWithDefault(this); } diff --git a/sources/shiboken6/generator/shiboken/overloaddata.h b/sources/shiboken6/generator/shiboken/overloaddata.h index 128f7ccb3..875a5a8b5 100644 --- a/sources/shiboken6/generator/shiboken/overloaddata.h +++ b/sources/shiboken6/generator/shiboken/overloaddata.h @@ -46,7 +46,7 @@ public: AbstractMetaFunctionCPtr getFunctionWithDefaultValue() const; /// Returns the nearest occurrence, including this instance, of an argument with a default value. - const OverloadDataRootNode *findNextArgWithDefault(); + const OverloadDataRootNode *findNextArgWithDefault() const; bool isFinalOccurrence(const AbstractMetaFunctionCPtr &func) const; int functionNumber(const AbstractMetaFunctionCPtr &func) const; diff --git a/sources/shiboken6/generator/shiboken/shibokengenerator.cpp b/sources/shiboken6/generator/shiboken/shibokengenerator.cpp index 929bc539d..705320225 100644 --- a/sources/shiboken6/generator/shiboken/shibokengenerator.cpp +++ b/sources/shiboken6/generator/shiboken/shibokengenerator.cpp @@ -25,7 +25,6 @@ #include <reporthandler.h> #include <textstream.h> #include <typedatabase.h> -#include <abstractmetabuilder.h> #include <containertypeentry.h> #include <customtypenentry.h> #include <enumtypeentry.h> @@ -418,7 +417,7 @@ QString ShibokenGenerator::cpythonFunctionName(const AbstractMetaFunctionCPtr &f QString ShibokenGenerator::cpythonMethodDefinitionName(const AbstractMetaFunctionCPtr &func) { if (!func->ownerClass()) - return QString(); + return {}; return cpythonBaseName(func->ownerClass()->typeEntry()) + u"Method_"_s + func->name(); } @@ -521,7 +520,7 @@ QString ShibokenGenerator::cpythonWrapperCPtr(const AbstractMetaType &metaType, const QString &argName) { if (!metaType.isWrapperType()) - return QString(); + return {}; return u"reinterpret_cast< ::"_s + metaType.cppSignature() + u" *>(Shiboken::Conversions::cppPointer("_s + cpythonTypeNameExt(metaType) + u", reinterpret_cast<SbkObject *>("_s + argName + u")))"_s; @@ -552,10 +551,10 @@ void ShibokenGenerator::writeToCppConversion(TextStream &s, } void ShibokenGenerator::writeToCppConversion(TextStream &s, const AbstractMetaType &type, - const AbstractMetaClassCPtr &context, const QString &inArgName, + const QString &inArgName, const QString &outArgName) { - s << cpythonToCppConversionFunction(type, context) << inArgName << ", &" << outArgName << ')'; + s << cpythonToCppConversionFunction(type) << inArgName << ", &" << outArgName << ')'; } bool ShibokenGenerator::shouldRejectNullPointerArgument(const AbstractMetaFunctionCPtr &func, @@ -690,14 +689,14 @@ QString ShibokenGenerator::converterObject(const TypeEntryCPtr &type) if (type->isArray()) { qDebug() << "Warning: no idea how to handle the Qt5 type " << type->qualifiedCppName(); - return QString(); + return {}; } /* the typedef'd primitive types case */ auto pte = std::dynamic_pointer_cast<const PrimitiveTypeEntry>(type); if (!pte) { qDebug() << "Warning: the Qt5 primitive type is unknown" << type->qualifiedCppName(); - return QString(); + return {}; } pte = basicReferencedTypeEntry(pte); if (pte->isPrimitive() && !isCppPrimitive(pte) && !pte->customConversion()) { @@ -959,7 +958,7 @@ QString ShibokenGenerator::cpythonIsConvertibleFunction(const TypeEntryCPtr &typ .arg(converterObject(type)); } -QString ShibokenGenerator::cpythonIsConvertibleFunction(AbstractMetaType metaType) +QString ShibokenGenerator::cpythonIsConvertibleFunction(const AbstractMetaType &metaType) { const auto typeEntry = metaType.typeEntry(); if (typeEntry->isCustom()) { @@ -1010,8 +1009,7 @@ QString ShibokenGenerator::cpythonToCppConversionFunction(const AbstractMetaClas + cpythonTypeNameExt(metaClass->typeEntry()) + u", "_s; } -QString ShibokenGenerator::cpythonToCppConversionFunction(const AbstractMetaType &type, - AbstractMetaClassCPtr /* context */) +QString ShibokenGenerator::cpythonToCppConversionFunction(const AbstractMetaType &type) { if (type.isWrapperType()) { return u"Shiboken::Conversions::pythonToCpp"_s @@ -1022,8 +1020,7 @@ QString ShibokenGenerator::cpythonToCppConversionFunction(const AbstractMetaType .arg(converterObject(type)); } -QString ShibokenGenerator::cpythonToPythonConversionFunction(const AbstractMetaType &type, - AbstractMetaClassCPtr /* context */) +QString ShibokenGenerator::cpythonToPythonConversionFunction(const AbstractMetaType &type) { if (type.isWrapperType()) { QString conversion; @@ -1083,7 +1080,7 @@ QString ShibokenGenerator::argumentString(const AbstractMetaFunctionCPtr &func, arg.replace(u'$', u'.'); // Haehh? // "int a", "int a[]" - const int arrayPos = arg.indexOf(u'['); + const auto arrayPos = arg.indexOf(u'['); if (arrayPos != -1) arg.insert(arrayPos, u' ' + argument.name()); else @@ -1256,7 +1253,7 @@ static QString getArgumentsFromMethodCall(const QString &str) // For more information check this: // http://perl.plover.com/yak/regex/samples/slide083.html static QLatin1String funcCall("%CPPSELF.%FUNCTION_NAME"); - int pos = str.indexOf(funcCall); + auto pos = str.indexOf(funcCall); if (pos == -1) return QString(); pos = pos + funcCall.size(); @@ -1926,7 +1923,7 @@ IncludeGroupList ShibokenGenerator::classIncludes(const AbstractMetaClassCPtr &m result.append({u"Argument includes"_s, typeEntry->argumentIncludes()}); const auto implicitConvs = implicitConversions(typeEntry); - for (auto &f : implicitConvs) { + for (const auto &f : implicitConvs) { if (f->isConversionOperator()) { const auto source = f->ownerClass(); Q_ASSERT(source); diff --git a/sources/shiboken6/generator/shiboken/shibokengenerator.h b/sources/shiboken6/generator/shiboken/shibokengenerator.h index 5b1af9b3c..38911ae30 100644 --- a/sources/shiboken6/generator/shiboken/shibokengenerator.h +++ b/sources/shiboken6/generator/shiboken/shibokengenerator.h @@ -182,7 +182,6 @@ protected: const QString &argumentName); static void writeToCppConversion(TextStream &s, const AbstractMetaType &type, - const AbstractMetaClassCPtr &context, const QString &inArgName, const QString &outArgName); static void writeToCppConversion(TextStream &s, @@ -250,14 +249,12 @@ protected: static QString cpythonCheckFunction(TypeEntryCPtr type); static QString cpythonCheckFunction(AbstractMetaType metaType); static QString cpythonIsConvertibleFunction(const TypeEntryCPtr &type); - static QString cpythonIsConvertibleFunction(AbstractMetaType metaType); + static QString cpythonIsConvertibleFunction(const AbstractMetaType &metaType); static QString cpythonIsConvertibleFunction(const AbstractMetaArgument &metaArg); static QString cpythonToCppConversionFunction(const AbstractMetaClassCPtr &metaClass) ; - static QString cpythonToCppConversionFunction(const AbstractMetaType &type, - AbstractMetaClassCPtr context = {}); - static QString cpythonToPythonConversionFunction(const AbstractMetaType &type, - AbstractMetaClassCPtr context = {}); + static QString cpythonToCppConversionFunction(const AbstractMetaType &type); + static QString cpythonToPythonConversionFunction(const AbstractMetaType &type); static QString cpythonToPythonConversionFunction(const AbstractMetaClassCPtr &metaClass); static QString cpythonToPythonConversionFunction(const TypeEntryCPtr &type); |