blueloveTH 3 лет назад
Родитель
Сommit
985e5151ee
2 измененных файлов с 5 добавлено и 0 удалено
  1. 3 0
      src/obj.h
  2. 2 0
      src/vm.h

+ 3 - 0
src/obj.h

@@ -174,4 +174,7 @@ T& py_cast(VM* vm, const PyVar& var) { UNREACHABLE(); }
 template<typename T>
 T& _py_cast(VM* vm, const PyVar& var) { UNREACHABLE(); }
 
+#define VAR(x) py_var(vm, x)
+
+
 }   // namespace pkpy

+ 2 - 0
src/vm.h

@@ -34,6 +34,7 @@ public:
 };
 
 class VM {
+    VM* vm;     // self reference for simplify code
 public:
     std::stack< std::unique_ptr<Frame> > callstack;
     PyVar _py_op_call;
@@ -57,6 +58,7 @@ public:
     int recursionlimit = 1000;
 
     VM(bool use_stdio){
+        this->vm = this;
         this->use_stdio = use_stdio;
         if(use_stdio){
             this->_stdout = &std::cout;