add arg_newObj api

This commit is contained in:
pikastech 2022-09-05 17:43:17 +08:00
parent 4486de76e9
commit a563f7947c
6 changed files with 16 additions and 8 deletions

View File

@ -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"
}
}

View File

@ -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 */

View File

@ -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);

View File

@ -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) {

View File

@ -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))

View File

@ -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