aboutsummaryrefslogtreecommitdiffstats
path: root/generator
diff options
context:
space:
mode:
authorMarcelo Lira <marcelo.lira@openbossa.org>2010-09-21 17:21:50 -0300
committerHugo Parente Lima <hugo.pl@gmail.com>2012-03-08 16:07:18 -0300
commit148b3af9485a13ec383647b692fae185bce78da9 (patch)
tree6b73b5f0b3aa392c3eb4c235fe4261cc4e992fe3 /generator
parente959d2899f38f5b0828035fe7d4769b3603e2974 (diff)
Fixes generator to actually use extra includes declared for global enums.
And also for class/namespace enums. Reviewed by Luciano Wolf <luciano.wolf@openbossa.org> Reviewed by Renato Araújo <renato.filho@openbossa.org>
Diffstat (limited to 'generator')
-rw-r--r--generator/cppgenerator.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/generator/cppgenerator.cpp b/generator/cppgenerator.cpp
index 2df2bae92..afa1746ec 100644
--- a/generator/cppgenerator.cpp
+++ b/generator/cppgenerator.cpp
@@ -170,6 +170,8 @@ void CppGenerator::generateClass(QTextStream &s, const AbstractMetaClass *metaCl
//Extra includes
s << endl << "// Extra includes" << endl;
QList<Include> includes = metaClass->typeEntry()->extraIncludes();
+ foreach (AbstractMetaEnum* cppEnum, metaClass->enums())
+ includes.append(cppEnum->typeEntry()->extraIncludes());
qSort(includes.begin(), includes.end());
foreach (Include inc, includes)
s << inc.toString() << endl;
@@ -3533,6 +3535,16 @@ void CppGenerator::finishGeneration()
s << include;
s << endl;
+ //Extra includes
+ s << endl << "// Extra includes" << endl;
+ QList<Include> includes;
+ foreach (AbstractMetaEnum* cppEnum, globalEnums())
+ includes.append(cppEnum->typeEntry()->extraIncludes());
+ qSort(includes.begin(), includes.end());
+ foreach (Include inc, includes)
+ s << inc.toString() << endl;
+ s << endl;
+
TypeSystemTypeEntry* moduleEntry = reinterpret_cast<TypeSystemTypeEntry*>(TypeDatabase::instance()->findType(packageName()));
CodeSnipList snips;
if (moduleEntry)