remove _n and _ctx default arg in obj

This commit is contained in:
lyon 2021-11-13 10:50:05 +08:00
parent 61fde114bf
commit 53d587e619
5 changed files with 3 additions and 42 deletions

View File

@ -67,18 +67,6 @@ void PikaStdLib_SysObj_remove(PikaObj* self, char* argPath) {
}
void PikaStdLib_SysObj_type(PikaObj* self, char* argPath) {
if (NULL == argPath) {
/* no input obj path, use current obj */
PikaObj* objHost = obj_getContext(self);
Arg* objArg = obj_getArg(objHost, obj_getStr(self, "_n"));
if (NULL == objArg) {
obj_setSysOut(self, "[error] type: arg no found.");
obj_setErrorCode(self, 1);
return;
}
obj_setSysOut(self, arg_getType(objArg));
return;
}
Arg* arg = obj_getArg(self, argPath);
if (NULL == arg) {
obj_setSysOut(self, "[error] type: arg no found.");

View File

@ -20,11 +20,9 @@ void hello2(PikaObj* obj, Args* args) {
char* name1 = args_getStr(args, (char*)"name1");
char* name2 = args_getStr(args, (char*)"name2");
char* name3 = args_getStr(args, (char*)"name3");
char* myName = obj_getStr(obj, (char*)"_n");
int32_t isShow = args_getInt(args, (char*)"isShow");
if (isShow) {
printf("hello, %s, %s and %s!\r\n", name1, name2, name3);
printf("my name is %s.\r\n", myName);
}
}
@ -90,8 +88,8 @@ PikaObj* New_MYROOT1(Args* args) {
TEST(object_test, test10) {
PikaObj* root = newRootObj((char*)"root", New_MYROOT1);
PikaObj* usart = obj_getObj(root, (char*)"usart", 0);
PikaObj* context = obj_getContext(usart);
EXPECT_EQ(context, root);
// PikaObj* context = obj_getContext(usart);
// EXPECT_EQ(context, root);
obj_run(root, (char*)"usart.send('hello world')");
obj_deinit(root);
EXPECT_EQ(pikaMemNow(), 0);

View File

@ -12,10 +12,6 @@
#include "dataString.h"
#include "dataStrs.h"
PikaObj* obj_getContext(PikaObj* self) {
return obj_getPtr(self, "_ctx");
}
int32_t deinitEachSubObj(Arg* argEach, Args* handleArgs) {
if (NULL != handleArgs) {
/* error: tOhis handle not need handle args */
@ -183,7 +179,6 @@ int32_t obj_load(PikaObj* self, Args* args, char* name) {
int32_t obj_addOther(PikaObj* self, char* subObjectName, void* new_ObjectFun) {
Args* initArgs = New_args(NULL);
args_setPtr(initArgs, "_ctx", self);
void* (*new_Object)(Args * initArgs) = (void* (*)(Args*))new_ObjectFun;
void* subObject = new_Object(initArgs);
obj_setPtr(self, subObjectName, subObject);
@ -228,8 +223,6 @@ PikaObj* obj_getClassObjByNewFun(PikaObj* context,
char* name,
NewFun newClassFun) {
Args* initArgs = New_args(NULL);
args_setPtr(initArgs, "_ctx", context);
args_setStr(initArgs, "_n", name);
PikaObj* thisClass = newClassFun(initArgs);
obj_setPtr(thisClass, "_clsptr", newClassFun);
args_deinit(initArgs);
@ -256,7 +249,7 @@ exit:
PikaObj* obj_getClassObj(PikaObj* obj) {
Args* buffs = New_strBuff();
void* classPtr = obj_getPtr(obj, "_clsptr");
char* classObjName = strsAppend(buffs, "_cls-", obj_getName(obj));
char* classObjName = strsAppend(buffs, "_cls-", "");
PikaObj* classObj = obj_getClassObjByNewFun(obj, classObjName, classPtr);
args_deinit(buffs);
return classObj;
@ -355,10 +348,6 @@ exit:
return obj;
}
char* obj_getName(PikaObj* self) {
return obj_getStr(self, "_n");
}
void saveMethodInfo(PikaObj* methodHost,
char* methodName,
char* methodDeclearation,

View File

@ -38,8 +38,6 @@ char* obj_getStr(PikaObj* self, char* argPath);
int64_t obj_getInt(PikaObj* self, char* argPath);
Arg* obj_getArg(PikaObj* self, char* argPath);
char* obj_getName(PikaObj* self);
// arg general operations
int32_t obj_bind(PikaObj* self, char* type, char* name, void* pointer);
int32_t obj_set(PikaObj* self, char* name, char* valStr);
@ -85,7 +83,6 @@ int32_t args_getErrorCode(Args* args);
void args_setSysOut(Args* args, char* str);
char* obj_getSysOut(PikaObj* self);
void obj_sysPrintf(PikaObj* self, char* fmt, ...);
PikaObj* obj_getContext(PikaObj* self);
uint8_t obj_getRefArg(PikaObj* self,
char* targetArgName,
char* sourceArgPath,

View File

@ -15,16 +15,5 @@ void _beforDinit(PikaObj* self) {
PikaObj* New_TinyObj(Args* args) {
PikaObj* self = New_PikaObj();
/* attribute */
obj_setPtr(self, "_ctx", self);
obj_setStr(self, "_n", "root");
/* load */
if (NULL != args) {
obj_load(self, args, "_n");
obj_load(self, args, "_ctx");
}
/* hard attribute */
return self;
}