diff options
-rw-r--r-- | shibokengenerator.cpp | 9 | ||||
-rw-r--r-- | shibokengenerator.h | 2 |
2 files changed, 6 insertions, 5 deletions
diff --git a/shibokengenerator.cpp b/shibokengenerator.cpp index 33c5ad653..7032afddd 100644 --- a/shibokengenerator.cpp +++ b/shibokengenerator.cpp @@ -368,15 +368,16 @@ void ShibokenGenerator::writeToCppConversion(QTextStream& s, const AbstractMetaT s << "toCpp(" << argumentName << ')'; } -QString ShibokenGenerator::getFormatUnitString(const AbstractMetaFunction* func) const +QString ShibokenGenerator::getFormatUnitString(const AbstractMetaFunction* func, bool incRef) const { QString result; + const char objType = (incRef ? 'O' : 'S'); foreach (const AbstractMetaArgument* arg, func->arguments()) { if (func->argumentRemoved(arg->argumentIndex() + 1)) continue; if (!func->typeReplaced(arg->argumentIndex() + 1).isEmpty()) { - result += 'O'; + result += objType; } else if (arg->type()->isQObject() || arg->type()->isObject() || arg->type()->isValue() @@ -384,7 +385,7 @@ QString ShibokenGenerator::getFormatUnitString(const AbstractMetaFunction* func) || arg->type()->isEnum() || arg->type()->isFlags() || arg->type()->isReference()) { - result += 'O'; + result += objType; } else if (arg->type()->isPrimitive()) { const PrimitiveTypeEntry* ptype = (const PrimitiveTypeEntry*) arg->type()->typeEntry(); if (ptype->basicAliasedTypeEntry()) @@ -392,7 +393,7 @@ QString ShibokenGenerator::getFormatUnitString(const AbstractMetaFunction* func) if (m_formatUnits.contains(ptype->name())) result += m_formatUnits[ptype->name()]; else - result += 'O'; + result += objType; } else if (isCString(arg->type())) { result += 'z'; } else { diff --git a/shibokengenerator.h b/shibokengenerator.h index 7c8a5d395..288acc87f 100644 --- a/shibokengenerator.h +++ b/shibokengenerator.h @@ -278,7 +278,7 @@ public: QString cpythonSpecialCastFunctionName(const AbstractMetaClass* metaClass); QString getFunctionReturnType(const AbstractMetaFunction* func, Options options = NoOption) const; - QString getFormatUnitString(const AbstractMetaFunction* func) const; + QString getFormatUnitString(const AbstractMetaFunction* func, bool incRef = false) const; /// Returns the name of the macro used to export symbols QString getApiExportMacro() const; |