Skip to content

Commit 9cce842

Browse files
committed
use GetSetDescriptors on memoryview to access the C-level attributes
1 parent 9d516a2 commit 9cce842

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

graalpython/lib-graalpython/memoryview.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,18 +50,18 @@ def __memoryview_getitem(self, key):
5050
return memoryview(res) if isinstance(res, type(self.__c_memoryview)) else res
5151

5252

53+
getsetdescriptor = type(type(__memoryview_init).__code__)
54+
55+
5356
def make_property(name):
54-
@property
5557
def getter(self):
5658
return getattr(self.__c_memoryview, name)
5759

5860
error_string = "attribute '%s' of 'memoryview' objects is not writable" % name
59-
@getter.setter
6061
def setter(self, value):
6162
raise AttributeError(error_string)
6263

63-
getter.__name__ = name
64-
return getter
64+
return getsetdescriptor(fget=getter, fset=setter, name=name, owner=memoryview)
6565

6666

6767
for p in ["nbytes", "readonly", "itemsize", "format", "ndim", "shape", "strides",

0 commit comments

Comments
 (0)