Author: Wim Lavrijsen <wlavrij...@lbl.gov> Branch: cppyy-packaging Changeset: r94777:0a440aa9127d Date: 2018-06-21 20:24 -0700 http://bitbucket.org/pypy/pypy/changeset/0a440aa9127d/
Log: simplify function calls diff --git a/pypy/module/_cppyy/interp_cppyy.py b/pypy/module/_cppyy/interp_cppyy.py --- a/pypy/module/_cppyy/interp_cppyy.py +++ b/pypy/module/_cppyy/interp_cppyy.py @@ -456,8 +456,7 @@ self.flags = flags self.w_this = self.space.w_None - @unwrap_spec(args_w='args_w') - def descr_get(self, w_cppinstance, args_w): + def descr_get(self, w_cppinstance, w_cls=None): if self.space.is_w(w_cppinstance, self.space.w_None): return self # unbound, so no new instance needed cppol = W_CPPOverload(self.space, self.scope, self.functions, self.flags) @@ -568,8 +567,7 @@ class W_CPPStaticOverload(W_CPPOverload): _attrs_ = [] - @unwrap_spec(args_w='args_w') - def descr_get(self, w_cppinstance, args_w): + def descr_get(self, w_cppinstance, w_cls=None): if isinstance(w_cppinstance, W_CPPInstance): # two possibilities: this is a static function called on an # instance and w_this must not be set, or a free function rebound @@ -605,8 +603,7 @@ class W_CPPConstructorOverload(W_CPPOverload): _attrs_ = [] - @unwrap_spec(args_w='args_w') - def descr_get(self, w_cppinstance, args_w): + def descr_get(self, w_cppinstance, w_cls=None): if self.space.is_w(w_cppinstance, self.space.w_None): return self # unbound (TODO: probably useless) cppol = W_CPPConstructorOverload(self.space, self.scope, self.functions, self.flags) @@ -700,7 +697,7 @@ # try to match with run-time instantiations for cppol in self.master.overloads.values(): try: - return cppol.descr_get(self.w_this, []).call(args_w) + return cppol.descr_get(self.w_this).call(args_w) except Exception: pass # completely ignore for now; have to see whether errors become confusing @@ -723,7 +720,7 @@ except KeyError: self.master.overloads[fullname] = method - return method.descr_get(self.w_this, []).call(args_w) + return method.descr_get(self.w_this).call(args_w) def getitem_impl(self, name, args_w): space = self.space @@ -746,7 +743,7 @@ if c_fullname != fullname: self.master.overloads[c_fullname] = method - return method.descr_get(self.w_this, []) + return method.descr_get(self.w_this) class W_CPPTemplateOverload(W_CPPOverload, TemplateOverloadMixin): @@ -762,8 +759,7 @@ self.overloads = {} self.master = self - @unwrap_spec(args_w='args_w') - def descr_get(self, w_cppinstance, args_w): + def descr_get(self, w_cppinstance, w_cls=None): # like W_CPPOverload, but returns W_CPPTemplateOverload if self.space.is_w(w_cppinstance, self.space.w_None): return self # unbound, so no new instance needed @@ -814,8 +810,7 @@ self.overloads = {} self.master = self - @unwrap_spec(args_w='args_w') - def descr_get(self, w_cppinstance, args_w): + def descr_get(self, w_cppinstance, w_cls=None): # like W_CPPStaticOverload, but returns W_CPPTemplateStaticOverload if isinstance(w_cppinstance, W_CPPInstance): cppinstance = self.space.interp_w(W_CPPInstance, w_cppinstance) _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit