mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-21 12:00:18 +00:00
compatible fix
This commit is contained in:
parent
f752acdfc8
commit
c7495853ec
@ -253,6 +253,7 @@ public:
|
|||||||
void bind__str__(Type type, PyObject* (*f)(VM*, PyObject*));
|
void bind__str__(Type type, PyObject* (*f)(VM*, PyObject*));
|
||||||
void bind__iter__(Type type, PyObject* (*f)(VM*, PyObject*));
|
void bind__iter__(Type type, PyObject* (*f)(VM*, PyObject*));
|
||||||
void bind__next__(Type type, unsigned (*f)(VM*, PyObject*));
|
void bind__next__(Type type, unsigned (*f)(VM*, PyObject*));
|
||||||
|
[[deprecated]] void bind__next__(Type type, PyObject* (*f)(VM*, PyObject*));
|
||||||
void bind__neg__(Type type, PyObject* (*f)(VM*, PyObject*));
|
void bind__neg__(Type type, PyObject* (*f)(VM*, PyObject*));
|
||||||
void bind__invert__(Type type, PyObject* (*f)(VM*, PyObject*));
|
void bind__invert__(Type type, PyObject* (*f)(VM*, PyObject*));
|
||||||
void bind__hash__(Type type, i64 (*f)(VM* vm, PyObject*));
|
void bind__hash__(Type type, i64 (*f)(VM* vm, PyObject*));
|
||||||
|
@ -1333,6 +1333,14 @@ void VM::bind__delitem__(Type type, void (*f)(VM*, PyObject*, PyObject*)){
|
|||||||
PK_OBJ_GET(NativeFunc, nf).set_userdata(f); \
|
PK_OBJ_GET(NativeFunc, nf).set_userdata(f); \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void VM::bind__next__(Type type, PyObject* (*f)(VM*, PyObject*)){
|
||||||
|
PyObject* nf = bind_method<0>(_t(type), __next__, [](VM* vm, ArgsView args){
|
||||||
|
auto f = lambda_get_userdata<PyObject*(*)(VM*, PyObject*)>(args.begin());
|
||||||
|
return f(vm, args[0]);
|
||||||
|
});
|
||||||
|
PK_OBJ_GET(NativeFunc, nf).set_userdata(f);
|
||||||
|
}
|
||||||
|
|
||||||
#define BIND_UNARY_SPECIAL(name) \
|
#define BIND_UNARY_SPECIAL(name) \
|
||||||
void VM::bind##name(Type type, PyObject* (*f)(VM*, PyObject*)){ \
|
void VM::bind##name(Type type, PyObject* (*f)(VM*, PyObject*)){ \
|
||||||
_all_types[type].m##name = f; \
|
_all_types[type].m##name = f; \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user