mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-24 05:20:17 +00:00
added a pkpy_vm_push method
This commit is contained in:
parent
8abaebbf9f
commit
e2bf81d7f2
@ -547,3 +547,11 @@ bool pkpy_pop(pkpy_vm* vm_handle, int n) {
|
|||||||
vm->c_data->shrink(n);
|
vm->c_data->shrink(n);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool pkpy_push(pkpy_vm* vm_handle, int index) {
|
||||||
|
CVM* vm = (CVM*) vm_handle;
|
||||||
|
index = lua_to_cstack_index(index, vm->c_data->size());
|
||||||
|
vm->c_data->push(vm->c_data->begin()[index]);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|||||||
@ -30,6 +30,10 @@ typedef int (*pkpy_function)(pkpy_vm*);
|
|||||||
|
|
||||||
bool pkpy_pop(pkpy_vm*, int n);
|
bool pkpy_pop(pkpy_vm*, int n);
|
||||||
|
|
||||||
|
//push the item at index onto the top of the stack (as well as leaving it where
|
||||||
|
//it is on the stack)
|
||||||
|
bool pkpy_push(pkpy_vm*, int index);
|
||||||
|
|
||||||
bool pkpy_push_function(pkpy_vm*, pkpy_function);
|
bool pkpy_push_function(pkpy_vm*, pkpy_function);
|
||||||
bool pkpy_push_int(pkpy_vm*, int);
|
bool pkpy_push_int(pkpy_vm*, int);
|
||||||
bool pkpy_push_float(pkpy_vm*, double);
|
bool pkpy_push_float(pkpy_vm*, double);
|
||||||
|
|||||||
@ -209,6 +209,8 @@ int main(int argc, char** argv) {
|
|||||||
check(pkpy_is_string(vm, -3));
|
check(pkpy_is_string(vm, -3));
|
||||||
check(pkpy_is_none(vm, -2));
|
check(pkpy_is_none(vm, -2));
|
||||||
check(pkpy_is_voidp(vm, -1));
|
check(pkpy_is_voidp(vm, -1));
|
||||||
|
check(pkpy_push(vm, -3));
|
||||||
|
check(pkpy_is_string(vm, -1));
|
||||||
|
|
||||||
printf("\ntesting error catching\n");
|
printf("\ntesting error catching\n");
|
||||||
error(pkpy_vm_run(vm, "let's make sure syntax errors get caught"));
|
error(pkpy_vm_run(vm, "let's make sure syntax errors get caught"));
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user