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