Author: Ronan Lamy <[email protected]>
Branch: PyBuffer
Changeset: r90803:325cb226de2d
Date: 2017-03-24 16:06 +0000
http://bitbucket.org/pypy/pypy/changeset/325cb226de2d/

Log:    Create PyBuffer: a base class for all pypy3-style buffers

diff --git a/pypy/interpreter/buffer.py b/pypy/interpreter/buffer.py
new file mode 100644
--- /dev/null
+++ b/pypy/interpreter/buffer.py
@@ -0,0 +1,4 @@
+from rpython.rlib.buffer import Buffer
+
+class PyBuffer(Buffer):
+    _immutable_ = True
diff --git a/pypy/module/__pypy__/bytebuffer.py 
b/pypy/module/__pypy__/bytebuffer.py
--- a/pypy/module/__pypy__/bytebuffer.py
+++ b/pypy/module/__pypy__/bytebuffer.py
@@ -2,12 +2,12 @@
 # A convenient read-write buffer.  Located here for want of a better place.
 #
 
-from rpython.rlib.buffer import Buffer
+from pypy.interpreter.buffer import PyBuffer
 from pypy.interpreter.gateway import unwrap_spec
 from rpython.rlib.rgc import nonmoving_raw_ptr_for_resizable_list
 
 
-class ByteBuffer(Buffer):
+class ByteBuffer(PyBuffer):
     _immutable_ = True
 
     def __init__(self, len):
diff --git a/pypy/module/_cffi_backend/cbuffer.py 
b/pypy/module/_cffi_backend/cbuffer.py
--- a/pypy/module/_cffi_backend/cbuffer.py
+++ b/pypy/module/_cffi_backend/cbuffer.py
@@ -5,13 +5,13 @@
 from pypy.module._cffi_backend import cdataobj, ctypeptr, ctypearray
 from pypy.module._cffi_backend import ctypestruct
 
-from rpython.rlib.buffer import Buffer
+from pypy.interpreter.buffer import PyBuffer
 from rpython.rtyper.annlowlevel import llstr
 from rpython.rtyper.lltypesystem import rffi
 from rpython.rtyper.lltypesystem.rstr import copy_string_to_raw
 
 
-class LLBuffer(Buffer):
+class LLBuffer(PyBuffer):
     _immutable_ = True
 
     def __init__(self, raw_cdata, size):
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
@@ -1,5 +1,4 @@
 from rpython.rlib import jit, rgc
-from rpython.rlib.buffer import Buffer
 from rpython.rlib.objectmodel import keepalive_until_here
 from rpython.rlib.rarithmetic import ovfcheck, widen
 from rpython.rlib.unroll import unrolling_iterable
@@ -7,6 +6,7 @@
 from rpython.rtyper.lltypesystem import lltype, rffi
 from rpython.rtyper.lltypesystem.rstr import copy_string_to_raw
 
+from pypy.interpreter.buffer import PyBuffer
 from pypy.interpreter.baseobjspace import W_Root
 from pypy.interpreter.error import OperationError, oefmt
 from pypy.interpreter.gateway import (
@@ -848,7 +848,7 @@
     v.typecode = k
 unroll_typecodes = unrolling_iterable(types.keys())
 
-class ArrayBuffer(Buffer):
+class ArrayBuffer(PyBuffer):
     _immutable_ = True
 
     def __init__(self, array, readonly):
@@ -895,7 +895,7 @@
                 return rffi.charpsize2str(rffi.ptradd(data, start), size)
             finally:
                 self.array._charbuf_stop()
-        return Buffer.getslice(self, start, stop, step, size)
+        return PyBuffer.getslice(self, start, stop, step, size)
 
     def get_raw_address(self):
         return self.array._charbuf_start()
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
@@ -4,7 +4,7 @@
 from pypy.interpreter.baseobjspace import W_Root
 from pypy.interpreter.gateway import interp2app
 from pypy.interpreter.typedef import TypeDef
-from rpython.rlib.buffer import Buffer
+from pypy.interpreter.buffer import PyBuffer
 from pypy.conftest import option
 
 class AppTestMemoryView:
@@ -292,7 +292,7 @@
         assert (m[0], m[1], m[2], m[3]) == expected
         a.free()
 
-class MockBuffer(Buffer):
+class MockBuffer(PyBuffer):
     def __init__(self, space, w_arr, w_dim, w_fmt, \
                  w_itemsize, w_strides, w_shape):
         self.space = space
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to