mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-24 21:40:16 +00:00
some fix
This commit is contained in:
parent
f944113567
commit
5be2745220
@ -373,7 +373,7 @@ struct Array2dIter{
|
|||||||
void add_module_array2d(VM* vm){
|
void add_module_array2d(VM* vm){
|
||||||
PyObject* mod = vm->new_module("array2d");
|
PyObject* mod = vm->new_module("array2d");
|
||||||
|
|
||||||
vm->register_user_class<Array2d>(mod, "array2d");
|
vm->register_user_class<Array2d>(mod, "array2d", 0, true);
|
||||||
vm->register_user_class<Array2dIter>(mod, "_array2d_iter");
|
vm->register_user_class<Array2dIter>(mod, "_array2d_iter");
|
||||||
|
|
||||||
vm->bind__iter__(vm->_tp_user<Array2d>(), [](VM* vm, PyObject* _0){
|
vm->bind__iter__(vm->_tp_user<Array2d>(), [](VM* vm, PyObject* _0){
|
||||||
|
|||||||
@ -161,8 +161,8 @@ void add_module_c(VM* vm){
|
|||||||
return vm->None;
|
return vm->None;
|
||||||
});
|
});
|
||||||
|
|
||||||
vm->register_user_class<VoidP>(mod, "void_p");
|
vm->register_user_class<VoidP>(mod, "void_p", 0, true);
|
||||||
vm->register_user_class<C99Struct>(mod, "struct");
|
vm->register_user_class<C99Struct>(mod, "struct", 0, true);
|
||||||
|
|
||||||
mod->attr().set("NULL", VAR_T(VoidP, nullptr));
|
mod->attr().set("NULL", VAR_T(VoidP, nullptr));
|
||||||
|
|
||||||
|
|||||||
@ -545,7 +545,7 @@ namespace pkpy
|
|||||||
void add_module_collections(VM *vm)
|
void add_module_collections(VM *vm)
|
||||||
{
|
{
|
||||||
PyObject *mod = vm->new_module("collections");
|
PyObject *mod = vm->new_module("collections");
|
||||||
vm->register_user_class<PyDeque>(mod, "deque");
|
vm->register_user_class<PyDeque>(mod, "deque", 0, true);
|
||||||
vm->register_user_class<PyDequeIter>(mod, "_deque_iter");
|
vm->register_user_class<PyDequeIter>(mod, "_deque_iter");
|
||||||
CodeObject_ code = vm->compile(kPythonLibs_collections, "collections.py", EXEC_MODE);
|
CodeObject_ code = vm->compile(kPythonLibs_collections, "collections.py", EXEC_MODE);
|
||||||
vm->_exec(code, mod);
|
vm->_exec(code, mod);
|
||||||
|
|||||||
@ -541,10 +541,10 @@ static Vec2 SmoothDamp(Vec2 current, Vec2 target, Vec2& currentVelocity, float s
|
|||||||
void add_module_linalg(VM* vm){
|
void add_module_linalg(VM* vm){
|
||||||
PyObject* linalg = vm->new_module("linalg");
|
PyObject* linalg = vm->new_module("linalg");
|
||||||
|
|
||||||
vm->register_user_class<Vec2>(linalg, "vec2");
|
vm->register_user_class<Vec2>(linalg, "vec2", 0, true);
|
||||||
vm->register_user_class<Vec3>(linalg, "vec3");
|
vm->register_user_class<Vec3>(linalg, "vec3", 0, true);
|
||||||
vm->register_user_class<Vec4>(linalg, "vec4");
|
vm->register_user_class<Vec4>(linalg, "vec4", 0, true);
|
||||||
vm->register_user_class<Mat3x3>(linalg, "mat3x3");
|
vm->register_user_class<Mat3x3>(linalg, "mat3x3", 0, true);
|
||||||
|
|
||||||
PyObject* float_p = vm->_modules["c"]->attr("float_p");
|
PyObject* float_p = vm->_modules["c"]->attr("float_p");
|
||||||
linalg->attr().set("vec2_p", float_p);
|
linalg->attr().set("vec2_p", float_p);
|
||||||
|
|||||||
@ -198,7 +198,8 @@ namespace pkpy{
|
|||||||
PyObject* obj = heap._new<Type>(tp_type, _all_types.size());
|
PyObject* obj = heap._new<Type>(tp_type, _all_types.size());
|
||||||
const PyTypeInfo& base_info = _all_types[base];
|
const PyTypeInfo& base_info = _all_types[base];
|
||||||
if(!base_info.subclass_enabled){
|
if(!base_info.subclass_enabled){
|
||||||
TypeError(_S("type ", base_info.name.escape(), " is not `subclass_enabled`"));
|
Str error = _S("type ", base_info.name.escape(), " is not `subclass_enabled`");
|
||||||
|
throw std::runtime_error(error.c_str());
|
||||||
}
|
}
|
||||||
PyTypeInfo info{
|
PyTypeInfo info{
|
||||||
obj,
|
obj,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user