summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAhmad Samir <a.samirh78@gmail.com>2023-06-03 15:47:40 +0300
committerAhmad Samir <a.samirh78@gmail.com>2023-06-06 01:23:01 +0300
commit2cca2323d3919e4ffd2c447bb7ba69ef5a7c9aaa (patch)
tree57d82a18b5041b7540b97f1bf02a5e6b54754b7f
parent845b5d63bf3e4f224676d6f7499a46ff686874fe (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.cpp5
-rw-r--r--src/tools/moc/generator.h3
-rw-r--r--src/tools/moc/moc.cpp3
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