Skip to content

Commit 54bbe3e

Browse files
committed
Implement C API function PySequence_GetSlice.
1 parent ca63486 commit 54bbe3e

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

graalpython/com.oracle.graal.python.cext/src/abstract.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -311,6 +311,11 @@ int PySequence_SetItem(PyObject *s, Py_ssize_t i, PyObject *o) {
311311
return UPCALL_CEXT_I(_jls_PySequence_SetItem, native_to_java(s), i, native_to_java(o));
312312
}
313313

314+
UPCALL_ID(PySequence_GetSlice);
315+
PyObject* PySequence_GetSlice(PyObject *s, Py_ssize_t i1, Py_ssize_t i2) {
316+
return UPCALL_CEXT_O(_jls_PySequence_GetSlice, native_to_java(s), i1, i2);
317+
}
318+
314319
UPCALL_ID(PySequence_Tuple);
315320
PyObject* PySequence_Tuple(PyObject *v) {
316321
return UPCALL_CEXT_O(_jls_PySequence_Tuple, native_to_java(v));

graalpython/lib-graalpython/python_cext.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -634,6 +634,11 @@ def PySequence_SetItem(obj, key, value):
634634
return 0
635635

636636

637+
@may_raise
638+
def PySequence_GetSlice(obj, low, high):
639+
return obj[low:high]
640+
641+
637642
@may_raise(-1)
638643
def PySequence_Contains(haystack, needle):
639644
return needle in haystack

0 commit comments

Comments
 (0)