BLUELOVETH 2 lat temu
rodzic
commit
a01d1a5057
2 zmienionych plików z 5 dodań i 0 usunięć
  1. 1 0
      include/pocketpy/vm.h
  2. 4 0
      src/vm.cpp

+ 1 - 0
include/pocketpy/vm.h

@@ -168,6 +168,7 @@ public:
     PyObject* find_name_in_mro(PyObject* cls, StrName name);
     bool isinstance(PyObject* obj, Type cls_t);
     PyObject* exec(Str source, Str filename, CompileMode mode, PyObject* _module=nullptr);
+    PyObject* eval(Str source, PyObject* _module=nullptr);
 
     template<typename ...Args>
     PyObject* _exec(Args&&... args){

+ 4 - 0
src/vm.cpp

@@ -114,6 +114,10 @@ namespace pkpy{
         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* obj = heap._new<Type>(tp_type, _all_types.size());
         const PyTypeInfo& base_info = _all_types[base];