This commit is contained in:
blueloveTH 2024-05-02 16:07:15 +08:00
parent 5be2745220
commit 79608fb9c9
5 changed files with 10 additions and 10 deletions

View File

@ -426,8 +426,8 @@ public:
PyObject* bind_property(PyObject*, const char*, NativeFuncC fget, NativeFuncC fset=nullptr);
template<typename T>
PyObject* register_user_class(PyObject* mod, StrName name, Type base=0, bool subclass_enabled=false){
PyObject* type = new_type_object(mod, name, base, subclass_enabled);
PyObject* register_user_class(PyObject* mod, StrName name, bool subclass_enabled=false){
PyObject* type = new_type_object(mod, name, 0, subclass_enabled);
mod->attr().set(name, type);
_cxx_typeid_map[typeid(T)] = PK_OBJ_GET(Type, type);
T::_register(vm, mod, type);

View File

@ -373,7 +373,7 @@ struct Array2dIter{
void add_module_array2d(VM* vm){
PyObject* mod = vm->new_module("array2d");
vm->register_user_class<Array2d>(mod, "array2d", 0, true);
vm->register_user_class<Array2d>(mod, "array2d", true);
vm->register_user_class<Array2dIter>(mod, "_array2d_iter");
vm->bind__iter__(vm->_tp_user<Array2d>(), [](VM* vm, PyObject* _0){

View File

@ -161,8 +161,8 @@ void add_module_c(VM* vm){
return vm->None;
});
vm->register_user_class<VoidP>(mod, "void_p", 0, true);
vm->register_user_class<C99Struct>(mod, "struct", 0, true);
vm->register_user_class<VoidP>(mod, "void_p", true);
vm->register_user_class<C99Struct>(mod, "struct", true);
mod->attr().set("NULL", VAR_T(VoidP, nullptr));

View File

@ -545,7 +545,7 @@ namespace pkpy
void add_module_collections(VM *vm)
{
PyObject *mod = vm->new_module("collections");
vm->register_user_class<PyDeque>(mod, "deque", 0, true);
vm->register_user_class<PyDeque>(mod, "deque", true);
vm->register_user_class<PyDequeIter>(mod, "_deque_iter");
CodeObject_ code = vm->compile(kPythonLibs_collections, "collections.py", EXEC_MODE);
vm->_exec(code, mod);

View File

@ -541,10 +541,10 @@ static Vec2 SmoothDamp(Vec2 current, Vec2 target, Vec2& currentVelocity, float s
void add_module_linalg(VM* vm){
PyObject* linalg = vm->new_module("linalg");
vm->register_user_class<Vec2>(linalg, "vec2", 0, true);
vm->register_user_class<Vec3>(linalg, "vec3", 0, true);
vm->register_user_class<Vec4>(linalg, "vec4", 0, true);
vm->register_user_class<Mat3x3>(linalg, "mat3x3", 0, true);
vm->register_user_class<Vec2>(linalg, "vec2", true);
vm->register_user_class<Vec3>(linalg, "vec3", true);
vm->register_user_class<Vec4>(linalg, "vec4", true);
vm->register_user_class<Mat3x3>(linalg, "mat3x3", true);
PyObject* float_p = vm->_modules["c"]->attr("float_p");
linalg->attr().set("vec2_p", float_p);