From 6c7eb7e55af0783cc09c4f8fbc0944e3691b8890 Mon Sep 17 00:00:00 2001 From: lyon1998 <645275593@qq.com> Date: Mon, 18 Oct 2021 17:33:55 +0800 Subject: [PATCH] use New_Class() back, and Class()need to be generate --- port/linux/boot/banchmark/main.c | 6 ++-- port/linux/boot/demo01-led/main.c | 4 +-- port/linux/boot/demo02-add/main.c | 4 +-- port/linux/boot/demo03-usart/main.c | 4 +-- port/linux/boot/demo04-usarts/main.c | 4 +-- port/linux/boot/demo05-sysobject/main.c | 2 +- .../package/pikascript/rust-msc-latest-linux | Bin 7028408 -> 7028408 bytes port/linux/test/VM-test.cpp | 26 +++++++++--------- port/linux/test/object-test.cpp | 18 ++++++------ port/linux/test/queue-test.cpp | 12 ++++---- port/linux/test/sysObj-test.cpp | 4 +-- src/BaseObj.c | 7 ++--- src/BaseObj.h | 2 +- src/PikaParser.c | 2 +- src/TinyObj.c | 2 +- src/TinyObj.h | 2 +- src/dataQueueObj.c | 4 +-- tools/pikaCompiler/src/class_info.rs | 6 ++-- tools/pikaCompiler/src/import_info.rs | 2 +- tools/pikaCompiler/src/object_info.rs | 2 +- 20 files changed, 55 insertions(+), 58 deletions(-) diff --git a/port/linux/boot/banchmark/main.c b/port/linux/boot/banchmark/main.c index bd247fed0..02ab338ec 100644 --- a/port/linux/boot/banchmark/main.c +++ b/port/linux/boot/banchmark/main.c @@ -67,9 +67,9 @@ void checker_objMemChecker(PikaObj *(*NewFun)(Args *), char *objName) int32_t main() { - checker_objMemChecker(TinyObj, "tiny"); - checker_objMemChecker(BaseObj, "base"); - checker_objMemChecker(PikaStdLib_SysObj, "sys"); + checker_objMemChecker(New_TinyObj, "tiny"); + checker_objMemChecker(New_BaseObj, "base"); + checker_objMemChecker(New_PikaStdLib_SysObj, "sys"); { Arg *arg = New_arg(NULL); checker_printMemUsage("void arg"); diff --git a/port/linux/boot/demo01-led/main.c b/port/linux/boot/demo01-led/main.c index 9f785751e..cde3f0baf 100644 --- a/port/linux/boot/demo01-led/main.c +++ b/port/linux/boot/demo01-led/main.c @@ -20,7 +20,7 @@ PikaObj *New_LED(Args *args) /* Derive from the tiny object class. Tiny object can not import sub object. Tiny object is the smallest object. */ - PikaObj *self = TinyObj(args); + PikaObj *self = New_TinyObj(args); /* bind the method */ class_defineMethod(self, "on()", onMethod); @@ -35,7 +35,7 @@ PikaObj *New_MYROOT(Args *args) /* Derive from the base object class . BaseObj is the smallest object that can import sub object. */ - PikaObj *self = BaseObj(args); + PikaObj *self = New_BaseObj(args); /* new led object bellow root object */ obj_newObj(self, "led", "LED", New_LED); diff --git a/port/linux/boot/demo02-add/main.c b/port/linux/boot/demo02-add/main.c index ccf5cf12c..043bc14c3 100644 --- a/port/linux/boot/demo02-add/main.c +++ b/port/linux/boot/demo02-add/main.c @@ -16,7 +16,7 @@ PikaObj *New_TEST(Args *args) /* Derive from the tiny object class. Tiny object can not import sub object. Tiny object is the smallest object. */ - PikaObj *self = TinyObj(args); + PikaObj *self = New_TinyObj(args); /* bind the method */ class_defineMethod(self, "add(val1:int, val2:int)->int", addMethod); @@ -30,7 +30,7 @@ PikaObj *New_MYROOT(Args *args) /* Derive from the base object class . BaseObj is the smallest object that can import sub object. */ - PikaObj *self = BaseObj(args); + PikaObj *self = New_BaseObj(args); /* new led object bellow root object */ obj_newObj(self, "test", "TEST", New_TEST); diff --git a/port/linux/boot/demo03-usart/main.c b/port/linux/boot/demo03-usart/main.c index 9964b6c0a..b94c3eb1b 100644 --- a/port/linux/boot/demo03-usart/main.c +++ b/port/linux/boot/demo03-usart/main.c @@ -15,7 +15,7 @@ PikaObj *New_USART(Args *args) /* Derive from the tiny object class. Tiny object can not import sub object. Tiny object is the smallest object. */ - PikaObj *self = TinyObj(args); + PikaObj *self = New_TinyObj(args); /* bind the method */ class_defineMethod(self, "send(data:str)", sendMethod); @@ -29,7 +29,7 @@ PikaObj *New_MYROOT(Args *args) /* Derive from the base object class . BaseObj is the smallest object that can import sub object. */ - PikaObj *self = BaseObj(args); + PikaObj *self = New_BaseObj(args); /* new led object bellow root object */ obj_newObj(self, "usart", "USART", New_USART); diff --git a/port/linux/boot/demo04-usarts/main.c b/port/linux/boot/demo04-usarts/main.c index 062f0b609..93c2cf090 100644 --- a/port/linux/boot/demo04-usarts/main.c +++ b/port/linux/boot/demo04-usarts/main.c @@ -27,7 +27,7 @@ PikaObj *New_USART(Args *args) /* Derive from the tiny object class. Tiny object can not import sub object. Tiny object is the smallest object. */ - PikaObj *self = TinyObj(args); + PikaObj *self = New_TinyObj(args); /* setArgs */ obj_setInt(self, "speed", 9600); @@ -65,7 +65,7 @@ PikaObj *New_MYROOT(Args *args) /* Derive from the base object class . BaseObj is the smallest object that can import sub object. */ - PikaObj *self = BaseObj(args); + PikaObj *self = New_BaseObj(args); /* new object bellow root object */ obj_newObj(self, "usart1", "USART", New_USART); diff --git a/port/linux/boot/demo05-sysobject/main.c b/port/linux/boot/demo05-sysobject/main.c index 598826866..a67a757b4 100644 --- a/port/linux/boot/demo05-sysobject/main.c +++ b/port/linux/boot/demo05-sysobject/main.c @@ -11,7 +11,7 @@ void obj_runWithInfo(PikaObj *self, char *cmd) int main() { /* new root object */ - PikaObj *root = newRootObj("root", PikaStdLib_SysObj); + PikaObj *root = newRootObj("root", New_PikaStdLib_SysObj); obj_runWithInfo(root, "set('a',1)"); obj_runWithInfo(root, "print(a)"); diff --git a/port/linux/package/pikascript/rust-msc-latest-linux b/port/linux/package/pikascript/rust-msc-latest-linux index b22909d3cadedbe4aa76532cc825c5826997a77d..c3789081b28ea31b2812224974b113fab19a2a7c 100755 GIT binary patch delta 89772 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

TqRyt?Vt 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 diff --git a/port/linux/test/VM-test.cpp b/port/linux/test/VM-test.cpp index e6c18a0c1..d2fc950cc 100644 --- a/port/linux/test/VM-test.cpp +++ b/port/linux/test/VM-test.cpp @@ -15,7 +15,7 @@ TEST(VM, num1) { Args* buffs = New_strBuff(); char* pikaAsm = pikaParseLineToAsm(buffs, line, NULL); printf("%s", pikaAsm); - PikaObj* self = newRootObj((char*)"root", PikaStdLib_SysObj); + PikaObj* self = newRootObj((char*)"root", New_PikaStdLib_SysObj); args_deinit(pikaVM_runAsm(self, pikaAsm)); obj_deinit(self); args_deinit(buffs); @@ -27,7 +27,7 @@ TEST(VM, a_1) { Args* buffs = New_strBuff(); char* pikaAsm = pikaParseLineToAsm(buffs, line, NULL); printf("%s", pikaAsm); - PikaObj* self = newRootObj((char*)"root", PikaStdLib_SysObj); + PikaObj* self = newRootObj((char*)"root", New_PikaStdLib_SysObj); args_deinit(pikaVM_runAsm(self, pikaAsm)); ASSERT_EQ(obj_getInt(self, (char*)"a"), 1); @@ -42,7 +42,7 @@ TEST(VM, a_1d1) { Args* buffs = New_strBuff(); char* pikaAsm = pikaParseLineToAsm(buffs, line, NULL); printf("%s", pikaAsm); - PikaObj* self = newRootObj((char*)"root", PikaStdLib_SysObj); + PikaObj* self = newRootObj((char*)"root", New_PikaStdLib_SysObj); args_deinit(pikaVM_runAsm(self, pikaAsm)); ASSERT_FLOAT_EQ(obj_getFloat(self, (char*)"a"), 1.1); @@ -57,7 +57,7 @@ TEST(VM, str_xy) { Args* buffs = New_strBuff(); char* pikaAsm = pikaParseLineToAsm(buffs, line, NULL); printf("%s", pikaAsm); - PikaObj* self = newRootObj((char*)"root", PikaStdLib_SysObj); + PikaObj* self = newRootObj((char*)"root", New_PikaStdLib_SysObj); args_deinit(pikaVM_runAsm(self, pikaAsm)); ASSERT_STREQ(obj_getStr(self, (char*)"a"), (char*)"xy"); @@ -72,7 +72,7 @@ TEST(VM, str_xy_space) { Args* buffs = New_strBuff(); char* pikaAsm = pikaParseLineToAsm(buffs, line, NULL); printf("%s", pikaAsm); - PikaObj* self = newRootObj((char*)"root", PikaStdLib_SysObj); + PikaObj* self = newRootObj((char*)"root", New_PikaStdLib_SysObj); args_deinit(pikaVM_runAsm(self, pikaAsm)); ASSERT_STREQ(obj_getStr(self, (char*)"a"), (char*)"xy "); @@ -83,7 +83,7 @@ TEST(VM, str_xy_space) { } TEST(VM, ref_a_b) { - PikaObj* self = newRootObj((char*)"root", PikaStdLib_SysObj); + PikaObj* self = newRootObj((char*)"root", New_PikaStdLib_SysObj); Args* buffs = New_strBuff(); args_deinit(pikaVM_runAsm( @@ -98,7 +98,7 @@ TEST(VM, ref_a_b) { } TEST(VM, Run_add) { - PikaObj* self = newRootObj((char*)"root", PikaMath_Operator); + PikaObj* self = newRootObj((char*)"root", New_PikaMath_Operator); Args* buffs = New_strBuff(); args_deinit(pikaVM_runAsm( @@ -112,7 +112,7 @@ TEST(VM, Run_add) { } TEST(VM, Run_add_multy) { - PikaObj* self = newRootObj((char*)"root", PikaMath_Operator); + PikaObj* self = newRootObj((char*)"root", New_PikaMath_Operator); Args* buffs = New_strBuff(); args_deinit( @@ -128,7 +128,7 @@ TEST(VM, Run_add_multy) { } TEST(VM, Run_add_1_2_3) { - PikaObj* self = newRootObj((char*)"root", PikaMath_Operator); + PikaObj* self = newRootObj((char*)"root", New_PikaMath_Operator); Args* buffs = New_strBuff(); args_deinit(pikaVM_runAsm( @@ -149,7 +149,7 @@ TEST(VM, JEZ) { "0 JEZ 2\n" "B0\n" "B0\n"; - PikaObj* self = TinyObj(NULL); + PikaObj* self = New_TinyObj(NULL); int lineAddr = 0; int size = strGetSize(pikaAsm); Args* sysRes = New_args(NULL); @@ -171,7 +171,7 @@ TEST(VM, JMP) { "0 JMP 2\n" "B0\n" "B0\n"; - PikaObj* self = TinyObj(NULL); + PikaObj* self = New_TinyObj(NULL); int lineAddr = 0; int size = strGetSize(pikaAsm); Args* sysRes = New_args(NULL); @@ -193,7 +193,7 @@ TEST(VM, JMP_back1) { "0 JMP -1\n" "B0\n" "B0\n"; - PikaObj* self = TinyObj(NULL); + PikaObj* self = New_TinyObj(NULL); int lineAddr = 0; int size = strGetSize(pikaAsm); Args* sysRes = New_args(NULL); @@ -224,7 +224,7 @@ TEST(VM, WHILE) { char* pikaAsm = pikaParseMultiLineToAsm(buffs, (char*)lines); printf("%s", pikaAsm); pikaMemInfo.heapUsedMax = 0; - PikaObj* self = TinyObj(NULL); + PikaObj* self = New_TinyObj(NULL); Args* runRes = pikaVM_runAsm(self, pikaAsm); EXPECT_EQ(obj_getInt(self, (char*)"a"), 0); EXPECT_EQ(obj_getInt(self, (char*)"b"), 1); diff --git a/port/linux/test/object-test.cpp b/port/linux/test/object-test.cpp index 44fe7390c..4705832b9 100644 --- a/port/linux/test/object-test.cpp +++ b/port/linux/test/object-test.cpp @@ -43,7 +43,7 @@ void add(PikaObj* obj, Args* args) { } PikaObj* New_PikaObj_test(Args* args) { - PikaObj* self = PikaStdLib_SysObj(args); + PikaObj* self = New_PikaStdLib_SysObj(args); class_defineMethod(self, (char*)"hello(name:str, isShow:int)", hello); class_defineMethod( self, (char*)"hello2(name1:str, name2:str, name3:str, isShow:int)", @@ -65,7 +65,7 @@ PikaObj* New_USART(Args* args) { /* Derive from the tiny object class. Tiny object can not import sub object. Tiny object is the smallest object. */ - PikaObj* self = TinyObj(args); + PikaObj* self = New_TinyObj(args); /* bind the method */ class_defineMethod(self, (char*)"send(data:str)", sendMethod); @@ -78,7 +78,7 @@ PikaObj* New_MYROOT1(Args* args) { /* Derive from the base object class . BaseObj is the smallest object that can import sub object. */ - PikaObj* self = BaseObj(args); + PikaObj* self = New_BaseObj(args); /* new led object bellow root object */ obj_newObj(self, (char*)"usart", (char*)"USART", (NewFun)New_USART); @@ -98,7 +98,7 @@ TEST(object_test, test10) { } TEST(object_test, test1) { - PikaObj* process = newRootObj((char*)"sys", PikaStdLib_SysObj); + PikaObj* process = newRootObj((char*)"sys", New_PikaStdLib_SysObj); float floatTest = 12.231; obj_bindFloat(process, (char*)"testFloatBind", &floatTest); EXPECT_TRUE( @@ -137,7 +137,7 @@ TEST(object_test, test6) { } TEST(object_test, test8) { - PikaObj* sys = newRootObj((char*)"sys", PikaStdLib_SysObj); + PikaObj* sys = newRootObj((char*)"sys", New_PikaStdLib_SysObj); obj_run(sys, (char*)"a=1"); obj_run(sys, (char*)"remove('a')"); obj_deinit(sys); @@ -145,9 +145,9 @@ TEST(object_test, test8) { } TEST(object_test, test9) { - PikaObj* sys = newRootObj((char*)"sys", PikaStdLib_SysObj); + PikaObj* sys = newRootObj((char*)"sys", New_PikaStdLib_SysObj); obj_run(sys, (char*)"ls()"); - obj_setPtr(sys, (char*)"baseClass", (void*)TinyObj); + obj_setPtr(sys, (char*)"baseClass", (void*)New_TinyObj); obj_run(sys, (char*)"ls()"); obj_deinit(sys); EXPECT_EQ(pikaMemNow(), 0); @@ -176,7 +176,7 @@ TEST(object_test, voidRun) { } TEST(object_test, printa) { - PikaObj* root = newRootObj((char*)"root", BaseObj); + PikaObj* root = newRootObj((char*)"root", New_BaseObj); obj_run(root, (char*)"a = 2"); obj_run(root, (char*)"print(a)"); char* sysOut = obj_getSysOut(root); @@ -186,7 +186,7 @@ TEST(object_test, printa) { } TEST(object_test, copyArg) { - PikaObj* root = newRootObj((char*)"root", BaseObj); + PikaObj* root = newRootObj((char*)"root", New_BaseObj); Arg* arg = New_arg(NULL); arg = arg_setInt(arg, (char*)"a", 1); obj_setArg(root, (char*)"a", arg); diff --git a/port/linux/test/queue-test.cpp b/port/linux/test/queue-test.cpp index b02d81e67..a62418f47 100644 --- a/port/linux/test/queue-test.cpp +++ b/port/linux/test/queue-test.cpp @@ -65,14 +65,14 @@ TEST(queue, str) { } TEST(queueObj, init) { - QueueObj* q = TinyObj(NULL); + QueueObj* q = New_TinyObj(NULL); queueObj_init(q); obj_deinit(q); EXPECT_EQ(pikaMemNow(), 0); } TEST(queueObj, INT) { - QueueObj* q = TinyObj(NULL); + QueueObj* q = New_TinyObj(NULL); queueObj_init(q); queueObj_pushInt(q, 1); queueObj_pushInt(q, 2); @@ -85,7 +85,7 @@ TEST(queueObj, INT) { } TEST(queueObj, FLOAT) { - QueueObj* q = TinyObj(NULL); + QueueObj* q = New_TinyObj(NULL); queueObj_init(q); queueObj_pushFloat(q, 1.1f); queueObj_pushFloat(q, 2.2f); @@ -98,7 +98,7 @@ TEST(queueObj, FLOAT) { } TEST(queueObj, str) { - QueueObj* q = TinyObj(NULL); + QueueObj* q = New_TinyObj(NULL); queueObj_init(q); queueObj_pushStr(q, (char*)"abc"); queueObj_pushStr(q, (char*)"123"); @@ -111,7 +111,7 @@ TEST(queueObj, str) { } TEST(queueObj, obj) { - QueueObj* q = TinyObj(NULL); + QueueObj* q = New_TinyObj(NULL); queueObj_init(q); queueObj_pushObj(q, (char*)"type1"); queueObj_pushObj(q, (char*)"type2"); @@ -129,7 +129,7 @@ TEST(queueObj, obj) { } TEST(queueObj, currentObj) { - QueueObj* q = TinyObj(NULL); + QueueObj* q = New_TinyObj(NULL); queueObj_init(q); queueObj_pushObj(q, (char*)"type1"); diff --git a/port/linux/test/sysObj-test.cpp b/port/linux/test/sysObj-test.cpp index 811d503fc..c89e4f27a 100644 --- a/port/linux/test/sysObj-test.cpp +++ b/port/linux/test/sysObj-test.cpp @@ -6,7 +6,7 @@ extern "C" { } TEST(sysObj, print) { - PikaObj* obj = newRootObj((char*)"test", PikaStdLib_SysObj); + PikaObj* obj = newRootObj((char*)"test", New_PikaStdLib_SysObj); Args* res = obj_runDirect(obj, (char*)"print('hello world')"); char* sysOut = args_getSysOut(res); int errCode = args_getErrorCode(res); @@ -19,7 +19,7 @@ TEST(sysObj, print) { } TEST(sysObj, noMethod) { - PikaObj* obj = newRootObj((char*)"test", PikaStdLib_SysObj); + PikaObj* obj = newRootObj((char*)"test", New_PikaStdLib_SysObj); Args* res = obj_runDirect(obj, (char*)"printttt('hello world')"); char* sysOut = args_getSysOut(res); int errCode = args_getErrorCode(res); diff --git a/src/BaseObj.c b/src/BaseObj.c index b6ad18e60..3f032caeb 100644 --- a/src/BaseObj.c +++ b/src/BaseObj.c @@ -28,15 +28,12 @@ int32_t obj_newObj(PikaObj* self, char* objName, char* className, NewFun newFunPtr) { - /* class means subprocess init */ - /* add mate Obj, no inited */ Arg* mateObj = arg_setMetaObj(objName, className, newFunPtr); args_setArg(self->attributeList, mateObj); return 0; } - static void print(PikaObj* self, Args* args) { obj_setErrorCode(self, 0); char* res = args_print(args, "val"); @@ -49,8 +46,8 @@ static void print(PikaObj* self, Args* args) { obj_setSysOut(self, res); } -PikaObj* BaseObj(Args* args) { - PikaObj* self = TinyObj(args); +PikaObj* New_BaseObj(Args* args) { + PikaObj* self = New_TinyObj(args); class_defineMethod(self, "print(val:any)", print); return self; } diff --git a/src/BaseObj.h b/src/BaseObj.h index 1e4320086..252e5600d 100644 --- a/src/BaseObj.h +++ b/src/BaseObj.h @@ -9,7 +9,7 @@ #include "TinyObj.h" #include "dataMemory.h" -PikaObj* BaseObj(Args* args); +PikaObj* New_BaseObj(Args* args); int32_t obj_newObjFromClassLoader(PikaObj* self, char* objPath, char* classPath); diff --git a/src/PikaParser.c b/src/PikaParser.c index 49c4ff9bd..853729d67 100644 --- a/src/PikaParser.c +++ b/src/PikaParser.c @@ -150,7 +150,7 @@ AST* pikaParseLine(char* line, Stack* blockStack) { for (int i = 0; i < blockDeepthLast - blockDeepth; i++) { QueueObj* exitBlock = obj_getObj(ast, "exitBlock", 0); if (NULL == exitBlock) { - obj_newObj(ast, "exitBlock", "", TinyObj); + obj_newObj(ast, "exitBlock", "", New_TinyObj); exitBlock = obj_getObj(ast, "exitBlock", 0); queueObj_init(exitBlock); } diff --git a/src/TinyObj.c b/src/TinyObj.c index 28eb2fd5d..fdd824a1d 100644 --- a/src/TinyObj.c +++ b/src/TinyObj.c @@ -13,7 +13,7 @@ void _beforDinit(PikaObj* self) { /* override in user code */ } -PikaObj* TinyObj(Args* args) { +PikaObj* New_TinyObj(Args* args) { PikaObj* self = pikaMalloc(sizeof(PikaObj)); /* List */ diff --git a/src/TinyObj.h b/src/TinyObj.h index 0cc185e38..2e5049f57 100644 --- a/src/TinyObj.h +++ b/src/TinyObj.h @@ -6,5 +6,5 @@ #ifndef __TYNYOBJ__H #define __TYNYOBJ__H #include "PikaObj.h" -PikaObj* TinyObj(Args* args); +PikaObj* New_TinyObj(Args* args); #endif diff --git a/src/dataQueueObj.c b/src/dataQueueObj.c index 21338dd88..74d5a5fe6 100644 --- a/src/dataQueueObj.c +++ b/src/dataQueueObj.c @@ -2,7 +2,7 @@ #include "BaseObj.h" #include "dataQueue.h" QueueObj* New_queueObj() { - PikaObj* self = TinyObj(NULL); + PikaObj* self = New_TinyObj(NULL); queueObj_init(self); return self; } @@ -19,7 +19,7 @@ int32_t queueObj_pushObj(QueueObj* self, char* className) { char *topStr = fast_itoa(buff, top); /* add top */ obj_setInt(self, "top", top + 1); - return obj_newObj(self, topStr, className, TinyObj); + return obj_newObj(self, topStr, className, New_TinyObj); } PikaObj* queueObj_getCurrentObj(QueueObj* self) { diff --git a/tools/pikaCompiler/src/class_info.rs b/tools/pikaCompiler/src/class_info.rs index 42ab019b0..94e17c617 100644 --- a/tools/pikaCompiler/src/class_info.rs +++ b/tools/pikaCompiler/src/class_info.rs @@ -112,7 +112,7 @@ impl ClassInfo { pub fn script_fn(&self) -> String { let mut script_fn = String::new(); script_fn.push_str("PikaObj * pikaScriptInit(){\r\n"); - script_fn.push_str(" PikaObj * pikaMain = newRootObj(\"pikaMain\", PikaMain);\r\n"); + script_fn.push_str(" PikaObj * pikaMain = newRootObj(\"pikaMain\", New_PikaMain);\r\n"); script_fn.push_str(&self.script_list.content); script_fn.push_str(" obj_run(pikaMain, \"\");\r\n"); script_fn.push_str(" return pikaMain;\r\n"); @@ -124,7 +124,7 @@ impl ClassInfo { let mut new_class_fn = String::new(); let new_class_fn_head = format!("{}{{\n", self.new_class_fn_name()); new_class_fn.push_str(&new_class_fn_head); - let derive = format!(" PikaObj *self = {}(args);\n", self.super_class_name); + let derive = format!(" PikaObj *self = New_{}(args);\n", self.super_class_name); new_class_fn.push_str(&derive); for (_, import_info) in self.import_list.iter() { new_class_fn.push_str(&import_info.import_fn()); @@ -143,7 +143,7 @@ impl ClassInfo { } pub fn new_class_fn_name(&self) -> String { - return format!("PikaObj *{}(Args *args)", self.this_class_name); + return format!("PikaObj *New_{}(Args *args)", self.this_class_name); } pub fn method_impl_declear(&self) -> String { diff --git a/tools/pikaCompiler/src/import_info.rs b/tools/pikaCompiler/src/import_info.rs index 0d108f3bd..6b471f58a 100644 --- a/tools/pikaCompiler/src/import_info.rs +++ b/tools/pikaCompiler/src/import_info.rs @@ -29,7 +29,7 @@ impl ImportInfo { } pub fn import_fn(&self) -> String { return format!( - " obj_import(self, \"{}\", {});\n", + " obj_import(self, \"{}\", New_{});\n", self.import_class_name, self.import_class_name ); } diff --git a/tools/pikaCompiler/src/object_info.rs b/tools/pikaCompiler/src/object_info.rs index 1f87f3985..4f3396726 100644 --- a/tools/pikaCompiler/src/object_info.rs +++ b/tools/pikaCompiler/src/object_info.rs @@ -36,7 +36,7 @@ impl ObjectInfo { let mut new_object_fn = String::new(); /* do not generate new object for pikaMain class */ let new_fn = format!( - " obj_newObj(self, \"{}\", \"{}\", {});\n", + " obj_newObj(self, \"{}\", \"{}\", New_{});\n", self.name, self.import_class_name, self.import_class_name ); new_object_fn.push_str(&new_fn);