diff --git a/.vscode/launch.json b/.vscode/launch.json index b5d54cd..954093c 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -12,10 +12,10 @@ "program": "${workspaceFolder}/build/wcc", "args": [ "\"--config-path\"", - "\"/mnt/d/Work/WeChatProjects/miniprogram-1/wcc/99a9bac3c05fc25dd070298212c4a7d3\"" + "\"/mnt/d/Work/WeChatProjects/issue/97/wcc-cmd2.txt\"" ], "stopAtEntry": false, - "cwd": "/mnt/d/Work/WeChatProjects/miniprogram-1", + "cwd": "/mnt/d/Work/WeChatProjects/issue/97/ThorUI-applets-vip", "environment": [], "externalConsole": false, "MIMode": "gdb", diff --git a/.vscode/settings.json b/.vscode/settings.json index 7e511e5..53d9684 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -57,10 +57,10 @@ "variant": "cpp" }, "cmake.debugConfig": { - "cwd": "/mnt/d/Work/WeChatProjects/issue/91/build", + "cwd": "/mnt/d/Work/WeChatProjects/issue/97/ThorUI-applets-vip", "args": [ "\"--config-path\"", - "\"/mnt/d/Work/WeChatProjects/issue/91/cmd/case1-cmd.txt\"" + "\"/mnt/d/Work/WeChatProjects/issue/97/wcc-cmd2.txt\"" ] }, "cmake.configureSettings": { diff --git a/src/night/ns_ast_parse.cpp b/src/night/ns_ast_parse.cpp index 6befc4d..984cfaa 100644 --- a/src/night/ns_ast_parse.cpp +++ b/src/night/ns_ast_parse.cpp @@ -560,7 +560,7 @@ namespace night auto v28 = this->offset_28->next(); auto v37 = this->offset_28->next(); auto v31 = this->offset_28->next(); - int v46 = 0; + bool v46 = false; if (v37) { if (night::NS_TYPE_VAR == v37->offset_0 || (v46 = night::NS_TYPE_STR == v37->offset_0)) @@ -577,7 +577,7 @@ namespace night } if (night::NS_TYPE_PUNC == v37->offset_0) { - if ("}" == v37->offset_0) + if ("}" == v37->offset_60) { v46 = true; } @@ -589,7 +589,7 @@ namespace night if (v46) { auto v11 = this->ast_obj_block(); - LABEL_113: + // LABEL_113: auto v65 = this->make_call_or_just_expression(v11); return v65; } diff --git a/src/wxml/dom_lib/token.cpp b/src/wxml/dom_lib/token.cpp index 7817bab..b400c63 100644 --- a/src/wxml/dom_lib/token.cpp +++ b/src/wxml/dom_lib/token.cpp @@ -149,9 +149,11 @@ namespace WXML return -1; } - + int ToAttrContent_i = 0; std::string Token::ToAttrContent() { + ToAttrContent_i++; + int inner_ToAttrContent_i = ToAttrContent_i; // 有缓存(offset_84),直接返回 if( this->offset_0.size() == 0 || this->offset_84) return this->offset_88; @@ -163,7 +165,7 @@ namespace WXML { char v1 = v6[v8 - 1]; if ( v1 == '"'/*34*/ || v1 == '\''/*39*/ ) - --v8; + --v8; } int v2 = 0; int v3 = 0; @@ -179,6 +181,7 @@ namespace WXML v2 = 1; continue; } + Src[v3] = v4; } else if ( v2 ) { @@ -193,6 +196,10 @@ namespace WXML case 'r': Src[v3] = 13; // \r "\\r" -> "\r" break; + default: + Src[v3] = v4; + break; + } } else diff --git a/src/wxml/string_templating/common.cpp b/src/wxml/string_templating/common.cpp index 7d15884..4ada997 100644 --- a/src/wxml/string_templating/common.cpp +++ b/src/wxml/string_templating/common.cpp @@ -3,7 +3,7 @@ namespace WXML { namespace StringTemplating { - + int Deal_i = 0; int Deal( char const* Str, std::string &a2, @@ -11,6 +11,8 @@ namespace WXML bool & a4 ) { + Deal_i++; + int inner_Deal_i = Deal_i; int v4 = strlen(Str); int v5 = 0; int v12 = 0; diff --git a/test/wcc.disassembly.cpp b/test/wcc.disassembly.cpp index 0775f68..8a4296b 100644 --- a/test/wcc.disassembly.cpp +++ b/test/wcc.disassembly.cpp @@ -17041,7 +17041,7 @@ _DWORD *__userpurge night::NSASTParse::ast_dispatch@(_DWORD *a1@, nigh } if ( std::operator==((int)&night::NS_TYPE_PUNC, (int)v37) ) { - v9 = std::operator==("}", (int)(v37 + 15)); + v9 = std::operator==("}", (int)(v37 + 15)); // offset_60 v10 = v46; if ( v9 ) v10 = v9; @@ -52907,7 +52907,7 @@ LABEL_20: ++v3; v2 = 0; Src[v3] = 0; - if ( v3 == 30 ) // 记录分隔符 + if ( v3 == 30 ) // 达到30个字符 { v10[0] = v11; std::string::_M_construct(v10, Src, (size_t)&Size); diff --git a/test/wcc.sh b/test/wcc.sh index bbc832a..3705116 100644 --- a/test/wcc.sh +++ b/test/wcc.sh @@ -2,7 +2,7 @@ root_dir=$(cd `dirname $0`/.. && pwd -P) -cd /mnt/d/Work/WeChatProjects/issue/91/build +cd /mnt/d/Work/WeChatProjects/issue/97/ThorUI-applets-vip # list="cmd1 cmd2" # for cmd in $list; @@ -11,7 +11,7 @@ cd /mnt/d/Work/WeChatProjects/issue/91/build # /root/github/wx-compiler/build/wcc "--config-path" "/mnt/d/Work/disassembly/wcc-exec/wcc/config/$cmd.txt" > /root/github/wx-compiler/test/wcc_linux.json # /mnt/d/Work/disassembly/wcc-exec/wcc/wcc.exe "--config-path" "d:/Work/disassembly/wcc-exec/wcc/config/$cmd.txt" > /root/github/wx-compiler/test/wcc_win.json # done; -filename="issue/91/cmd/case1-cmd.txt" +filename="issue/97/wcc-cmd2.txt" echo "linux:" /root/github/wx-compiler/build/wcc "--config-path" "/mnt/d/Work/WeChatProjects/$filename" > /root/github/wx-compiler/test/wcc_linux.json