aboutsummaryrefslogtreecommitdiffstats
path: root/shibokengenerator.cpp
diff options
context:
space:
mode:
authorMarcelo Lira <marcelo.lira@openbossa.org>2009-11-15 23:34:40 -0300
committerMarcelo Lira <marcelo.lira@openbossa.org>2009-11-18 09:22:51 -0300
commit2807ddf87ab5d85698011a4260c833c7fc577fe2 (patch)
tree615853c2acaa83d31834c38e934ad5a219517f0b /shibokengenerator.cpp
parentd20e2dd6a0212b2d8a89cbdc9dc99faabb61bd0c (diff)
modified the unused method ShibokenGenerator::getBaseClasses to
return an AbstractMetaClassList (AbstractMetaClass does not provide such a method)
Diffstat (limited to 'shibokengenerator.cpp')
-rw-r--r--shibokengenerator.cpp26
1 files changed, 5 insertions, 21 deletions
diff --git a/shibokengenerator.cpp b/shibokengenerator.cpp
index 3e6d6ff34..f26c872c6 100644
--- a/shibokengenerator.cpp
+++ b/shibokengenerator.cpp
@@ -952,28 +952,12 @@ bool ShibokenGenerator::injectedCodeCallsCppFunction(const AbstractMetaFunction*
return false;
}
-QStringList ShibokenGenerator::getBaseClasses(const AbstractMetaClass* metaClass)
+AbstractMetaClassList ShibokenGenerator::getBaseClasses(const AbstractMetaClass* metaClass)
{
- QStringList baseClass;
-
- if (!metaClass->baseClassName().isEmpty() &&
- (metaClass->name() != metaClass->baseClassName()))
- baseClass.append(metaClass->baseClassName());
-
- foreach (AbstractMetaClass* interface, metaClass->interfaces()) {
- AbstractMetaClass* aux = interface->primaryInterfaceImplementor();
- if (!aux)
- continue;
-
- //skip templates
- if (!aux->templateArguments().isEmpty())
- continue;
-
- if (!aux->name().isEmpty() && (metaClass->name() != aux->name()))
- baseClass.append(aux->name());
- }
-
- return baseClass;
+ AbstractMetaClassList baseClasses;
+ foreach (QString parent, metaClass->baseClassNames())
+ baseClasses << classes().findClass(parent);
+ return baseClasses;
}
const AbstractMetaClass* ShibokenGenerator::getMultipleInheritingClass(const AbstractMetaClass* metaClass)