mirror of
https://gitee.com/Lyon1998/pikapython.git
synced 2025-02-05 17:28:23 +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",
|
"re.h": "c",
|
||||||
"cre.h": "c",
|
"cre.h": "c",
|
||||||
"pcre.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);
|
PikaObj* img = newNormalObj(New_PikaCV_Image);
|
||||||
PikaCV_Image___init__(img);
|
PikaCV_Image___init__(img);
|
||||||
PikaCV_Image_loadGray(img, src->width, src->height, RGB[i]);
|
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 对象 */
|
/* 添加到 list 对象 */
|
||||||
PikaStdData_List_append(list, token_arg);
|
PikaStdData_List_append(list, token_arg);
|
||||||
/* 销毁 arg */
|
/* 销毁 arg */
|
||||||
|
@ -948,7 +948,7 @@ PikaObj *__findall(void *pattern__or__re,
|
|||||||
}
|
}
|
||||||
sub_list = newNormalObj(New_PikaStdData_Tuple);
|
sub_list = newNormalObj(New_PikaStdData_Tuple);
|
||||||
obj_setPtr(sub_list, "list", tu);
|
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);
|
PikaStdData_List_append(list, sub_arg);
|
||||||
arg_deinit(sub_arg);
|
arg_deinit(sub_arg);
|
||||||
free(b);
|
free(b);
|
||||||
|
@ -975,9 +975,13 @@ PikaObj* New_PikaObj(void) {
|
|||||||
return self;
|
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) {
|
Arg* arg_setRef(Arg* self, char* name, PikaObj* obj) {
|
||||||
obj_refcntInc(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) {
|
int32_t obj_newDirectObj(PikaObj* self, char* objName, NewFun newFunPtr) {
|
||||||
|
@ -231,8 +231,9 @@ Arg* obj_newObjInPackage(NewFun newObjFun);
|
|||||||
|
|
||||||
PikaObj* newNormalObj(NewFun newObjFun);
|
PikaObj* newNormalObj(NewFun newObjFun);
|
||||||
Arg* arg_setRef(Arg* self, char* name, PikaObj* obj);
|
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_newRef(obj) arg_setRef(NULL, "", (obj))
|
||||||
#define arg_newWeakRef(obj) arg_setWeakRef(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(item_arg);
|
||||||
arg_deinit(i_arg);
|
arg_deinit(i_arg);
|
||||||
}
|
}
|
||||||
return arg_newPtr(ARG_TYPE_OBJECT, sliced_obj);
|
return arg_newObj(sliced_obj);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return arg_newNull();
|
return arg_newNull();
|
||||||
@ -815,7 +815,7 @@ static Arg* _vm_create_list_or_tuple(PikaObj* self,
|
|||||||
arg_deinit(arg);
|
arg_deinit(arg);
|
||||||
}
|
}
|
||||||
stack_deinit(&stack);
|
stack_deinit(&stack);
|
||||||
return arg_newPtr(ARG_TYPE_OBJECT, list);
|
return arg_newObj(list);
|
||||||
#else
|
#else
|
||||||
return VM_instruction_handler_NON(self, vm, "", NULL);
|
return VM_instruction_handler_NON(self, vm, "", NULL);
|
||||||
#endif
|
#endif
|
||||||
@ -872,7 +872,7 @@ static Arg* VM_instruction_handler_DCT(PikaObj* self,
|
|||||||
arg_deinit(val_arg);
|
arg_deinit(val_arg);
|
||||||
}
|
}
|
||||||
stack_deinit(&stack);
|
stack_deinit(&stack);
|
||||||
return arg_newPtr(ARG_TYPE_OBJECT, dict);
|
return arg_newObj(dict);
|
||||||
#else
|
#else
|
||||||
return VM_instruction_handler_NON(self, vm, data, arg_ret_reg);
|
return VM_instruction_handler_NON(self, vm, data, arg_ret_reg);
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user