diff options
author | Marcelo Lira <marcelo.lira@openbossa.org> | 2011-07-28 14:43:23 -0300 |
---|---|---|
committer | Hugo Parente Lima <hugo.pl@gmail.com> | 2012-03-08 16:17:05 -0300 |
commit | 1eee074d77f6c612a7644aea7b17d7a0128806cc (patch) | |
tree | 7d673533d34644e66852eed3660dfd914052acfa /generator | |
parent | 454efd2e01c06832bedc89a93e139dd6f011a296 (diff) |
Fixed writeBaseConversion method to handle references to C++ primitives.
Added test for a reference to integer as a function argument.
Diffstat (limited to 'generator')
-rw-r--r-- | generator/shibokengenerator.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/generator/shibokengenerator.cpp b/generator/shibokengenerator.cpp index d7bbc0a9f..2527b4d67 100644 --- a/generator/shibokengenerator.cpp +++ b/generator/shibokengenerator.cpp @@ -535,10 +535,16 @@ void ShibokenGenerator::writeBaseConversion(QTextStream& s, const AbstractMetaTy ptype = ptype->basicAliasedTypeEntry(); typeName = ptype->name(); } else { - if (!isCString(type)) // not "const char*" + if (!isCString(type)) { options |= Generator::ExcludeConst; - if (type->isContainer() || type->isFlags() || type->isEnum() || (type->isConstant() && type->isReference())) - options |= Generator::ExcludeReference; + if (type->typeEntry()->isPrimitive() + || type->isContainer() + || type->isFlags() + || type->isEnum() + || (type->isConstant() && type->isReference())) { + options |= Generator::ExcludeReference; + } + } typeName = translateTypeForWrapperMethod(type, context, options).trimmed(); } |