Skip to content

Commit 9f5b4b8

Browse files
committed
Implement C API function PyList_Insert.
1 parent fa413de commit 9f5b4b8

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,3 +94,8 @@ UPCALL_ID(PyList_Sort);
9494
int PyList_Sort(PyObject *l) {
9595
return UPCALL_CEXT_I(_jls_PyList_Sort, native_to_java(l));
9696
}
97+
98+
UPCALL_ID(PyList_Insert);
99+
int PyList_Insert(PyObject *op, Py_ssize_t where, PyObject *newitem) {
100+
return UPCALL_CEXT_I(_jls_PyList_Insert, native_to_java(op), where, native_to_java(newitem));
101+
}

graalpython/lib-graalpython/python_cext.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -386,6 +386,13 @@ def PyList_Sort(listObj):
386386
listObj.sort()
387387
return 0
388388

389+
@may_raise(-1)
390+
def PyList_Insert(listObj, i, item):
391+
if not isinstance(listObj, list):
392+
__bad_internal_call(None, None, listObj)
393+
listObj.insert(i, item)
394+
return 0
395+
389396

390397
##################### LONG
391398

0 commit comments

Comments
 (0)