interrogate: pass "args" tuple to function that takes PyObject *args

This commit is contained in:
rdb 2017-12-12 16:20:59 +01:00
parent 3e83f8c65e
commit 18678214ae

View File

@ -797,6 +797,7 @@ setup_properties(const InterrogateFunction &ifunc, InterfaceMaker *interface_mak
(_parameters[first_param + 1]._name == "kwargs" ||
_parameters[first_param + 1]._name == "kwds")) {
_flags |= F_explicit_args;
_args_type = InterfaceMaker::AT_keyword_args;
}
}
@ -909,6 +910,13 @@ setup_properties(const InterrogateFunction &ifunc, InterfaceMaker *interface_mak
break;
}
}
} else if (_args_type == InterfaceMaker::AT_single_arg) {
// If it takes an argument named "args", we are directly passing the
// "args" tuple to the function.
if (_parameters[first_param]._name == "args") {
_flags |= F_explicit_args;
_args_type = InterfaceMaker::AT_varargs;
}
}
}
break;