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

View File

@ -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", 0, true); vm->register_user_class<Array2d>(mod, "array2d", 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){

View File

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

View File

@ -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", 0, true); vm->register_user_class<PyDeque>(mod, "deque", 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);

View File

@ -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", 0, true); vm->register_user_class<Vec2>(linalg, "vec2", true);
vm->register_user_class<Vec3>(linalg, "vec3", 0, true); vm->register_user_class<Vec3>(linalg, "vec3", true);
vm->register_user_class<Vec4>(linalg, "vec4", 0, true); vm->register_user_class<Vec4>(linalg, "vec4", true);
vm->register_user_class<Mat3x3>(linalg, "mat3x3", 0, true); vm->register_user_class<Mat3x3>(linalg, "mat3x3", 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);