aboutsummaryrefslogtreecommitdiffstats
path: root/cppgenerator.cpp
diff options
context:
space:
mode:
authorMarcelo Lira <marcelo.lira@openbossa.org>2010-02-08 20:39:46 -0300
committerMarcelo Lira <marcelo.lira@openbossa.org>2010-02-09 12:09:23 -0300
commitdf7a5518466ce74ca3023b61ce1be21592f97252 (patch)
tree2ae87365a1206c201c310f3e9b915a50a9c883a9 /cppgenerator.cpp
parent3b98369c971d23b8a45cfbf1b3a60f6ccee1f7ab (diff)
Fixes generation of binding reimplementation of modified virtual methods.
Argument removal and type modification no longer affects the generation of virtual method signatures in the binding code.
Diffstat (limited to 'cppgenerator.cpp')
-rw-r--r--cppgenerator.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/cppgenerator.cpp b/cppgenerator.cpp
index a41a60a5d..d8b5fab44 100644
--- a/cppgenerator.cpp
+++ b/cppgenerator.cpp
@@ -341,7 +341,8 @@ void CppGenerator::writeVirtualMethodNative(QTextStream &s, const AbstractMetaFu
const TypeEntry* type = func->type() ? func->type()->typeEntry() : 0;
QString prefix = wrapperName(func->ownerClass()) + "::";
- s << functionSignature(func, prefix, "", Generator::SkipDefaultValues) << endl << "{" << endl;
+ s << functionSignature(func, prefix, "", Generator::SkipDefaultValues|Generator::OriginalTypeDescription) << endl;
+ s << "{" << endl;
Indentation indentation(INDENT);
@@ -953,9 +954,9 @@ void CppGenerator::writeTypeCheck(QTextStream& s, const OverloadData* overloadDa
if (isPairContainer)
s << '(';
- if (overloadData->hasArgumentTypeReplace()) {
+ if (overloadData->hasArgumentTypeReplace())
s << guessCPythonCheckFunction(overloadData->argumentTypeReplaced());
- } else if (argType->typeEntry()->isFlags())
+ else if (argType->typeEntry()->isFlags())
s << cpythonCheckFunction(((FlagsTypeEntry*) argType->typeEntry())->originator(), true);
else if (argType->isEnum())
s << cpythonCheckFunction(argType, false, true);