aboutsummaryrefslogtreecommitdiffstats
path: root/cppgenerator.cpp
diff options
context:
space:
mode:
authorMarcelo Lira <marcelo.lira@openbossa.org>2010-06-07 16:40:06 -0300
committerMarcelo Lira <marcelo.lira@openbossa.org>2010-06-08 10:42:58 -0300
commitb5e3a03a2f5907fb1cf6673dd0c2c29930f5eb64 (patch)
treee205a48f4d8f6a50000dec1c66613cb807c0fac8 /cppgenerator.cpp
parent1ce9b9d85814c39e6e5fdf68b71d93a778417221 (diff)
CppGenerator now considers user defined default constructors for primitive types.
Reviewed by Luciano Wolf <luciano.wolf@openbossa.org> Reviewed by Renato Araújo <renato.filho@openbossa.org>
Diffstat (limited to 'cppgenerator.cpp')
-rw-r--r--cppgenerator.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/cppgenerator.cpp b/cppgenerator.cpp
index d4e0c5fac..f032a6d6c 100644
--- a/cppgenerator.cpp
+++ b/cppgenerator.cpp
@@ -859,7 +859,11 @@ void CppGenerator::writeMinimalConstructorCallArguments(QTextStream& s, const Ab
if (type->isObject()) {
s << "0";
} else if (type->isPrimitive()) {
- s << type->name() << "(0)";
+ const PrimitiveTypeEntry* primitiveTypeEntry = reinterpret_cast<const PrimitiveTypeEntry*>(type);
+ if (primitiveTypeEntry->hasDefaultConstructor())
+ s << primitiveTypeEntry->defaultConstructor();
+ else
+ s << type->name() << "(0)";
} else if (type->isContainer() || type->isFlags() || type->isEnum()){
s << metaType->cppSignature() << "()";
} else if (metaType->isNativePointer() && type->isVoid()) {