diff options
author | Marcelo Lira <marcelo.lira@openbossa.org> | 2009-11-15 23:40:18 -0300 |
---|---|---|
committer | Marcelo Lira <marcelo.lira@openbossa.org> | 2009-11-18 09:22:50 -0300 |
commit | d20e2dd6a0212b2d8a89cbdc9dc99faabb61bd0c (patch) | |
tree | 1a722b61cd7c988a00dd826a52dde7592a7bf94d /shibokengenerator.cpp | |
parent | 1081714f5275261420a74ac333a117fd2bbca0c4 (diff) |
Classes that have multiple inheritance in some point of its ancestry
now receive the multiple inheritance information, the initialization
function will be that of the first ancestor that have multiple
inheritance.
Example:
class MDerived : public Base1, public Base2
clas SonOfMDerived : public MDerived
MDerived defines the function PyMDerived_mi_init to register the
multiple inheritance information, and SonOfMDerived just uses the
ancestor function.
Diffstat (limited to 'shibokengenerator.cpp')
-rw-r--r-- | shibokengenerator.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/shibokengenerator.cpp b/shibokengenerator.cpp index 52eaff163..3e6d6ff34 100644 --- a/shibokengenerator.cpp +++ b/shibokengenerator.cpp @@ -976,6 +976,14 @@ QStringList ShibokenGenerator::getBaseClasses(const AbstractMetaClass* metaClass return baseClass; } +const AbstractMetaClass* ShibokenGenerator::getMultipleInheritingClass(const AbstractMetaClass* metaClass) +{ + if (!metaClass || metaClass->baseClassNames().isEmpty()) + return 0; + if (metaClass->baseClassNames().size() > 1) + return metaClass; + return getMultipleInheritingClass(metaClass->baseClass()); +} QString ShibokenGenerator::getApiExportMacro() const { |