aboutsummaryrefslogtreecommitdiffstats
path: root/generator
diff options
context:
space:
mode:
authorMarcelo Lira <marcelo.lira@openbossa.org>2011-07-28 14:43:23 -0300
committerHugo Parente Lima <hugo.pl@gmail.com>2012-03-08 16:17:05 -0300
commit1eee074d77f6c612a7644aea7b17d7a0128806cc (patch)
tree7d673533d34644e66852eed3660dfd914052acfa /generator
parent454efd2e01c06832bedc89a93e139dd6f011a296 (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.cpp12
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();
}