undo unnecessary changes

This commit is contained in:
S. Mahmudul Hasan 2023-10-19 23:06:26 -04:00
parent 2226767319
commit a5a18154f4
2 changed files with 44 additions and 55 deletions

View File

@ -4,70 +4,61 @@
#include "common.h"
#include "frame.h"
namespace pkpy
{
namespace pkpy{
struct RangeIter
{
PY_CLASS(RangeIter, builtins, "_range_iterator")
Range r;
i64 current;
RangeIter(Range r) : r(r), current(r.start) {}
struct RangeIter{
PY_CLASS(RangeIter, builtins, "_range_iterator")
Range r;
i64 current;
RangeIter(Range r) : r(r), current(r.start) {}
static void _register(VM *vm, PyObject *mod, PyObject *type);
};
static void _register(VM* vm, PyObject* mod, PyObject* type);
};
struct ArrayIter
{
PY_CLASS(ArrayIter, builtins, "_array_iterator")
PyObject *ref;
PyObject **begin;
PyObject **end;
PyObject **current;
struct ArrayIter{
PY_CLASS(ArrayIter, builtins, "_array_iterator")
PyObject* ref;
PyObject** begin;
PyObject** end;
PyObject** current;
ArrayIter(PyObject *ref, PyObject **begin, PyObject **end)
: ref(ref), begin(begin), end(end), current(begin) {}
ArrayIter(PyObject* ref, PyObject** begin, PyObject** end)
: ref(ref), begin(begin), end(end), current(begin) {}
void _gc_mark() const { PK_OBJ_MARK(ref); }
static void _register(VM *vm, PyObject *mod, PyObject *type);
};
void _gc_mark() const{ PK_OBJ_MARK(ref); }
static void _register(VM* vm, PyObject* mod, PyObject* type);
};
struct StringIter
{
PY_CLASS(StringIter, builtins, "_string_iterator")
PyObject *ref;
Str *str;
int index; // byte index
struct StringIter{
PY_CLASS(StringIter, builtins, "_string_iterator")
PyObject* ref;
Str* str;
int index; // byte index
StringIter(PyObject *ref) : ref(ref), str(&PK_OBJ_GET(Str, ref)), index(0) {}
StringIter(PyObject* ref) : ref(ref), str(&PK_OBJ_GET(Str, ref)), index(0) {}
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);
};
struct Generator
{
PY_CLASS(Generator, builtins, "generator")
Frame frame;
int state; // 0,1,2
List s_backup;
struct Generator{
PY_CLASS(Generator, builtins, "generator")
Frame frame;
int state; // 0,1,2
List s_backup;
Generator(Frame &&frame, ArgsView buffer) : frame(std::move(frame)), state(0)
{
for (PyObject *obj : buffer)
s_backup.push_back(obj);
}
Generator(Frame&& frame, ArgsView buffer): frame(std::move(frame)), state(0) {
for(PyObject* obj: buffer) s_backup.push_back(obj);
}
void _gc_mark() const
{
frame._gc_mark();
for (PyObject *obj : s_backup)
PK_OBJ_MARK(obj);
}
void _gc_mark() const{
frame._gc_mark();
for(PyObject* obj: s_backup) PK_OBJ_MARK(obj);
}
PyObject *next(VM *vm);
static void _register(VM *vm, PyObject *mod, PyObject *type);
};
PyObject* next(VM* vm);
static void _register(VM* vm, PyObject* mod, PyObject* type);
};
} // namespace pkpy

View File

@ -7,14 +7,13 @@
#include "base64.h"
#include "cffi.h"
#include "linalg.h"
#include "collections.h"
#include "easing.h"
#include "io.h"
#include "vm.h"
#include "re.h"
#include "random.h"
#include "bindings.h"
#include "collections.h"
namespace pkpy {
@ -29,5 +28,4 @@ void add_module_math(VM* vm);
void add_module_dis(VM* vm);
void add_module_traceback(VM* vm);
void add_module_gc(VM* vm);
} // namespace pkpy