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

Reply via email to