Commit 31e0f5b5 authored by Stefan Behnel's avatar Stefan Behnel

copy function arguments into closure also when no conversion is needed

parent 303bac81
...@@ -2332,11 +2332,14 @@ class DefNode(FuncDefNode): ...@@ -2332,11 +2332,14 @@ class DefNode(FuncDefNode):
code.putln('}') code.putln('}')
def generate_argument_conversion_code(self, code): def generate_argument_conversion_code(self, code):
# Generate code to convert arguments from # Generate code to convert arguments from signature type to
# signature type to declared type, if needed. # declared type, if needed. Also copies signature arguments
# into closure fields.
for arg in self.args: for arg in self.args:
if arg.needs_conversion: if arg.needs_conversion:
self.generate_arg_conversion(arg, code) self.generate_arg_conversion(arg, code)
elif arg.entry.in_closure:
code.putln('%s = %s;' % (arg.entry.cname, arg.hdr_cname))
def generate_arg_conversion(self, arg, code): def generate_arg_conversion(self, arg, code):
# Generate conversion code for one argument. # Generate conversion code for one argument.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment