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 */
|
0x5f, 0x00, 0x5f, 0x5f, 0x72, 0x65, 0x73, 0x00, /* const pool */
|
||||||
};
|
};
|
||||||
pikaVM_runByteCode(arg_obj, (uint8_t*)bytes);
|
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);
|
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/test/pikascript_test",
|
||||||
// "program": "${workspaceFolder}/build/boot/demo06-pikamain/pikascript_demo06-pikamain",
|
// "program": "${workspaceFolder}/build/boot/demo06-pikamain/pikascript_demo06-pikamain",
|
||||||
"args": [
|
"args": [
|
||||||
"--gtest_filter=pikaMain.list_iter",
|
// "--gtest_filter=pikaMain.list_iter",
|
||||||
// "--gtest_filter=gc.*",
|
// "--gtest_filter=gc.*",
|
||||||
// "--gtest_filter=parser.bytes_iteral",
|
// "--gtest_filter=parser.bytes_iteral",
|
||||||
// "--gtest_filter=parser.list_init_fun",
|
// "--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 */
|
0x5f, 0x00, 0x5f, 0x5f, 0x72, 0x65, 0x73, 0x00, /* const pool */
|
||||||
};
|
};
|
||||||
pikaVM_runByteCode(arg_obj, (uint8_t*)bytes);
|
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);
|
return arg_setNull(NULL);
|
||||||
}
|
}
|
||||||
|
@ -314,6 +314,8 @@ TEST(pikaMain, list_iter) {
|
|||||||
/* collect */
|
/* collect */
|
||||||
PikaObj* res = (PikaObj*)obj_getPtr(pikaMain, (char*)"res");
|
PikaObj* res = (PikaObj*)obj_getPtr(pikaMain, (char*)"res");
|
||||||
PikaObj* list = (PikaObj*)obj_getPtr(pikaMain, (char*)"list");
|
PikaObj* list = (PikaObj*)obj_getPtr(pikaMain, (char*)"list");
|
||||||
|
int ref_cnt = obj_refcntNow(list);
|
||||||
|
EXPECT_EQ(ref_cnt, 2);
|
||||||
/* assert */
|
/* assert */
|
||||||
EXPECT_EQ(res, list);
|
EXPECT_EQ(res, list);
|
||||||
/* deinit */
|
/* deinit */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user