aboutsummaryrefslogtreecommitdiffstats
path: root/generator
diff options
context:
space:
mode:
Diffstat (limited to 'generator')
-rw-r--r--generator/shibokengenerator.cpp23
1 files changed, 14 insertions, 9 deletions
diff --git a/generator/shibokengenerator.cpp b/generator/shibokengenerator.cpp
index fd814dfe2..de96d03ac 100644
--- a/generator/shibokengenerator.cpp
+++ b/generator/shibokengenerator.cpp
@@ -392,7 +392,8 @@ QString ShibokenGenerator::guessScopeForDefaultValue(const AbstractMetaFunction*
if (arg->type()->isEnum()) {
const AbstractMetaEnum* metaEnum = findAbstractMetaEnum(arg->type());
- prefix = resolveScopePrefix(metaEnum->enclosingClass(), value);
+ if (metaEnum)
+ prefix = resolveScopePrefix(metaEnum->enclosingClass(), value);
} else if (arg->type()->isFlags()) {
static QRegExp numberRegEx("^\\d+$"); // Numbers to flags
if (numberRegEx.exactMatch(value)) {
@@ -1467,10 +1468,12 @@ AbstractMetaFunctionList ShibokenGenerator::getMethodsWithBothStaticAndNonStatic
AbstractMetaClassList ShibokenGenerator::getBaseClasses(const AbstractMetaClass* metaClass) const
{
AbstractMetaClassList baseClasses;
- foreach (QString parent, metaClass->baseClassNames()) {
- AbstractMetaClass* clazz = classes().findClass(parent);
- if (clazz)
- baseClasses << clazz;
+ if (metaClass) {
+ foreach (QString parent, metaClass->baseClassNames()) {
+ AbstractMetaClass* clazz = classes().findClass(parent);
+ if (clazz)
+ baseClasses << clazz;
+ }
}
return baseClasses;
}
@@ -1487,10 +1490,12 @@ const AbstractMetaClass* ShibokenGenerator::getMultipleInheritingClass(const Abs
AbstractMetaClassList ShibokenGenerator::getAllAncestors(const AbstractMetaClass* metaClass) const
{
AbstractMetaClassList result;
- AbstractMetaClassList baseClasses = getBaseClasses(metaClass);
- foreach (AbstractMetaClass* base, baseClasses) {
- result.append(base);
- result.append(getAllAncestors(base));
+ if (metaClass) {
+ AbstractMetaClassList baseClasses = getBaseClasses(metaClass);
+ foreach (AbstractMetaClass* base, baseClasses) {
+ result.append(base);
+ result.append(getAllAncestors(base));
+ }
}
return result;
}