aboutsummaryrefslogtreecommitdiffstats
path: root/generator
diff options
context:
space:
mode:
authorMarcelo Lira <marcelo.lira@openbossa.org>2010-09-30 10:54:30 -0300
committerHugo Parente Lima <hugo.pl@gmail.com>2012-03-08 16:07:19 -0300
commit15d595ec399f6e298a4ae7a52f7740ac6d70ccb4 (patch)
tree5031d361f5c5f776baf7cc096f72daabd786eb34 /generator
parenta001e8538adce84bdd201e897b9309902cdd8458 (diff)
Shiboken avoids generating code for private 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.cpp16
-rw-r--r--generator/headergenerator.cpp9
2 files changed, 17 insertions, 8 deletions
diff --git a/generator/cppgenerator.cpp b/generator/cppgenerator.cpp
index 26fea059b..da15c4d4c 100644
--- a/generator/cppgenerator.cpp
+++ b/generator/cppgenerator.cpp
@@ -385,7 +385,7 @@ void CppGenerator::generateClass(QTextStream &s, const AbstractMetaClass *metaCl
foreach (AbstractMetaEnum* cppEnum, metaClass->enums()) {
- if (cppEnum->isAnonymous())
+ if (cppEnum->isAnonymous() || cppEnum->isPrivate())
continue;
bool hasFlags = cppEnum->typeEntry()->flags();
@@ -3326,8 +3326,11 @@ void CppGenerator::writeClassRegister(QTextStream& s, const AbstractMetaClass* m
s << INDENT << "PyObject* enum_item;" << endl << endl;
}
- foreach (const AbstractMetaEnum* cppEnum, metaClass->enums())
+ foreach (const AbstractMetaEnum* cppEnum, metaClass->enums()) {
+ if (cppEnum->isPrivate())
+ continue;
writeEnumInitialization(s, cppEnum);
+ }
if (metaClass->hasSignals())
writeSignalInitialization(s, metaClass);
@@ -3591,7 +3594,7 @@ void CppGenerator::finishGeneration()
s << "// Enum definitions ";
s << "------------------------------------------------------------" << endl;
foreach (const AbstractMetaEnum* cppEnum, globalEnums()) {
- if (cppEnum->isAnonymous())
+ if (cppEnum->isAnonymous() || cppEnum->isPrivate())
continue;
writeEnumDefinition(s, cppEnum);
s << endl;
@@ -3674,8 +3677,11 @@ void CppGenerator::finishGeneration()
s << INDENT << "PyObject* enum_item;" << endl << endl;
}
- foreach (const AbstractMetaEnum* cppEnum, globalEnums())
- writeEnumInitialization(s, cppEnum);
+ foreach (const AbstractMetaEnum* cppEnum, globalEnums()) {
+ if (cppEnum->isPrivate())
+ continue;
+ writeEnumInitialization(s, cppEnum);
+ }
// Register primitive types on TypeResolver
s << INDENT << "// Register primitive types on TypeResolver" << endl;
diff --git a/generator/headergenerator.cpp b/generator/headergenerator.cpp
index 095febb70..f9384d58e 100644
--- a/generator/headergenerator.cpp
+++ b/generator/headergenerator.cpp
@@ -281,8 +281,11 @@ void HeaderGenerator::writeTypeIndexDefine(QTextStream& s, const AbstractMetaCla
if (!metaClass->typeEntry()->generateCode())
return;
writeTypeIndexDefineLine(s, metaClass->typeEntry(), idx);
- foreach (const AbstractMetaEnum* metaEnum, metaClass->enums())
+ foreach (const AbstractMetaEnum* metaEnum, metaClass->enums()) {
+ if (metaEnum->isPrivate())
+ continue;
writeTypeIndexDefineLine(s, metaEnum->typeEntry(), idx);
+ }
}
void HeaderGenerator::finishGeneration()
@@ -321,7 +324,7 @@ void HeaderGenerator::finishGeneration()
macrosStream << "// Macros for type check" << endl;
foreach (const AbstractMetaEnum* cppEnum, globalEnums()) {
- if (cppEnum->isAnonymous())
+ if (cppEnum->isAnonymous() || cppEnum->isPrivate())
continue;
includes << cppEnum->typeEntry()->include();
writeTypeConverterDecl(convDecl, cppEnum->typeEntry());
@@ -338,7 +341,7 @@ void HeaderGenerator::finishGeneration()
includes << classType->include();
foreach (const AbstractMetaEnum* cppEnum, metaClass->enums()) {
- if (cppEnum->isAnonymous())
+ if (cppEnum->isAnonymous() || cppEnum->isPrivate())
continue;
EnumTypeEntry* enumType = cppEnum->typeEntry();
includes << enumType->include();