def call_keywords(self, space, w_self, __args__): func = rffi.cast(PyCFunctionKwArgs, self.ml.c_ml_meth) py_args = tuple_from_args_w(space, __args__.arguments_w) w_kwargs = w_kwargs_from_args(space, __args__) try: return generic_cpy_call(space, func, w_self, py_args, w_kwargs) finally: decref(space, py_args)
def call_varargs(self, space, w_self, __args__): state = space.fromcache(State) func = self.ml.c_ml_meth py_args = tuple_from_args_w(space, __args__.arguments_w) try: return generic_cpy_call(space, func, w_self, py_args) finally: decref(space, py_args)
def call_oldargs(self, space, w_self, __args__): func = self.ml.c_ml_meth length = len(__args__.arguments_w) if length == 0: py_args = lltype.nullptr(PyObject.TO) elif length == 1: py_args = make_ref(space, __args__.arguments_w[0]) else: py_args = tuple_from_args_w(space, __args__.arguments_w) try: return generic_cpy_call(space, func, w_self, py_args) finally: decref(space, py_args)