mirror of
https://gitee.com/Lyon1998/pikapython.git
synced 2025-01-29 17:22:56 +08:00
remove '__res' after run __iter__()
This commit is contained in:
parent
9b1e6a323a
commit
16886ec594
@ -127,7 +127,9 @@ Arg* PikaStdLib_SysObj_iter(PikaObj* self, Arg* arg) {
|
||||
0x5f, 0x00, 0x5f, 0x5f, 0x72, 0x65, 0x73, 0x00, /* const pool */
|
||||
};
|
||||
pikaVM_runByteCode(arg_obj, (uint8_t*)bytes);
|
||||
return arg_copy(args_getArg(arg_obj->list, "__res"));
|
||||
Arg* res = arg_copy(args_getArg(arg_obj->list, "__res"));
|
||||
obj_removeArg(arg_obj, "__res");
|
||||
return res;
|
||||
}
|
||||
return arg_setNull(NULL);
|
||||
}
|
||||
|
2
port/linux/.vscode/launch.json
vendored
2
port/linux/.vscode/launch.json
vendored
@ -11,7 +11,7 @@
|
||||
"program": "${workspaceFolder}/build/test/pikascript_test",
|
||||
// "program": "${workspaceFolder}/build/boot/demo06-pikamain/pikascript_demo06-pikamain",
|
||||
"args": [
|
||||
"--gtest_filter=pikaMain.list_iter",
|
||||
// "--gtest_filter=pikaMain.list_iter",
|
||||
// "--gtest_filter=gc.*",
|
||||
// "--gtest_filter=parser.bytes_iteral",
|
||||
// "--gtest_filter=parser.list_init_fun",
|
||||
|
@ -127,7 +127,9 @@ Arg* PikaStdLib_SysObj_iter(PikaObj* self, Arg* arg) {
|
||||
0x5f, 0x00, 0x5f, 0x5f, 0x72, 0x65, 0x73, 0x00, /* const pool */
|
||||
};
|
||||
pikaVM_runByteCode(arg_obj, (uint8_t*)bytes);
|
||||
return arg_copy(args_getArg(arg_obj->list, "__res"));
|
||||
Arg* res = arg_copy(args_getArg(arg_obj->list, "__res"));
|
||||
obj_removeArg(arg_obj, "__res");
|
||||
return res;
|
||||
}
|
||||
return arg_setNull(NULL);
|
||||
}
|
||||
|
@ -314,6 +314,8 @@ TEST(pikaMain, list_iter) {
|
||||
/* collect */
|
||||
PikaObj* res = (PikaObj*)obj_getPtr(pikaMain, (char*)"res");
|
||||
PikaObj* list = (PikaObj*)obj_getPtr(pikaMain, (char*)"list");
|
||||
int ref_cnt = obj_refcntNow(list);
|
||||
EXPECT_EQ(ref_cnt, 2);
|
||||
/* assert */
|
||||
EXPECT_EQ(res, list);
|
||||
/* deinit */
|
||||
|
Loading…
x
Reference in New Issue
Block a user