mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-23 21:10:19 +00:00
26 lines
607 B
C
26 lines
607 B
C
#include "pocketpy/pocketpy.h"
|
|
|
|
#include "pocketpy/common/utils.h"
|
|
#include "pocketpy/objects/object.h"
|
|
#include "pocketpy/interpreter/vm.h"
|
|
|
|
void py_newtuple(py_Ref out, int n) {
|
|
pk_VM* vm = pk_current_vm;
|
|
PyObject* obj = pk_ManagedHeap__gcnew(&vm->heap, tp_tuple, n, 0);
|
|
out->type = tp_tuple;
|
|
out->is_ptr = true;
|
|
out->_obj = obj;
|
|
}
|
|
|
|
py_Ref py_tuple__getitem(const py_Ref self, int i){
|
|
return py_getslot(self, i);
|
|
}
|
|
|
|
void py_tuple__setitem(py_Ref self, int i, const py_Ref val){
|
|
py_setslot(self, i, val);
|
|
}
|
|
|
|
int py_tuple__len(const py_Ref self){
|
|
return self->_obj->slots;
|
|
}
|