[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [smokegen/parentintrospection] generators/smoke: don't generate the xenum_QGlobalSpace forward decl
From: Arno Rehn <arno () arnorehn ! de>
Date: 2012-12-25 0:00:13
Message-ID: 20121225000013.30E93A6091 () git ! kde ! org
[Download RAW message or body]
Git commit 5de2ebfe5de0f4ea3c7fe2a41aed335dfc4dc7ec by Arno Rehn.
Committed on 25/12/2012 at 00:59.
Pushed by arnorehn into branch 'parentintrospection'.
don't generate the xenum_QGlobalSpace forward decl if there are no
enums in QGlobalSpace
M +9 -2 generators/smoke/writeSmokeDataFile.cpp
http://commits.kde.org/smokegen/5de2ebfe5de0f4ea3c7fe2a41aed335dfc4dc7ec
diff --git a/generators/smoke/writeSmokeDataFile.cpp \
b/generators/smoke/writeSmokeDataFile.cpp index 122eb86..97bac61 100644
--- a/generators/smoke/writeSmokeDataFile.cpp
+++ b/generators/smoke/writeSmokeDataFile.cpp
@@ -296,7 +296,9 @@ void SmokeDataFile::write()
inheritanceIndex[&klass] = idx;
}
out << "};\n\n";
-
+
+ Class& globalSpace = classes["QGlobalSpace"];
+
// xenum functions
out << "// These are the xenum functions for manipulating enum pointers\n";
QSet<QString> enumClassesHandled;
@@ -318,8 +320,13 @@ void SmokeDataFile::write()
smokeClassName.replace("::", "__");
out << "void xenum_" << smokeClassName << "(Smoke::EnumOperation, \
Smoke::Index, void*&, long&);\n";
} else if (smokeClassName.isEmpty() && it.value().access() != \
Access_private) {
- if (enumClassesHandled.contains("QGlobalSpace"))
+ // see if we have actually put the enum into QGlobalSpace (might not be \
the case if it's already handled + // in a parent module)
+ if ( enumClassesHandled.contains("QGlobalSpace")
+ || !globalSpace.children().contains(const_cast<Enum*>(&it.value())))
+ {
continue;
+ }
out << "void xenum_QGlobalSpace(Smoke::EnumOperation, Smoke::Index, \
void*&, long&);\n"; enumClassesHandled << "QGlobalSpace";
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic