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>bb10
parent
845b5d63bf
commit
2cca2323d3
|
|
@ -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),
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue