diff options
author | Marcelo Lira <marcelo.lira@openbossa.org> | 2010-06-07 16:40:06 -0300 |
---|---|---|
committer | Marcelo Lira <marcelo.lira@openbossa.org> | 2010-06-08 10:42:58 -0300 |
commit | b5e3a03a2f5907fb1cf6673dd0c2c29930f5eb64 (patch) | |
tree | e205a48f4d8f6a50000dec1c66613cb807c0fac8 /cppgenerator.cpp | |
parent | 1ce9b9d85814c39e6e5fdf68b71d93a778417221 (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.cpp | 6 |
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()) { |