diff options
author | Ahmad Samir <a.samirh78@gmail.com> | 2023-06-03 15:47:40 +0300 |
---|---|---|
committer | Ahmad Samir <a.samirh78@gmail.com> | 2023-06-06 01:23:01 +0300 |
commit | 2cca2323d3919e4ffd2c447bb7ba69ef5a7c9aaa (patch) | |
tree | 57d82a18b5041b7540b97f1bf02a5e6b54754b7f | |
parent | 845b5d63bf3e4f224676d6f7499a46ff686874fe (diff) |
Moc: pass a pointer to the parser to the Generator
This way the Generator can use e.g. Parser::error() to print error
messages (which will happen in a later commit).
Change-Id: Id710d7b604a82ce6bb61999addad8c95c53e3226
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
-rw-r--r-- | src/tools/moc/generator.cpp | 5 | ||||
-rw-r--r-- | src/tools/moc/generator.h | 3 | ||||
-rw-r--r-- | src/tools/moc/moc.cpp | 3 |
3 files changed, 7 insertions, 4 deletions
diff --git a/src/tools/moc/generator.cpp b/src/tools/moc/generator.cpp index 625e1e6733..7aa0628168 100644 --- a/src/tools/moc/generator.cpp +++ b/src/tools/moc/generator.cpp @@ -55,11 +55,12 @@ QT_FOR_EACH_STATIC_TYPE(RETURN_METATYPENAME_STRING) return nullptr; } - Generator::Generator(ClassDef *classDef, const QList<QByteArray> &metaTypes, + Generator::Generator(Moc *moc, ClassDef *classDef, const QList<QByteArray> &metaTypes, const QHash<QByteArray, QByteArray> &knownQObjectClasses, const QHash<QByteArray, QByteArray> &knownGadgets, FILE *outfile, bool requireCompleteTypes) - : out(outfile), + : parser(moc), + out(outfile), cdef(classDef), metaTypes(metaTypes), knownQObjectClasses(knownQObjectClasses), diff --git a/src/tools/moc/generator.h b/src/tools/moc/generator.h index ac29557769..91f8e00d61 100644 --- a/src/tools/moc/generator.h +++ b/src/tools/moc/generator.h @@ -10,12 +10,13 @@ QT_BEGIN_NAMESPACE class Generator { + Moc *parser = nullptr; FILE *out; ClassDef *cdef; QList<uint> meta_data; public: - Generator(ClassDef *classDef, const QList<QByteArray> &metaTypes, + Generator(Moc *moc, ClassDef *classDef, const QList<QByteArray> &metaTypes, const QHash<QByteArray, QByteArray> &knownQObjectClasses, const QHash<QByteArray, QByteArray> &knownGadgets, FILE *outfile = nullptr, bool requireCompleteTypes = false); diff --git a/src/tools/moc/moc.cpp b/src/tools/moc/moc.cpp index d04f2d079e..f8c36a5abd 100644 --- a/src/tools/moc/moc.cpp +++ b/src/tools/moc/moc.cpp @@ -1136,7 +1136,8 @@ void Moc::generate(FILE *out, FILE *jsonOutput) fputs("", out); for (int i = 0; i < classList.size(); ++i) { - Generator generator(&classList[i], metaTypes, knownQObjectClasses, knownGadgets, out, requireCompleteTypes); + Generator generator(this, &classList[i], metaTypes, knownQObjectClasses, knownGadgets, out, + requireCompleteTypes); generator.generateCode(); // generator.generateCode() should have already registered all strings |