mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-20 11:30:18 +00:00
add vm->eval
This commit is contained in:
parent
8b3504cc2e
commit
a01d1a5057
@ -168,6 +168,7 @@ public:
|
|||||||
PyObject* find_name_in_mro(PyObject* cls, StrName name);
|
PyObject* find_name_in_mro(PyObject* cls, StrName name);
|
||||||
bool isinstance(PyObject* obj, Type cls_t);
|
bool isinstance(PyObject* obj, Type cls_t);
|
||||||
PyObject* exec(Str source, Str filename, CompileMode mode, PyObject* _module=nullptr);
|
PyObject* exec(Str source, Str filename, CompileMode mode, PyObject* _module=nullptr);
|
||||||
|
PyObject* eval(Str source, PyObject* _module=nullptr);
|
||||||
|
|
||||||
template<typename ...Args>
|
template<typename ...Args>
|
||||||
PyObject* _exec(Args&&... args){
|
PyObject* _exec(Args&&... args){
|
||||||
|
@ -114,6 +114,10 @@ namespace pkpy{
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PyObject* VM::eval(Str source, PyObject* _module){
|
||||||
|
return exec(source, "<eval>", EVAL_MODE, _module);
|
||||||
|
}
|
||||||
|
|
||||||
PyObject* VM::new_type_object(PyObject* mod, StrName name, Type base, bool subclass_enabled){
|
PyObject* VM::new_type_object(PyObject* mod, StrName name, Type base, bool subclass_enabled){
|
||||||
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];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user