mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-23 13:00:17 +00:00
remove bind_notimplemented_constructor
This commit is contained in:
parent
425fffec74
commit
e27f100b18
@ -197,7 +197,6 @@ static PyObject* lua_popx_multi_to_python(VM* vm, int count){
|
|||||||
|
|
||||||
struct PyLuaFunction: PyLuaObject{
|
struct PyLuaFunction: PyLuaObject{
|
||||||
static void _register(VM* vm, PyObject* mod, PyObject* type){
|
static void _register(VM* vm, PyObject* mod, PyObject* type){
|
||||||
vm->bind_notimplemented_constructor<PyLuaFunction>(type);
|
|
||||||
vm->bind_func(type, __call__, -1, [](VM* vm, ArgsView args){
|
vm->bind_func(type, __call__, -1, [](VM* vm, ArgsView args){
|
||||||
if(args.size() < 1) vm->TypeError("__call__ takes at least 1 argument");
|
if(args.size() < 1) vm->TypeError("__call__ takes at least 1 argument");
|
||||||
const PyLuaFunction& self = _CAST(PyLuaFunction&, args[0]);
|
const PyLuaFunction& self = _CAST(PyLuaFunction&, args[0]);
|
||||||
|
@ -310,13 +310,6 @@ public:
|
|||||||
template<typename T, typename F, bool ReadOnly=false>
|
template<typename T, typename F, bool ReadOnly=false>
|
||||||
PyObject* bind_field(PyObject*, const char*, F T::*);
|
PyObject* bind_field(PyObject*, const char*, F T::*);
|
||||||
|
|
||||||
template<typename T, typename __T>
|
|
||||||
PyObject* bind_notimplemented_constructor(__T&& type) {
|
|
||||||
return bind_func<-1>(std::forward<__T>(type), __new__, [](VM* vm, ArgsView args){
|
|
||||||
vm->NotImplementedError();
|
|
||||||
return vm->None;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
/********** error **********/
|
/********** error **********/
|
||||||
void _error(PyObject*);
|
void _error(PyObject*);
|
||||||
void StackOverflowError() { __builtin_error("StackOverflowError"); }
|
void StackOverflowError() { __builtin_error("StackOverflowError"); }
|
||||||
@ -362,6 +355,12 @@ public:
|
|||||||
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);
|
||||||
|
if(!type->attr().contains(__new__)){
|
||||||
|
bind_func(type, __new__, -1, [](VM* vm, ArgsView args){
|
||||||
|
vm->NotImplementedError();
|
||||||
|
return vm->None;
|
||||||
|
});
|
||||||
|
}
|
||||||
return type;
|
return type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -352,7 +352,6 @@ struct Array2dIter{
|
|||||||
void _gc_mark() const{ PK_OBJ_MARK(ref); }
|
void _gc_mark() const{ PK_OBJ_MARK(ref); }
|
||||||
|
|
||||||
static void _register(VM* vm, PyObject* mod, PyObject* type){
|
static void _register(VM* vm, PyObject* mod, PyObject* type){
|
||||||
vm->bind_notimplemented_constructor<Array2dIter>(type);
|
|
||||||
vm->bind__iter__(PK_OBJ_GET(Type, type), [](VM* vm, PyObject* _0) { return _0; });
|
vm->bind__iter__(PK_OBJ_GET(Type, type), [](VM* vm, PyObject* _0) { return _0; });
|
||||||
vm->bind__next__(PK_OBJ_GET(Type, type), [](VM* vm, PyObject* _0) -> unsigned{
|
vm->bind__next__(PK_OBJ_GET(Type, type), [](VM* vm, PyObject* _0) -> unsigned{
|
||||||
Array2dIter& self = PK_OBJ_GET(Array2dIter, _0);
|
Array2dIter& self = PK_OBJ_GET(Array2dIter, _0);
|
||||||
|
@ -23,9 +23,6 @@ namespace pkpy
|
|||||||
};
|
};
|
||||||
void PyDequeIter::_register(VM *vm, PyObject *mod, PyObject *type)
|
void PyDequeIter::_register(VM *vm, PyObject *mod, PyObject *type)
|
||||||
{
|
{
|
||||||
// Iterator for the deque type
|
|
||||||
vm->bind_notimplemented_constructor<PyDequeIter>(type);
|
|
||||||
|
|
||||||
vm->bind__iter__(PK_OBJ_GET(Type, type), [](VM *vm, PyObject *obj)
|
vm->bind__iter__(PK_OBJ_GET(Type, type), [](VM *vm, PyObject *obj)
|
||||||
{ return obj; });
|
{ return obj; });
|
||||||
vm->bind__next__(PK_OBJ_GET(Type, type), [](VM *vm, PyObject *obj) -> unsigned
|
vm->bind__next__(PK_OBJ_GET(Type, type), [](VM *vm, PyObject *obj) -> unsigned
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
namespace pkpy{
|
namespace pkpy{
|
||||||
|
|
||||||
void RangeIter::_register(VM* vm, PyObject* mod, PyObject* type){
|
void RangeIter::_register(VM* vm, PyObject* mod, PyObject* type){
|
||||||
vm->bind_notimplemented_constructor<RangeIter>(type);
|
|
||||||
vm->bind__iter__(PK_OBJ_GET(Type, type), [](VM* vm, PyObject* _0){ return _0; });
|
vm->bind__iter__(PK_OBJ_GET(Type, type), [](VM* vm, PyObject* _0){ return _0; });
|
||||||
vm->bind__next__(PK_OBJ_GET(Type, type), [](VM* vm, PyObject* _0) -> unsigned{
|
vm->bind__next__(PK_OBJ_GET(Type, type), [](VM* vm, PyObject* _0) -> unsigned{
|
||||||
RangeIter& self = PK_OBJ_GET(RangeIter, _0);
|
RangeIter& self = PK_OBJ_GET(RangeIter, _0);
|
||||||
@ -19,7 +18,6 @@ namespace pkpy{
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ArrayIter::_register(VM* vm, PyObject* mod, PyObject* type){
|
void ArrayIter::_register(VM* vm, PyObject* mod, PyObject* type){
|
||||||
vm->bind_notimplemented_constructor<ArrayIter>(type);
|
|
||||||
vm->bind__iter__(PK_OBJ_GET(Type, type), [](VM* vm, PyObject* _0){ return _0; });
|
vm->bind__iter__(PK_OBJ_GET(Type, type), [](VM* vm, PyObject* _0){ return _0; });
|
||||||
vm->bind__next__(PK_OBJ_GET(Type, type), [](VM* vm, PyObject* _0) -> unsigned{
|
vm->bind__next__(PK_OBJ_GET(Type, type), [](VM* vm, PyObject* _0) -> unsigned{
|
||||||
ArrayIter& self = _CAST(ArrayIter&, _0);
|
ArrayIter& self = _CAST(ArrayIter&, _0);
|
||||||
@ -30,7 +28,6 @@ namespace pkpy{
|
|||||||
}
|
}
|
||||||
|
|
||||||
void StringIter::_register(VM* vm, PyObject* mod, PyObject* type){
|
void StringIter::_register(VM* vm, PyObject* mod, PyObject* type){
|
||||||
vm->bind_notimplemented_constructor<StringIter>(type);
|
|
||||||
vm->bind__iter__(PK_OBJ_GET(Type, type), [](VM* vm, PyObject* _0){ return _0; });
|
vm->bind__iter__(PK_OBJ_GET(Type, type), [](VM* vm, PyObject* _0){ return _0; });
|
||||||
vm->bind__next__(PK_OBJ_GET(Type, type), [](VM* vm, PyObject* _0) -> unsigned{
|
vm->bind__next__(PK_OBJ_GET(Type, type), [](VM* vm, PyObject* _0) -> unsigned{
|
||||||
StringIter& self = _CAST(StringIter&, _0);
|
StringIter& self = _CAST(StringIter&, _0);
|
||||||
@ -78,7 +75,6 @@ namespace pkpy{
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Generator::_register(VM* vm, PyObject* mod, PyObject* type){
|
void Generator::_register(VM* vm, PyObject* mod, PyObject* type){
|
||||||
vm->bind_notimplemented_constructor<Generator>(type);
|
|
||||||
vm->bind__iter__(PK_OBJ_GET(Type, type), [](VM* vm, PyObject* _0){ return _0; });
|
vm->bind__iter__(PK_OBJ_GET(Type, type), [](VM* vm, PyObject* _0){ return _0; });
|
||||||
vm->bind__next__(PK_OBJ_GET(Type, type), [](VM* vm, PyObject* _0) -> unsigned{
|
vm->bind__next__(PK_OBJ_GET(Type, type), [](VM* vm, PyObject* _0) -> unsigned{
|
||||||
Generator& self = _CAST(Generator&, _0);
|
Generator& self = _CAST(Generator&, _0);
|
||||||
@ -90,7 +86,6 @@ namespace pkpy{
|
|||||||
}
|
}
|
||||||
|
|
||||||
void DictItemsIter::_register(VM *vm, PyObject *mod, PyObject *type){
|
void DictItemsIter::_register(VM *vm, PyObject *mod, PyObject *type){
|
||||||
vm->bind_notimplemented_constructor<DictItemsIter>(type);
|
|
||||||
vm->bind__iter__(PK_OBJ_GET(Type, type), [](VM* vm, PyObject* _0){ return _0; });
|
vm->bind__iter__(PK_OBJ_GET(Type, type), [](VM* vm, PyObject* _0){ return _0; });
|
||||||
vm->bind__next__(PK_OBJ_GET(Type, type), [](VM* vm, PyObject* _0) -> unsigned{
|
vm->bind__next__(PK_OBJ_GET(Type, type), [](VM* vm, PyObject* _0) -> unsigned{
|
||||||
DictItemsIter& self = _CAST(DictItemsIter&, _0);
|
DictItemsIter& self = _CAST(DictItemsIter&, _0);
|
||||||
|
@ -27,7 +27,6 @@ struct PyStructTime{
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void _register(VM* vm, PyObject* mod, PyObject* type){
|
static void _register(VM* vm, PyObject* mod, PyObject* type){
|
||||||
vm->bind_notimplemented_constructor<PyStructTime>(type);
|
|
||||||
PY_READONLY_FIELD(PyStructTime, "tm_year", tm_year);
|
PY_READONLY_FIELD(PyStructTime, "tm_year", tm_year);
|
||||||
PY_READONLY_FIELD(PyStructTime, "tm_mon", tm_mon);
|
PY_READONLY_FIELD(PyStructTime, "tm_mon", tm_mon);
|
||||||
PY_READONLY_FIELD(PyStructTime, "tm_mday", tm_mday);
|
PY_READONLY_FIELD(PyStructTime, "tm_mday", tm_mday);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user