Mercurial > projects > qtd
diff generator/generatorsetd.cpp @ 260:b5773ccab07d lifetime
closer
author | maxter |
---|---|
date | Fri, 18 Sep 2009 18:52:03 +0000 |
parents | ae06da58ec25 |
children |
line wrap: on
line diff
--- a/generator/generatorsetd.cpp Thu Sep 17 16:28:41 2009 +0000 +++ b/generator/generatorsetd.cpp Fri Sep 18 18:52:03 2009 +0000 @@ -217,6 +217,26 @@ generators << cointainerGenerator; contexts << "cointainerGenerator"; + + // qtd + // code for including classses in 1 module for avoiding circular imports + foreach (AbstractMetaClass *cls, builder.classes()) { + ComplexTypeEntry *ctype = const_cast<ComplexTypeEntry*>(cls->typeEntry()); + + if (!cls->isInterface() && cls->isAbstract()) + ctype->setAbstract(true); + + ctype->setIsPolymorphic(cls->isPolymorphic()); + + + foreach(QString child, ctype->includedClasses) { + ComplexTypeEntry *ctype_child = TypeDatabase::instance()->findComplexType(child); + ctype_child->addedTo = cls->name(); + } + + foreach (AbstractMetaFunction *function, cls->functions()) + function->checkStoreResult(); + } for (int i=0; i<generators.size(); ++i) { Generator *generator = generators.at(i);