mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-20 19:40:18 +00:00
backup
This commit is contained in:
parent
59e60cf3c0
commit
a21765a9ca
@ -902,7 +902,7 @@ FrameResult VM__run_top_frame(VM* self) {
|
||||
case OP_POP_IMPORT_STAR: {
|
||||
// [module]
|
||||
NameDict* dict = PyObject__dict(TOP()->_obj);
|
||||
py_Ref all = NameDict__try_get(dict, __all__);
|
||||
py_ItemRef all = NameDict__try_get(dict, __all__);
|
||||
if(all) {
|
||||
py_TValue* p;
|
||||
int length = pk_arrayview(all, &p);
|
||||
@ -912,7 +912,7 @@ FrameResult VM__run_top_frame(VM* self) {
|
||||
}
|
||||
for(int i = 0; i < length; i++) {
|
||||
py_Name name = py_namev(py_tosv(p + i));
|
||||
py_Ref value = NameDict__try_get(dict, name);
|
||||
py_ItemRef value = NameDict__try_get(dict, name);
|
||||
if(value == NULL) {
|
||||
ImportError("cannot import name '%n'", name);
|
||||
goto __ERROR;
|
||||
@ -921,7 +921,7 @@ FrameResult VM__run_top_frame(VM* self) {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for(int i = 0; i < dict->length; i++) {
|
||||
for(int i = 0; i < dict->capacity; i++) {
|
||||
NameDict_KV* kv = &dict->items[i];
|
||||
if(kv->key == NULL) continue;
|
||||
c11_sv name = py_name2sv(kv->key);
|
||||
|
@ -678,9 +678,9 @@ void ManagedHeap__mark(ManagedHeap* self) {
|
||||
for(int i = 0; i < obj->slots; i++)
|
||||
pk__mark_value(p + i);
|
||||
} else if(obj->slots == -1) {
|
||||
NameDict* namedict = PyObject__dict(obj);
|
||||
for(int i = 0; i < namedict->length; i++) {
|
||||
NameDict_KV* kv = &namedict->items[i];
|
||||
NameDict* dict = PyObject__dict(obj);
|
||||
for(int i = 0; i < dict->capacity; i++) {
|
||||
NameDict_KV* kv = &dict->items[i];
|
||||
if(kv->key == NULL) continue;
|
||||
pk__mark_value(&kv->value);
|
||||
}
|
||||
|
@ -374,7 +374,7 @@ static bool pkl__write_object(PickleObject* buf, py_TValue* obj) {
|
||||
}
|
||||
if(ti->is_python) {
|
||||
NameDict* dict = PyObject__dict(obj->_obj);
|
||||
for(int i = dict->length - 1; i >= 0; i--) {
|
||||
for(int i = dict->capacity - 1; i >= 0; i--) {
|
||||
NameDict_KV* kv = &dict->items[i];
|
||||
if(kv->key == NULL) continue;
|
||||
if(!pkl__write_object(buf, &kv->value)) return false;
|
||||
@ -383,7 +383,7 @@ static bool pkl__write_object(PickleObject* buf, py_TValue* obj) {
|
||||
pkl__emit_int(buf, obj->type);
|
||||
buf->used_types[obj->type] = true;
|
||||
pkl__emit_int(buf, dict->length);
|
||||
for(int i = 0; i < dict->length; i++) {
|
||||
for(int i = 0; i < dict->capacity; i++) {
|
||||
NameDict_KV* kv = &dict->items[i];
|
||||
if(kv->key == NULL) continue;
|
||||
c11_sv field = py_name2sv(kv->key);
|
||||
|
@ -764,9 +764,9 @@ void function__gc_mark(void* ud, c11_vector* p_stack) {
|
||||
Function* func = ud;
|
||||
if(func->globals) pk__mark_value(func->globals);
|
||||
if(func->closure) {
|
||||
NameDict* namedict = func->closure;
|
||||
for(int i = 0; i < namedict->length; i++) {
|
||||
NameDict_KV* kv = &namedict->items[i];
|
||||
NameDict* dict = func->closure;
|
||||
for(int i = 0; i < dict->capacity; i++) {
|
||||
NameDict_KV* kv = &dict->items[i];
|
||||
if(kv->key == NULL) continue;
|
||||
pk__mark_value(&kv->value);
|
||||
}
|
||||
|
@ -52,7 +52,7 @@ static bool namedict_items(int argc, py_Ref argv) {
|
||||
py_Ref object = py_getslot(argv, 0);
|
||||
NameDict* dict = PyObject__dict(object->_obj);
|
||||
py_newlist(py_retval());
|
||||
for(int i = 0; i < dict->length; i++) {
|
||||
for(int i = 0; i < dict->capacity; i++) {
|
||||
py_Ref slot = py_list_emplace(py_retval());
|
||||
py_Ref p = py_newtuple(slot, 2);
|
||||
NameDict_KV* kv = &dict->items[i];
|
||||
|
@ -26,7 +26,7 @@ py_ItemRef py_emplacedict(py_Ref self, py_Name name) {
|
||||
bool py_applydict(py_Ref self, bool (*f)(py_Name, py_Ref, void*), void* ctx) {
|
||||
assert(self && self->is_ptr);
|
||||
NameDict* dict = PyObject__dict(self->_obj);
|
||||
for(int i = 0; i < dict->length; i++) {
|
||||
for(int i = 0; i < dict->capacity; i++) {
|
||||
NameDict_KV* kv = &dict->items[i];
|
||||
if(kv->key == NULL) continue;
|
||||
bool ok = f(kv->key, &kv->value, ctx);
|
||||
|
Loading…
x
Reference in New Issue
Block a user