Author: Ronan Lamy <ronan.l...@gmail.com> Branch: buffer-cleanup Changeset: r89947:d57c072db0e5 Date: 2017-02-05 17:02 +0000 http://bitbucket.org/pypy/pypy/changeset/d57c072db0e5/
Log: kill buffer_w_ex() diff --git a/pypy/interpreter/baseobjspace.py b/pypy/interpreter/baseobjspace.py --- a/pypy/interpreter/baseobjspace.py +++ b/pypy/interpreter/baseobjspace.py @@ -25,15 +25,6 @@ reds=['items', 'w_iterator']) -@specialize.memo() -def _does_override_buffer_w(type): - return type.buffer_w != W_Root.buffer_w - -@specialize.memo() -def _does_override_buffer_w_ex(type): - return type.buffer_w_ex != W_Root.buffer_w_ex - - class W_Root(object): """This is the abstract root class of all wrapped objects that live in a 'normal' object space like StdObjSpace.""" @@ -223,15 +214,8 @@ return None def buffer_w(self, space, flags): - if _does_override_buffer_w_ex(self.__class__): - return self.buffer_w_ex(space, flags)[0] return self.__buffer_w(space, flags).buffer_w(space, flags) - def buffer_w_ex(self, space, flags): - if _does_override_buffer_w(self.__class__): - return self.buffer_w(space, flags), 'B', 1 - return self.__buffer_w(space, flags).buffer_w_ex(space, flags) - def __buffer_w(self, space, flags): if flags & space.BUF_WRITABLE: w_impl = space.lookup(self, '__wbuffer__') @@ -1469,15 +1453,6 @@ raise oefmt(self.w_TypeError, "'%T' does not support the buffer interface", w_obj) - def buffer_w_ex(self, w_obj, flags): - # New buffer interface, returns a buffer based on flags (PyObject_GetBuffer) - # Returns extra information: (buffer, typecode, itemsize) - try: - return w_obj.buffer_w_ex(self, flags) - except BufferInterfaceNotFound: - raise oefmt(self.w_TypeError, - "'%T' does not support the buffer interface", w_obj) - def readbuf_w(self, w_obj): # Old buffer interface, returns a readonly buffer (PyObject_AsReadBuffer) try: diff --git a/pypy/module/_rawffi/array.py b/pypy/module/_rawffi/array.py --- a/pypy/module/_rawffi/array.py +++ b/pypy/module/_rawffi/array.py @@ -189,10 +189,6 @@ for i in range(len(value)): ll_buffer[start + i] = value[i] - def buffer_w_ex(self, space, flags): - buf = self.buffer_w(space, flags) - return buf, buf.getformat(), buf.getitemsize() - W_ArrayInstance.typedef = TypeDef( 'ArrayInstance', diff --git a/pypy/module/array/interp_array.py b/pypy/module/array/interp_array.py --- a/pypy/module/array/interp_array.py +++ b/pypy/module/array/interp_array.py @@ -259,10 +259,6 @@ def buffer_w(self, space, flags): return ArrayBuffer(self, False) - def buffer_w_ex(self, space, flags): - buf = self.buffer_w(space, flags) - return buf, buf.getformat(), buf.getitemsize() - def descr_append(self, space, w_x): """ append(x) diff --git a/pypy/objspace/std/memoryobject.py b/pypy/objspace/std/memoryobject.py --- a/pypy/objspace/std/memoryobject.py +++ b/pypy/objspace/std/memoryobject.py @@ -74,17 +74,18 @@ def setformat(self, value): self.format = value - def buffer_w_ex(self, space, flags): + def buffer_w(self, space, flags): self._check_released(space) space.check_buf_flags(flags, self.buf.readonly) - return self.buf, self.getformat(), self.itemsize + return self.buf @staticmethod def descr_new_memoryview(space, w_subtype, w_object): if isinstance(w_object, W_MemoryView): w_object._check_released(space) return W_MemoryView.copy(w_object) - return W_MemoryView(*space.buffer_w_ex(w_object, space.BUF_FULL_RO)) + buf = space.buffer_w(w_object, space.BUF_FULL_RO) + return W_MemoryView(buf, buf.getformat(), buf.getitemsize()) def _make_descr__cmp(name): def descr__cmp(self, space, w_other): diff --git a/pypy/objspace/std/test/test_memoryobject.py b/pypy/objspace/std/test/test_memoryobject.py --- a/pypy/objspace/std/test/test_memoryobject.py +++ b/pypy/objspace/std/test/test_memoryobject.py @@ -345,9 +345,6 @@ return MockBuffer(space, self.w_list, self.w_dim, self.w_fmt, \ self.w_size, self.w_strides, self.w_shape) - def buffer_w_ex(self, space, flags): - return self.buffer_w(space, flags), space.str_w(self.w_fmt), space.int_w(self.w_size) - W_MockArray.typedef = TypeDef("MockArray", __new__ = interp2app(W_MockArray.descr_new), ) _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit