mirror of
https://gitee.com/Lyon1998/pikapython.git
synced 2025-01-29 17:22:56 +08:00
add arg_newObj api
This commit is contained in:
parent
4486de76e9
commit
a563f7947c
5
port/linux/.vscode/settings.json
vendored
5
port/linux/.vscode/settings.json
vendored
@ -19,6 +19,9 @@
|
||||
"re.h": "c",
|
||||
"cre.h": "c",
|
||||
"pcre.h": "c",
|
||||
"pikastddata_dict.h": "c"
|
||||
"pikastddata_dict.h": "c",
|
||||
"pikacv.h": "c",
|
||||
"pikacv_image.h": "c",
|
||||
"pikacv_filter.h": "c"
|
||||
}
|
||||
}
|
@ -406,7 +406,7 @@ PikaObj* PikaCV_Image_split(PikaObj* self) {
|
||||
PikaObj* img = newNormalObj(New_PikaCV_Image);
|
||||
PikaCV_Image___init__(img);
|
||||
PikaCV_Image_loadGray(img, src->width, src->height, RGB[i]);
|
||||
Arg* token_arg = arg_newPtr(ARG_TYPE_OBJECT, img);
|
||||
Arg* token_arg = arg_newObj(img);
|
||||
/* 添加到 list 对象 */
|
||||
PikaStdData_List_append(list, token_arg);
|
||||
/* 销毁 arg */
|
||||
|
@ -948,7 +948,7 @@ PikaObj *__findall(void *pattern__or__re,
|
||||
}
|
||||
sub_list = newNormalObj(New_PikaStdData_Tuple);
|
||||
obj_setPtr(sub_list, "list", tu);
|
||||
sub_arg = arg_newPtr(ARG_TYPE_OBJECT, sub_list);
|
||||
sub_arg = arg_newObj(sub_list);
|
||||
PikaStdData_List_append(list, sub_arg);
|
||||
arg_deinit(sub_arg);
|
||||
free(b);
|
||||
|
@ -975,9 +975,13 @@ PikaObj* New_PikaObj(void) {
|
||||
return self;
|
||||
}
|
||||
|
||||
Arg* arg_setObj(Arg* self, char* name, PikaObj* obj) {
|
||||
return arg_setPtr(self, name, ARG_TYPE_OBJECT, obj);
|
||||
}
|
||||
|
||||
Arg* arg_setRef(Arg* self, char* name, PikaObj* obj) {
|
||||
obj_refcntInc(obj);
|
||||
return arg_setPtr(self, name, ARG_TYPE_OBJECT, obj);
|
||||
return arg_setObj(self, name, obj);
|
||||
}
|
||||
|
||||
int32_t obj_newDirectObj(PikaObj* self, char* objName, NewFun newFunPtr) {
|
||||
|
@ -231,8 +231,9 @@ Arg* obj_newObjInPackage(NewFun newObjFun);
|
||||
|
||||
PikaObj* newNormalObj(NewFun newObjFun);
|
||||
Arg* arg_setRef(Arg* self, char* name, PikaObj* obj);
|
||||
Arg* arg_setWeakRef(Arg* self, char* name, PikaObj* obj);
|
||||
Arg* arg_setObj(Arg* self, char* name, PikaObj* obj);
|
||||
|
||||
#define arg_newObj(obj) arg_setObj(NULL, "", (obj))
|
||||
#define arg_newRef(obj) arg_setRef(NULL, "", (obj))
|
||||
#define arg_newWeakRef(obj) arg_setWeakRef(NULL, "", (obj))
|
||||
|
||||
|
@ -372,7 +372,7 @@ Arg* __vm_slice(PikaObj* self, Arg* end, Arg* obj, Arg* start, int step) {
|
||||
arg_deinit(item_arg);
|
||||
arg_deinit(i_arg);
|
||||
}
|
||||
return arg_newPtr(ARG_TYPE_OBJECT, sliced_obj);
|
||||
return arg_newObj(sliced_obj);
|
||||
}
|
||||
}
|
||||
return arg_newNull();
|
||||
@ -815,7 +815,7 @@ static Arg* _vm_create_list_or_tuple(PikaObj* self,
|
||||
arg_deinit(arg);
|
||||
}
|
||||
stack_deinit(&stack);
|
||||
return arg_newPtr(ARG_TYPE_OBJECT, list);
|
||||
return arg_newObj(list);
|
||||
#else
|
||||
return VM_instruction_handler_NON(self, vm, "", NULL);
|
||||
#endif
|
||||
@ -872,7 +872,7 @@ static Arg* VM_instruction_handler_DCT(PikaObj* self,
|
||||
arg_deinit(val_arg);
|
||||
}
|
||||
stack_deinit(&stack);
|
||||
return arg_newPtr(ARG_TYPE_OBJECT, dict);
|
||||
return arg_newObj(dict);
|
||||
#else
|
||||
return VM_instruction_handler_NON(self, vm, data, arg_ret_reg);
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user