From 670c5bd140b86a8b589595cb6cae62ae4e24cb2d Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Mon, 22 Jun 2020 14:10:12 +0200 Subject: Use QList instead of QVector in moc Task-number: QTBUG-84469 Change-Id: Id95a656e6277a7c348c02c3267a45ac176c1643b Reviewed-by: Fabian Kosmale --- src/tools/moc/generator.cpp | 60 ++++++++++++++++++++++++++------------------- 1 file changed, 35 insertions(+), 25 deletions(-) (limited to 'src/tools/moc/generator.cpp') diff --git a/src/tools/moc/generator.cpp b/src/tools/moc/generator.cpp index 999f86963e..0d3a763a48 100644 --- a/src/tools/moc/generator.cpp +++ b/src/tools/moc/generator.cpp @@ -80,12 +80,19 @@ QT_FOR_EACH_STATIC_TYPE(RETURN_METATYPENAME_STRING) return nullptr; } -Generator::Generator(ClassDef *classDef, const QVector &metaTypes, const QHash &knownQObjectClasses, const QHash &knownGadgets, FILE *outfile, bool requireCompleteTypes) - : out(outfile), cdef(classDef), metaTypes(metaTypes), knownQObjectClasses(knownQObjectClasses) - , knownGadgets(knownGadgets), requireCompleteTypes(requireCompleteTypes) -{ - if (cdef->superclassList.size()) - purestSuperClass = cdef->superclassList.constFirst().first; + Generator::Generator(ClassDef *classDef, const QList &metaTypes, + const QHash &knownQObjectClasses, + const QHash &knownGadgets, FILE *outfile, + bool requireCompleteTypes) + : out(outfile), + cdef(classDef), + metaTypes(metaTypes), + knownQObjectClasses(knownQObjectClasses), + knownGadgets(knownGadgets), + requireCompleteTypes(requireCompleteTypes) + { + if (cdef->superclassList.size()) + purestSuperClass = cdef->superclassList.constFirst().first; } static inline int lengthOfEscapeSequence(const QByteArray &s, int i) @@ -127,7 +134,7 @@ int Generator::stridx(const QByteArray &s) // Returns the sum of all parameters (including return type) for the given // \a list of methods. This is needed for calculating the size of the methods' // parameter type/name meta-data. -static int aggregateParameterCount(const QVector &list) +static int aggregateParameterCount(const QList &list) { int sum = 0; for (int i = 0; i < list.count(); ++i) @@ -150,22 +157,22 @@ bool Generator::registerableMetaType(const QByteArray &propertyType) return true; } - static const QVector smartPointers = QVector() + static const QList smartPointers = QList() #define STREAM_SMART_POINTER(SMART_POINTER) << #SMART_POINTER - QT_FOR_EACH_AUTOMATIC_TEMPLATE_SMART_POINTER(STREAM_SMART_POINTER) + QT_FOR_EACH_AUTOMATIC_TEMPLATE_SMART_POINTER(STREAM_SMART_POINTER) #undef STREAM_SMART_POINTER - ; + ; for (const QByteArray &smartPointer : smartPointers) { if (propertyType.startsWith(smartPointer + "<") && !propertyType.endsWith("&")) return knownQObjectClasses.contains(propertyType.mid(smartPointer.size() + 1, propertyType.size() - smartPointer.size() - 1 - 1)); } - static const QVector oneArgTemplates = QVector() + static const QList oneArgTemplates = QList() #define STREAM_1ARG_TEMPLATE(TEMPLATENAME) << #TEMPLATENAME - QT_FOR_EACH_AUTOMATIC_TEMPLATE_1ARG(STREAM_1ARG_TEMPLATE) + QT_FOR_EACH_AUTOMATIC_TEMPLATE_1ARG(STREAM_1ARG_TEMPLATE) #undef STREAM_1ARG_TEMPLATE - ; + ; for (const QByteArray &oneArgTemplateType : oneArgTemplates) { if (propertyType.startsWith(oneArgTemplateType + "<") && propertyType.endsWith(">")) { const int argumentSize = propertyType.size() - oneArgTemplateType.size() - 1 @@ -199,7 +206,7 @@ void Generator::generateCode() // filter out undeclared enumerators and sets { - QVector enumList; + QList enumList; for (int i = 0; i < cdef->enumList.count(); ++i) { EnumDef def = cdef->enumList.at(i); if (cdef->enumDeclarations.contains(def.name)) { @@ -455,7 +462,7 @@ void Generator::generateCode() // // Build extra array // - QVector extraList; + QList extraList; QMultiHash knownExtraMetaObject = knownGadgets; knownExtraMetaObject.unite(knownQObjectClasses); @@ -574,7 +581,8 @@ void Generator::generateCode() fprintf(out, "%s%s", needsComma ? ", " : "", p.type.data()); needsComma = true; } - for (const QVector &methodContainer: {cdef->signalList, cdef->slotList, cdef->methodList} ) { + for (const QList &methodContainer : + { cdef->signalList, cdef->slotList, cdef->methodList }) { for (int i = 0; i< methodContainer.count(); ++i) { const FunctionDef& fdef = methodContainer.at(i); fprintf(out, "%s%s", needsComma ? ", " : "", fdef.type.name.data()); @@ -621,7 +629,7 @@ void Generator::generateCode() cname, cname); } for (int i = 0; i < cdef->interfaceList.size(); ++i) { - const QVector &iface = cdef->interfaceList.at(i); + const QList &iface = cdef->interfaceList.at(i); for (int j = 0; j < iface.size(); ++j) { fprintf(out, " if (!strcmp(_clname, %s))\n return ", iface.at(j).interfaceId.constData()); for (int k = j; k >= 0; --k) @@ -695,7 +703,7 @@ void Generator::generateClassInfos() } } -void Generator::registerFunctionStrings(const QVector& list) +void Generator::registerFunctionStrings(const QList &list) { for (int i = 0; i < list.count(); ++i) { const FunctionDef &f = list.at(i); @@ -715,13 +723,14 @@ void Generator::registerFunctionStrings(const QVector& list) } } -void Generator::registerByteArrayVector(const QVector &list) +void Generator::registerByteArrayVector(const QList &list) { for (const QByteArray &ba : list) strreg(ba); } -void Generator::generateFunctions(const QVector& list, const char *functype, int type, int ¶msIndex, int &initialMetatypeOffset) +void Generator::generateFunctions(const QList &list, const char *functype, int type, + int ¶msIndex, int &initialMetatypeOffset) { if (list.isEmpty()) return; @@ -769,7 +778,7 @@ void Generator::generateFunctions(const QVector& list, const char * } } -void Generator::generateFunctionRevisions(const QVector& list, const char *functype) +void Generator::generateFunctionRevisions(const QList &list, const char *functype) { if (list.count()) fprintf(out, "\n // %ss: revision\n", functype); @@ -779,7 +788,7 @@ void Generator::generateFunctionRevisions(const QVector& list, cons } } -void Generator::generateFunctionParameters(const QVector& list, const char *functype) +void Generator::generateFunctionParameters(const QList &list, const char *functype) { if (list.isEmpty()) return; @@ -968,7 +977,7 @@ void Generator::generateMetacall() bool needElse = false; - QVector methodList; + QList methodList; methodList += cdef->signalList; methodList += cdef->slotList; methodList += cdef->methodList; @@ -1031,7 +1040,8 @@ QMultiMap Generator::automaticPropertyMetaTypesHelper() return automaticPropertyMetaTypes; } -QMap > Generator::methodsWithAutomaticTypesHelper(const QVector &methodList) +QMap> +Generator::methodsWithAutomaticTypesHelper(const QList &methodList) { QMap > methodsWithAutomaticTypes; for (int i = 0; i < methodList.size(); ++i) { @@ -1085,7 +1095,7 @@ void Generator::generateStaticMetacall() isUsed_a = true; } - QVector methodList; + QList methodList; methodList += cdef->signalList; methodList += cdef->slotList; methodList += cdef->methodList; -- cgit v1.2.3