diff --git a/package/PikaStdLib/PikaStdData_Dict.c b/package/PikaStdLib/PikaStdData_Dict.c index 0423fabfa..63447c256 100644 --- a/package/PikaStdLib/PikaStdData_Dict.c +++ b/package/PikaStdLib/PikaStdData_Dict.c @@ -40,7 +40,7 @@ Arg* PikaStdData_Dict___iter__(PikaObj* self) { Arg* PikaStdData_Dict___next__(PikaObj* self) { int __iter_i = args_getInt(self->list, "__iter_i"); PikaDict* keys = obj_getPtr(self, "_keys"); - Arg* res = arg_copy(args_getArgByidex(&keys->super, __iter_i)); + Arg* res = arg_copy(args_getArgByIndex(&keys->super, __iter_i)); if (NULL == res) { return arg_newNull(); } @@ -91,7 +91,7 @@ Arg* PikaStdData_dict_keys___next__(PikaObj* self) { int __iter_i = args_getInt(self->list, "__iter_i"); PikaObj* dictptr = obj_getPtr(self, "dictptr"); PikaDict* keys = obj_getPtr(dictptr, "_keys"); - Arg* res = arg_copy(args_getArgByidex(&keys->super, __iter_i)); + Arg* res = arg_copy(args_getArgByIndex(&keys->super, __iter_i)); if (NULL == res) { return arg_newNull(); } @@ -107,7 +107,7 @@ char* PikaStdData_dict_keys___str__(PikaObj* self) { int i = 0; while (PIKA_TRUE) { - Arg* item = args_getArgByidex(&keys->super, i); + Arg* item = args_getArgByIndex(&keys->super, i); if (NULL == item) { break; } @@ -141,8 +141,8 @@ char* PikaStdData_Dict___str__(PikaObj* self) { int i = 0; while (PIKA_TRUE) { - Arg* item_key = args_getArgByidex(&keys->super, i); - Arg* item_val = args_getArgByidex(&dict->super, i); + Arg* item_key = args_getArgByIndex(&keys->super, i); + Arg* item_val = args_getArgByIndex(&dict->super, i); if (NULL == item_key) { break; } @@ -186,7 +186,7 @@ int PikaStdData_dict_keys___len__(PikaObj* self) { int dict_contains(PikaDict* dict, Arg* key) { int i = 0; while (PIKA_TRUE) { - Arg* item = args_getArgByidex(&dict->super, i); + Arg* item = args_getArgByIndex(&dict->super, i); if (NULL == item) { break; } @@ -219,8 +219,8 @@ Arg* PikaStdData_dict_items___next__(PikaObj* self) { PikaObj* dictptr = obj_getPtr(self, "dictptr"); PikaDict* keys = obj_getPtr(dictptr, "_keys"); PikaDict* dict = obj_getPtr(dictptr, "dict"); - Arg* key = args_getArgByidex(&keys->super, __iter_i); - Arg* val = args_getArgByidex(&dict->super, __iter_i); + Arg* key = args_getArgByIndex(&keys->super, __iter_i); + Arg* val = args_getArgByIndex(&dict->super, __iter_i); if (NULL == key) { return arg_newNull(); } diff --git a/port/linux/.vscode/launch.json b/port/linux/.vscode/launch.json index 3e2d3067c..dae3e3925 100644 --- a/port/linux/.vscode/launch.json +++ b/port/linux/.vscode/launch.json @@ -11,7 +11,7 @@ "program": "${workspaceFolder}/build/test/pikascript_test", // "program": "${workspaceFolder}/build/boot/demo06-pikamain/pikascript_demo06-pikamain", "args": [ - // "--gtest_filter=parser.not_in" + // "--gtest_filter=vm.class_keyword" ], "stopAtEntry": false, "cwd": "${workspaceFolder}", diff --git a/port/linux/package/pikascript/pikascript-lib/PikaStdLib/PikaStdData_Dict.c b/port/linux/package/pikascript/pikascript-lib/PikaStdLib/PikaStdData_Dict.c index 0423fabfa..63447c256 100644 --- a/port/linux/package/pikascript/pikascript-lib/PikaStdLib/PikaStdData_Dict.c +++ b/port/linux/package/pikascript/pikascript-lib/PikaStdLib/PikaStdData_Dict.c @@ -40,7 +40,7 @@ Arg* PikaStdData_Dict___iter__(PikaObj* self) { Arg* PikaStdData_Dict___next__(PikaObj* self) { int __iter_i = args_getInt(self->list, "__iter_i"); PikaDict* keys = obj_getPtr(self, "_keys"); - Arg* res = arg_copy(args_getArgByidex(&keys->super, __iter_i)); + Arg* res = arg_copy(args_getArgByIndex(&keys->super, __iter_i)); if (NULL == res) { return arg_newNull(); } @@ -91,7 +91,7 @@ Arg* PikaStdData_dict_keys___next__(PikaObj* self) { int __iter_i = args_getInt(self->list, "__iter_i"); PikaObj* dictptr = obj_getPtr(self, "dictptr"); PikaDict* keys = obj_getPtr(dictptr, "_keys"); - Arg* res = arg_copy(args_getArgByidex(&keys->super, __iter_i)); + Arg* res = arg_copy(args_getArgByIndex(&keys->super, __iter_i)); if (NULL == res) { return arg_newNull(); } @@ -107,7 +107,7 @@ char* PikaStdData_dict_keys___str__(PikaObj* self) { int i = 0; while (PIKA_TRUE) { - Arg* item = args_getArgByidex(&keys->super, i); + Arg* item = args_getArgByIndex(&keys->super, i); if (NULL == item) { break; } @@ -141,8 +141,8 @@ char* PikaStdData_Dict___str__(PikaObj* self) { int i = 0; while (PIKA_TRUE) { - Arg* item_key = args_getArgByidex(&keys->super, i); - Arg* item_val = args_getArgByidex(&dict->super, i); + Arg* item_key = args_getArgByIndex(&keys->super, i); + Arg* item_val = args_getArgByIndex(&dict->super, i); if (NULL == item_key) { break; } @@ -186,7 +186,7 @@ int PikaStdData_dict_keys___len__(PikaObj* self) { int dict_contains(PikaDict* dict, Arg* key) { int i = 0; while (PIKA_TRUE) { - Arg* item = args_getArgByidex(&dict->super, i); + Arg* item = args_getArgByIndex(&dict->super, i); if (NULL == item) { break; } @@ -219,8 +219,8 @@ Arg* PikaStdData_dict_items___next__(PikaObj* self) { PikaObj* dictptr = obj_getPtr(self, "dictptr"); PikaDict* keys = obj_getPtr(dictptr, "_keys"); PikaDict* dict = obj_getPtr(dictptr, "dict"); - Arg* key = args_getArgByidex(&keys->super, __iter_i); - Arg* val = args_getArgByidex(&dict->super, __iter_i); + Arg* key = args_getArgByIndex(&keys->super, __iter_i); + Arg* val = args_getArgByIndex(&dict->super, __iter_i); if (NULL == key) { return arg_newNull(); } diff --git a/src/PikaVM.c b/src/PikaVM.c index b7d86734c..521473573 100644 --- a/src/PikaVM.c +++ b/src/PikaVM.c @@ -1086,7 +1086,7 @@ static int _get_n_input_with_unpack(VMState* vm) { PikaDict* dict = obj_getPtr(obj, "dict"); int i_item = 0; while (PIKA_TRUE) { - Arg* item_val = args_getArgByidex(&dict->super, i_item); + Arg* item_val = args_getArgByIndex(&dict->super, i_item); if (NULL == item_val) { break; } diff --git a/src/dataArgs.c b/src/dataArgs.c index 04885be3b..64585c416 100644 --- a/src/dataArgs.c +++ b/src/dataArgs.c @@ -411,7 +411,7 @@ Arg* args_getArg(Args* self, char* name) { return (Arg*)node; } -Arg* args_getArgByidex(Args* self, int index) { +Arg* args_getArgByIndex(Args* self, int index) { pika_assert(NULL != self); LinkNode* nodeNow = self->firstNode; if (NULL == nodeNow) { diff --git a/src/dataArgs.h b/src/dataArgs.h index 81cb6d9de..47eb08afe 100644 --- a/src/dataArgs.h +++ b/src/dataArgs.h @@ -112,7 +112,7 @@ PIKA_RES args_foreach(Args* self, char* args_getBuff(Args* self, int32_t size); PIKA_RES args_pushArg(Args* self, Arg* arg); PIKA_RES args_pushArg_name(Args* self, char* name, Arg* arg); -Arg* args_getArgByidex(Args* self, int index); +Arg* args_getArgByIndex(Args* self, int index); void* args_getHeapStruct(Args* self, char* name); PIKA_RES args_removeArg_notDeinitArg(Args* self, Arg* argNow); uint8_t* args_getBytes(Args* self, char* name); diff --git a/test/VM-test.cpp b/test/VM-test.cpp index 2575ed4ae..97e5be1f2 100644 --- a/test/VM-test.cpp +++ b/test/VM-test.cpp @@ -2440,6 +2440,23 @@ TEST(vm, def_not_in) { EXPECT_EQ(pikaMemNow(), 0); } +TEST(vm, fn_pos_kw_issue1) { + /* init */ + pikaMemInfo.heapUsedMax = 0; + PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain); + /* run */ + __platform_printf("BEGIN\r\n"); + obj_run(pikaMain, + "def new(a=1, b=2):\n" + " print(a, b)\n" + "new(3, b = 2)\n"); + /* collect */ + /* assert */ + /* deinit */ + obj_deinit(pikaMain); + EXPECT_EQ(pikaMemNow(), 0); +} + #endif TEST_END \ No newline at end of file diff --git a/test/args-test.cpp b/test/args-test.cpp index a0914bd0a..17a02bb5e 100644 --- a/test/args-test.cpp +++ b/test/args-test.cpp @@ -169,8 +169,8 @@ TEST(args, index) { args_pushArg(args, arg_newInt(1)); args_pushArg(args, arg_newFloat(2.4)); - int a = arg_getInt(args_getArgByidex(args, 1)); - float b = arg_getFloat(args_getArgByidex(args, 0)); + int a = arg_getInt(args_getArgByIndex(args, 1)); + float b = arg_getFloat(args_getArgByIndex(args, 0)); /* assert */ EXPECT_EQ(a, 1); EXPECT_FLOAT_EQ(b, 2.4);