diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-09-28 15:56:32 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-09-28 21:29:51 +0200 |
commit | dcddf43d39edaf992821767e4e3a53ebbfa15292 (patch) | |
tree | ef6a95539a9a26da775fc34f4d4d5a203a328933 /sources/shiboken2/generator | |
parent | cb073f6eee9e21b62d7c14e0357beb6cecf33e31 (diff) |
shiboken2: MetaBuilder/ApiExtractor/Generator: Return class/enum/function lists by const ref
This allows for removing a few temporary variables and/or qAsConst().
Task-number: PYSIDE-1075
Change-Id: I0fe3544f0ce4d3a8d56de9c93e300972e0844177
Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'sources/shiboken2/generator')
5 files changed, 13 insertions, 20 deletions
diff --git a/sources/shiboken2/generator/generator.cpp b/sources/shiboken2/generator/generator.cpp index ccece49e0..926840235 100644 --- a/sources/shiboken2/generator/generator.cpp +++ b/sources/shiboken2/generator/generator.cpp @@ -313,11 +313,9 @@ void Generator::collectInstantiatedContainersAndSmartPointers(const AbstractMeta void Generator::collectInstantiatedContainersAndSmartPointers() { - const AbstractMetaFunctionList &funcs = globalFunctions(); - for (const AbstractMetaFunction *func : funcs) + for (const AbstractMetaFunction *func : globalFunctions()) collectInstantiatedContainersAndSmartPointers(func); - const AbstractMetaClassList &classList = classes(); - for (const AbstractMetaClass *metaClass : classList) + for (const AbstractMetaClass *metaClass : classes()) collectInstantiatedContainersAndSmartPointers(metaClass); } @@ -341,7 +339,7 @@ bool Generator::handleOption(const QString & /* key */, const QString & /* value return false; } -AbstractMetaClassList Generator::classes() const +const AbstractMetaClassList &Generator::classes() const { return m_d->apiextractor->classes(); } @@ -351,12 +349,12 @@ AbstractMetaClassList Generator::classesTopologicalSorted(const Dependencies &ad return m_d->apiextractor->classesTopologicalSorted(additionalDependencies); } -AbstractMetaFunctionList Generator::globalFunctions() const +const AbstractMetaFunctionList &Generator::globalFunctions() const { return m_d->apiextractor->globalFunctions(); } -AbstractMetaEnumList Generator::globalEnums() const +const AbstractMetaEnumList &Generator::globalEnums() const { return m_d->apiextractor->globalEnums(); } diff --git a/sources/shiboken2/generator/generator.h b/sources/shiboken2/generator/generator.h index 5a55422a1..324bb8474 100644 --- a/sources/shiboken2/generator/generator.h +++ b/sources/shiboken2/generator/generator.h @@ -216,7 +216,7 @@ public: virtual bool handleOption(const QString &key, const QString &value); /// Returns the classes used to generate the binding code. - AbstractMetaClassList classes() const; + const AbstractMetaClassList &classes() const; /// Returns the output directory QString outputDirectory() const; @@ -285,10 +285,10 @@ protected: AbstractMetaClassList classesTopologicalSorted(const Dependencies &additionalDependencies = Dependencies()) const; /// Returns all global functions found by APIExtractor - AbstractMetaFunctionList globalFunctions() const; + const AbstractMetaFunctionList &globalFunctions() const; /// Returns all global enums found by APIExtractor - AbstractMetaEnumList globalEnums() const; + const AbstractMetaEnumList &globalEnums() const; /// Returns all primitive types found by APIExtractor PrimitiveTypeEntryList primitiveTypes() const; diff --git a/sources/shiboken2/generator/qtdoc/qtdocgenerator.cpp b/sources/shiboken2/generator/qtdoc/qtdocgenerator.cpp index 3b9dbf85e..6a01bf7a0 100644 --- a/sources/shiboken2/generator/qtdoc/qtdocgenerator.cpp +++ b/sources/shiboken2/generator/qtdoc/qtdocgenerator.cpp @@ -411,8 +411,7 @@ QString QtXmlToSphinx::expandFunction(const QString& function) const const AbstractMetaClass *metaClass = nullptr; if (firstDot != -1) { const QStringRef className = function.leftRef(firstDot); - const AbstractMetaClassList &classes = m_generator->classes(); - for (const AbstractMetaClass *cls : classes) { + for (const AbstractMetaClass *cls : m_generator->classes()) { if (cls->name() == className) { metaClass = cls; break; @@ -431,8 +430,7 @@ QString QtXmlToSphinx::resolveContextForMethod(const QString& methodName) const const QStringRef currentClass = m_context.splitRef(QLatin1Char('.')).constLast(); const AbstractMetaClass *metaClass = nullptr; - const AbstractMetaClassList &classes = m_generator->classes(); - for (const AbstractMetaClass *cls : classes) { + for (const AbstractMetaClass *cls : m_generator->classes()) { if (cls->name() == currentClass) { metaClass = cls; break; diff --git a/sources/shiboken2/generator/shiboken2/cppgenerator.cpp b/sources/shiboken2/generator/shiboken2/cppgenerator.cpp index 6d9884d39..af7c9777a 100644 --- a/sources/shiboken2/generator/shiboken2/cppgenerator.cpp +++ b/sources/shiboken2/generator/shiboken2/cppgenerator.cpp @@ -5869,8 +5869,7 @@ bool CppGenerator::finishGeneration() // Global enums AbstractMetaEnumList globalEnums = this->globalEnums(); - const AbstractMetaClassList &classList = classes(); - for (const AbstractMetaClass *metaClass : classList) { + for (const AbstractMetaClass *metaClass : classes()) { const AbstractMetaClass *encClass = metaClass->enclosingClass(); if (!encClass || !NamespaceTypeEntry::isVisibleScope(encClass->typeEntry())) lookForEnumsInClassesNotToBeGenerated(globalEnums, metaClass); diff --git a/sources/shiboken2/generator/shiboken2/shibokengenerator.cpp b/sources/shiboken2/generator/shiboken2/shibokengenerator.cpp index df8bf392a..97cbd26e9 100644 --- a/sources/shiboken2/generator/shiboken2/shibokengenerator.cpp +++ b/sources/shiboken2/generator/shiboken2/shibokengenerator.cpp @@ -1615,8 +1615,7 @@ AbstractMetaFunctionList ShibokenGenerator::filterFunctions(const AbstractMetaCl ShibokenGenerator::ExtendedConverterData ShibokenGenerator::getExtendedConverters() const { ExtendedConverterData extConvs; - const AbstractMetaClassList &classList = classes(); - for (const AbstractMetaClass *metaClass : classList) { + for (const AbstractMetaClass *metaClass : classes()) { // Use only the classes for the current module. if (!shouldGenerate(metaClass)) continue; @@ -2647,8 +2646,7 @@ bool ShibokenGenerator::doSetup() const ContainerTypeEntryList &containerTypeList = containerTypes(); for (const ContainerTypeEntry *type : containerTypeList) getCode(snips, type); - const AbstractMetaClassList &classList = classes(); - for (const AbstractMetaClass *metaClass : classList) + for (const AbstractMetaClass *metaClass : classes()) getCode(snips, metaClass->typeEntry()); const TypeSystemTypeEntry *moduleEntry = TypeDatabase::instance()->defaultTypeSystemType(); |