diff options
author | Marcelo Lira <marcelo.lira@openbossa.org> | 2010-02-24 13:59:07 -0300 |
---|---|---|
committer | Marcelo Lira <marcelo.lira@openbossa.org> | 2010-02-24 15:41:50 -0300 |
commit | d84917a9b4c302c0eea4ee011f23ab8ed5bb1022 (patch) | |
tree | f51017fb7bb5e43fa78849b3e0e9129bd9833d36 /shibokengenerator.cpp | |
parent | c3ace01b0c18b340e2453771ab529bce694d621b (diff) |
Adds method ShibokenGenerator::getAllAncestors(metaClass)
The new method returns a flat list of all the given class' ancestors.
Diffstat (limited to 'shibokengenerator.cpp')
-rw-r--r-- | shibokengenerator.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/shibokengenerator.cpp b/shibokengenerator.cpp index 84ce72300..77fabf130 100644 --- a/shibokengenerator.cpp +++ b/shibokengenerator.cpp @@ -1204,6 +1204,17 @@ const AbstractMetaClass* ShibokenGenerator::getMultipleInheritingClass(const Abs return getMultipleInheritingClass(metaClass->baseClass()); } +AbstractMetaClassList ShibokenGenerator::getAllAncestors(const AbstractMetaClass* metaClass) +{ + AbstractMetaClassList result; + AbstractMetaClassList baseClasses = getBaseClasses(metaClass); + foreach (AbstractMetaClass* base, baseClasses) { + result.append(base); + result.append(getAllAncestors(base)); + } + return result; +} + QString ShibokenGenerator::getApiExportMacro() const { return "SHIBOKEN_"+moduleName().toUpper()+"_API"; // a longer name to avoid name clashes |