diff options
Diffstat (limited to 'generator/cppgenerator.cpp')
-rw-r--r-- | generator/cppgenerator.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/generator/cppgenerator.cpp b/generator/cppgenerator.cpp index e49922b51..b560d6aea 100644 --- a/generator/cppgenerator.cpp +++ b/generator/cppgenerator.cpp @@ -1818,11 +1818,18 @@ void CppGenerator::writeNamedArgumentResolution(QTextStream& s, const AbstractMe Indentation indent(INDENT); s << INDENT << "errorArgName = \"" << arg->name() << "\";" << endl; } - s << INDENT << "else" << endl; + s << INDENT << "else if ("; + writeTypeCheck(s, arg->type(), "value", isNumber(arg->type()->typeEntry())); + s << ')' << endl; { Indentation indent(INDENT); s << INDENT << pyArgName << " = value;" << endl; } + s << "else" << endl; + { + Indentation indent(INDENT); + s << INDENT << "goto " << cpythonFunctionName(func) << "_TypeError;" << endl; + } } s << INDENT << '}' << endl; s << INDENT; |