From ffc9d32cf00ecbd58496f81e43e334b096309dd1 Mon Sep 17 00:00:00 2001 From: lyon Date: Sun, 5 Sep 2021 14:55:11 +0800 Subject: [PATCH] print(a) not ok --- src/package/pikascript/pikascript-core/PikaBlock.c | 3 ++- src/package/pikascript/pikascript-core/PikaInvoke.c | 5 ++--- src/package/pikascript/pikascript-core/PikaObj.c | 6 ++++-- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/package/pikascript/pikascript-core/PikaBlock.c b/src/package/pikascript/pikascript-core/PikaBlock.c index 5eb96819e..e61f33d10 100644 --- a/src/package/pikascript/pikascript-core/PikaBlock.c +++ b/src/package/pikascript/pikascript-core/PikaBlock.c @@ -36,8 +36,9 @@ void block_setBody(PikaObj *self, char *body) uint8_t block_checkAssert(PikaObj *self) { Args *buffs = New_strBuff(); + PikaObj *host = obj_getContext(self); char *assert = block_getAssert(self); - obj_run(self, strsFormat(buffs, 32, "_res = %s", assert)); + obj_run(host, strsFormat(buffs, 32, "_res = %s", assert)); int res = obj_getInt(self, "_res"); args_deinit(buffs); return res; diff --git a/src/package/pikascript/pikascript-core/PikaInvoke.c b/src/package/pikascript/pikascript-core/PikaInvoke.c index 0368b3856..068cab856 100644 --- a/src/package/pikascript/pikascript-core/PikaInvoke.c +++ b/src/package/pikascript/pikascript-core/PikaInvoke.c @@ -231,8 +231,7 @@ Args *obj_invoke(PikaObj *self, char *cmd) Args *res = New_args(NULL); args_setErrorCode(res, 0); Args *buffs = New_strBuff(); - char *cleanCmd = strsGetCleanCmd(buffs, cmd); - char *methodToken = strsGetFirstToken(buffs, cleanCmd, '('); + char *methodToken = strsGetFirstToken(buffs, cmd, '('); char *methodPath = methodToken; Args *args = NULL; @@ -277,7 +276,7 @@ Args *obj_invoke(PikaObj *self, char *cmd) } /* get arg list */ - char *argList = strsCut(buffs, cleanCmd, '(', ')'); + char *argList = strsCut(buffs, cmd, '(', ')'); { if (argList == NULL) { diff --git a/src/package/pikascript/pikascript-core/PikaObj.c b/src/package/pikascript/pikascript-core/PikaObj.c index 042e13c55..94eb924c5 100644 --- a/src/package/pikascript/pikascript-core/PikaObj.c +++ b/src/package/pikascript/pikascript-core/PikaObj.c @@ -574,14 +574,15 @@ Args *getRightRes(PikaObj *self, char *cmd) } res = New_args(NULL); args_setSysOut(res, ""); - int err = args_setLiteral(res, "return", cmd); + int err = obj_getAnyArg(self, "return", cmd, res); if (err != 0) { args_setSysOut(res, "[error] get value faild."); args_setErrorCode(res, 1); goto exit; } - char *returnType = strsAppend(buffs, "->", args_getType(res, "return")); + char *returnType = args_getType(res, "return"); + returnType = strsAppend(buffs, "->", returnType); args_setStr(res, "returnType", returnType); goto exit; @@ -594,6 +595,7 @@ Args *obj_runScript(PikaObj *self, char *cmd) { Args *buffs = New_strBuff(); Args *res = NULL; + cmd = strsGetCleanCmd(buffs, cmd); /* get right cmd */ char *right = getRightCmd(buffs, cmd);