Commit 286b89f3 authored by Stefan Behnel's avatar Stefan Behnel

another fix to make it work with Robert's signature optimisation

parent 296ffc24
...@@ -851,13 +851,15 @@ class DefNode(FuncDefNode): ...@@ -851,13 +851,15 @@ class DefNode(FuncDefNode):
if self.entry.signature is TypeSlots.pyfunction_signature: if self.entry.signature is TypeSlots.pyfunction_signature:
if len(self.args) == 0: if len(self.args) == 0:
self.entry.signature = TypeSlots.pyfunction_noargs self.entry.signature = TypeSlots.pyfunction_noargs
elif len(self.args) == 1 and self.args[0].default is None: elif len(self.args) == 1:
self.entry.signature = TypeSlots.pyfunction_onearg if self.args[0].default is None and not self.args[0].kw_only:
self.entry.signature = TypeSlots.pyfunction_onearg
elif self.entry.signature is TypeSlots.pymethod_signature: elif self.entry.signature is TypeSlots.pymethod_signature:
if len(self.args) == 1: if len(self.args) == 1:
self.entry.signature = TypeSlots.unaryfunc self.entry.signature = TypeSlots.unaryfunc
elif len(self.args) == 2 and self.args[1].default is None: elif len(self.args) == 2:
self.entry.signature = TypeSlots.ibinaryfunc if self.args[1].default is None and not self.args[1].kw_only:
self.entry.signature = TypeSlots.ibinaryfunc
sig = self.entry.signature sig = self.entry.signature
nfixed = sig.num_fixed_args() nfixed = sig.num_fixed_args()
for i in range(nfixed): for i in range(nfixed):
......
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