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 | |
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')
9 files changed, 31 insertions, 38 deletions
diff --git a/sources/shiboken2/ApiExtractor/abstractmetabuilder.cpp b/sources/shiboken2/ApiExtractor/abstractmetabuilder.cpp index 4197c4cfa..b46ed5092 100644 --- a/sources/shiboken2/ApiExtractor/abstractmetabuilder.cpp +++ b/sources/shiboken2/ApiExtractor/abstractmetabuilder.cpp @@ -135,27 +135,27 @@ AbstractMetaBuilder::~AbstractMetaBuilder() delete d; } -AbstractMetaClassList AbstractMetaBuilder::classes() const +const AbstractMetaClassList &AbstractMetaBuilder::classes() const { return d->m_metaClasses; } -AbstractMetaClassList AbstractMetaBuilder::templates() const +const AbstractMetaClassList &AbstractMetaBuilder::templates() const { return d->m_templates; } -AbstractMetaClassList AbstractMetaBuilder::smartPointers() const +const AbstractMetaClassList &AbstractMetaBuilder::smartPointers() const { return d->m_smartPointers; } -AbstractMetaFunctionList AbstractMetaBuilder::globalFunctions() const +const AbstractMetaFunctionList &AbstractMetaBuilder::globalFunctions() const { return d->m_globalFunctions; } -AbstractMetaEnumList AbstractMetaBuilder::globalEnums() const +const AbstractMetaEnumList &AbstractMetaBuilder::globalEnums() const { return d->m_globalEnums; } diff --git a/sources/shiboken2/ApiExtractor/abstractmetabuilder.h b/sources/shiboken2/ApiExtractor/abstractmetabuilder.h index 37022a544..d2dc080a2 100644 --- a/sources/shiboken2/ApiExtractor/abstractmetabuilder.h +++ b/sources/shiboken2/ApiExtractor/abstractmetabuilder.h @@ -63,11 +63,11 @@ public: AbstractMetaBuilder(); virtual ~AbstractMetaBuilder(); - AbstractMetaClassList classes() const; - AbstractMetaClassList templates() const; - AbstractMetaClassList smartPointers() const; - AbstractMetaFunctionList globalFunctions() const; - AbstractMetaEnumList globalEnums() const; + const AbstractMetaClassList &classes() const; + const AbstractMetaClassList &templates() const; + const AbstractMetaClassList &smartPointers() const; + const AbstractMetaFunctionList &globalFunctions() const; + const AbstractMetaEnumList &globalEnums() const; AbstractMetaEnum *findEnum(const TypeEntry *typeEntry) const; /** diff --git a/sources/shiboken2/ApiExtractor/apiextractor.cpp b/sources/shiboken2/ApiExtractor/apiextractor.cpp index 530ed0252..3fdd613ae 100644 --- a/sources/shiboken2/ApiExtractor/apiextractor.cpp +++ b/sources/shiboken2/ApiExtractor/apiextractor.cpp @@ -121,25 +121,25 @@ void ApiExtractor::setDropTypeEntries(QString dropEntries) TypeDatabase::instance()->setDropTypeEntries(entries); } -AbstractMetaEnumList ApiExtractor::globalEnums() const +const AbstractMetaEnumList &ApiExtractor::globalEnums() const { Q_ASSERT(m_builder); return m_builder->globalEnums(); } -AbstractMetaFunctionList ApiExtractor::globalFunctions() const +const AbstractMetaFunctionList &ApiExtractor::globalFunctions() const { Q_ASSERT(m_builder); return m_builder->globalFunctions(); } -AbstractMetaClassList ApiExtractor::classes() const +const AbstractMetaClassList &ApiExtractor::classes() const { Q_ASSERT(m_builder); return m_builder->classes(); } -AbstractMetaClassList ApiExtractor::smartPointers() const +const AbstractMetaClassList &ApiExtractor::smartPointers() const { Q_ASSERT(m_builder); return m_builder->smartPointers(); diff --git a/sources/shiboken2/ApiExtractor/apiextractor.h b/sources/shiboken2/ApiExtractor/apiextractor.h index f6dd2ba8e..b0c2c696f 100644 --- a/sources/shiboken2/ApiExtractor/apiextractor.h +++ b/sources/shiboken2/ApiExtractor/apiextractor.h @@ -81,10 +81,10 @@ public: LanguageLevel languageLevel() const; void setLanguageLevel(LanguageLevel languageLevel); - AbstractMetaEnumList globalEnums() const; - AbstractMetaFunctionList globalFunctions() const; - AbstractMetaClassList classes() const; - AbstractMetaClassList smartPointers() const; + const AbstractMetaEnumList &globalEnums() const; + const AbstractMetaFunctionList &globalFunctions() const; + const AbstractMetaClassList &classes() const; + const AbstractMetaClassList &smartPointers() const; AbstractMetaClassList classesTopologicalSorted(const Dependencies &additionalDependencies = Dependencies()) const; PrimitiveTypeEntryList primitiveTypes() const; ContainerTypeEntryList containerTypes() const; 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(); |