feat: 完成main方法的大致逻辑

This commit is contained in:
msojocs 2023-06-08 21:34:33 +08:00
parent 787b1cec2f
commit 396b2d11ad
14 changed files with 551 additions and 173 deletions

View File

@ -44,6 +44,13 @@
"stdexcept": "cpp", "stdexcept": "cpp",
"streambuf": "cpp", "streambuf": "cpp",
"typeinfo": "cpp", "typeinfo": "cpp",
"cstring": "cpp" "cstring": "cpp",
"map": "cpp"
},
"cmake.debugConfig": {
"args": [
"-llw",
"111,222"
]
} }
} }

View File

@ -7,6 +7,8 @@ enable_testing()
add_executable(wcc add_executable(wcc
src/wcc.cpp src/wcc.cpp
src/wcc/usage.cpp src/wcc/usage.cpp
src/wxml/compiler.cpp
src/utils/string_utils.cpp
src/utils/file.cpp src/utils/file.cpp
) )
add_executable(wcsc add_executable(wcsc

View File

@ -1,7 +1,7 @@
#ifndef __FILE_H__ #ifndef __FILE_H__
#define __FILE_H__ #define __FILE_H__
int readFile (std::string fileName, std::string result); int readFile (const char* fileName, std::string &result);
void getNextArg(std::string &line, std::string &data, char lineEndMark); std::string getNextArg(std::string &data, std::string const & lineEndMark);
#endif #endif

View File

@ -0,0 +1,9 @@
#ifndef __STRING_UTILS_H__
#define __STRING_UTILS_H__
#include <iostream>
#include <vector>
std::string& trim(std::string &s);
void split(std::vector<std::string> result, std::string source, std::string mark);
#endif

View File

@ -2,6 +2,9 @@
#define __WXML_H_ #define __WXML_H_
#include <iostream> #include <iostream>
#include <sstream>
#include <map>
#include <vector>
namespace WXML{ namespace WXML{
class Compiler class Compiler
@ -11,22 +14,41 @@ namespace WXML{
public: public:
Compiler(/* args */); Compiler(/* args */);
~Compiler(); ~Compiler();
static void CompileLazy();
static void DealWxsTag();
static void GetFuncId(); static std::string CompileLazy(
static void GetVersionInfo(int a1, int *a2); std::map<std::string,std::string> const&,
static void ParseSource(); std::string&,
static void RenderDefine(); std::map<std::string,std::string>&,
std::map<std::string,std::string>&,
std::map<std::string, std::vector<std::string>, std::less<std::string>, std::allocator<std::pair<const std::string, std::vector<std::string>>>>,
std::allocator<std::pair<const std::string, std::string>>,
std::allocator<std::string> const&,
std::map<std::string,std::string> const&,
bool,
std::string const&,
uint,
char,
std::string const&,
std::string const&,
std::string const&,
std::string const&,
std::string const&,
std::string const&,
std::string const&,
std::string const&,
std::string const&,
std::string const&,
std::string const&);
// static void DealWxsTag();
// static void GetFuncId();
static void GetVersionInfo(std::string &a1, std::string a2);
// static void ParseSource();
// static void RenderDefine();
static void WXMLHelperCode(std::string &result); static void WXMLHelperCode(std::string &result);
}; };
Compiler::Compiler(/* args */)
{
}
Compiler::~Compiler()
{
}
class DOMLib class DOMLib
{ {
@ -38,13 +60,16 @@ namespace WXML{
~DOMLib(); ~DOMLib();
}; };
DOMLib::DOMLib(/* args */) class Rewrite
{ {
} private:
/* data */
public:
Rewrite(/* args */);
~Rewrite();
};
DOMLib::~DOMLib()
{
}
namespace EXPRLib namespace EXPRLib
{ {
@ -57,13 +82,6 @@ namespace WXML{
~Tokenizer(); ~Tokenizer();
}; };
Tokenizer::Tokenizer(/* args */)
{
}
Tokenizer::~Tokenizer()
{
}
} // namespace EXPRLib } // namespace EXPRLib

View File

@ -1,6 +1,7 @@
#include <iostream> #include <iostream>
#include <cstring> #include <cstring>
#include "../include/file.h" #include "../include/file.h"
#include "../include/string_utils.h"
/** /**
* *
@ -10,17 +11,15 @@
* *
* @return int 0 | -1 * @return int 0 | -1
*/ */
int readFile (std::string fileName, std::string &result) { int readFile (const char* fileName, std::string &result) {
FILE *f = NULL; FILE *f = stdin;
char temp[1020]; char temp[1020];
char buf[1024]; char buf[1024];
unsigned int len; unsigned int len;
result = "\0"; result = "\0";
if (fileName.empty()) { if (fileName)
return -1; f = fopen(fileName, "r");
}
f = fopen(fileName.c_str(), "r");
if (!f) { if (!f) {
return -1; return -1;
} }
@ -39,25 +38,13 @@ int readFile (std::string fileName, std::string &result) {
return 0; return 0;
} }
std::string& trim(std::string &s)
{
if (s.empty())
{
return s;
}
s.erase(0,s.find_first_not_of(" "));
s.erase(s.find_last_not_of(" ") + 1);
return s;
}
/** /**
* *
* @param line * @param line
* @param data * @param data
* @param lineEndMark \n * @param lineEndMark \n
*/ */
void getNextArg(std::string &line, std::string &data, char lineEndMark) { std::string getNextArg(std::string &data, std::string const & lineEndMark) {
int pos = data.find(lineEndMark, 0); int pos = data.find(lineEndMark, 0);
std::string lineData; std::string lineData;
if (pos == -1) { if (pos == -1) {
@ -69,5 +56,5 @@ void getNextArg(std::string &line, std::string &data, char lineEndMark) {
data = data.substr(pos); data = data.substr(pos);
} }
trim(lineData); trim(lineData);
line = lineData; return lineData;
} }

View File

@ -0,0 +1,28 @@
#include "../include/string_utils.h"
std::string& trim(std::string &s)
{
if (s.empty())
{
return s;
}
s.erase(0, s.find_first_not_of(" "));
s.erase(s.find_last_not_of(" ") + 1);
return s;
}
void split(std::vector<std::string> result, std::string source, std::string mark) {
int currentPos = 0;
for (int i = source.find(mark, 0); ; i = source.find(mark, currentPos))
{
std::string ele = source.substr(currentPos, i);
trim(ele);
result.emplace_back(ele);
if (i == -1)
break;
currentPos = i + 1;
}
}

View File

@ -1,14 +1,20 @@
#include <iostream> #include <iostream>
#include <vector> #include <vector>
#include <algorithm>
#include <map>
#include "include/file.h" #include "include/file.h"
#include "include/usage.h" #include "include/usage.h"
#include "include/string_utils.h"
#include "include/wxml.h"
using namespace std; using namespace std;
int main(int argc, char **argv) { int main(int argc, const char **argv) {
printf("argc: %d\n", argc);
string gwxMark = "$gwx"; string gwxMark = "$gwx";
string blankStr = " "; string splitMarkStr = " ";
bool hasConfigParam = false; bool hasConfigParam = false;
string configPathLocation; string configPathLocation;
vector<string> paramList; vector<string> paramList;
@ -32,28 +38,31 @@ int main(int argc, char **argv) {
// 有配置文件,从配置文件解析 // 有配置文件,从配置文件解析
if (hasConfigParam) { if (hasConfigParam) {
int ret = readFile(configPathLocation, configData); int ret = readFile(configPathLocation.c_str(), configData);
string line; string line;
if (0 == ret) { if (0 == ret) {
getNextArg(line, configData, '\n'); line = getNextArg(configData, "\n");
paramList.emplace_back(line); paramList.emplace_back(line);
} }
} }
int mark = 0; int mark = 0;
bool end = false; bool isReadFromStdin = false;
bool version = false; bool version = false;
bool hasXCParam = false; bool hasXCParam = false;
string xcParam; bool hasCompleteCodeParam = false;
bool hasCallbackParam = false; bool hasLL = false;
string callbackParam; string xc_Or_completeCode_Param;
string outputFileName; string outputFileName;
vector<char> temp; vector<string> temp;
vector<string> splitedData;
map<string, string> mapData1;
map<string, string> fileData;
for (int i = 0; i < paramList.size(); i++) for (int i = 0; i < paramList.size(); i++)
{ {
string param = paramList[i]; string param = paramList[i];
if (param[0] != '-') { if (param[0] != '-') {
// 不是参数名,跳过 // 不是参数名,跳过
temp.push_back(param[0]); temp.push_back(param);
continue; continue;
} }
@ -80,8 +89,8 @@ int main(int argc, char **argv) {
continue; continue;
} }
if (i + 1 < paramList.size()) { if (i + 1 < paramList.size()) {
temp.push_back(param[2]); temp.push_back(paramList[i + 1]);
end = true; isReadFromStdin = true;
} }
break; break;
case 'v': case 'v':
@ -98,7 +107,7 @@ int main(int argc, char **argv) {
if(param[2] == 'c' && i < paramList.size()) { if(param[2] == 'c' && i < paramList.size()) {
hasXCParam = true; hasXCParam = true;
if(paramList[i + 1][0] != '-') { if(paramList[i + 1][0] != '-') {
xcParam.assign(paramList[i + 1]); xc_Or_completeCode_Param.assign(paramList[i + 1]);
i++; i++;
} }
continue; continue;
@ -106,12 +115,11 @@ int main(int argc, char **argv) {
break; break;
case 'c': case 'c':
// -cc: output compelete code for custom component // -cc: output compelete code for custom component
// -cb [callback.js...]
/* code */ /* code */
if(param[2] == 'c' && i + 1 < paramList.size()) { if(param[2] == 'c' && i + 1 < paramList.size()) {
hasCallbackParam = true; hasCompleteCodeParam = true;
if(paramList[i + 1][0] != '-') { if(paramList[i + 1][0] != '-') {
callbackParam.assign(paramList[i + 1]); xc_Or_completeCode_Param.assign(paramList[i + 1]);
i++; i++;
} }
continue; continue;
@ -153,9 +161,257 @@ int main(int argc, char **argv) {
default: default:
break; break;
} }
// switch end
if (param == "--split") {
if (i + 1 < paramList.size()) {
splitMarkStr = paramList[i + 1];
i++;
continue;
}
}
// -cb
if(param[1] == 'c' && param[2] == 'b') {
string callbackFile = paramList[i + 1];
string callbackData;
readFile(callbackFile.c_str(), callbackData);
if (!callbackData.empty()) {
mapData1["life_cycle_callback_content"] = callbackData;
}
}
else {
if(!param.compare("--pm")) {
// 参数是--pm
if (i + 1 < paramList.size()) {
mapData1["plain_text_marker"] = paramList[i + 1];
continue;
}
}
if (param[1] == 'l' && param[2] == 'l') {
// -ll
if (param[3] != 'w') {
// 不是 -llw
if (param[3] != 'a') {
// 不是 -lla
printf("Error: expected -llw or -lla, but got %s\n", param.c_str());
return -1;
}
}
string splitMark;
if (!splitMarkStr.compare(" ")) {
// 空格
splitMark = ",";
}else {
// 不是空格
splitMark = splitMarkStr;
}
split(splitedData, paramList[i + 1], splitMark);
hasLL = true;
}
}
} }
if (version) {
std::string versionInfo;
WXML::Compiler::GetVersionInfo(versionInfo, "global");
if (!outputFileName.empty()) {
FILE *f;
f = fopen(outputFileName.c_str(), "w");
fprintf(f, "%s\n", versionInfo.c_str());
fclose(f);
}
}
if (temp.empty()) {
usage(argc, argv);
return 0;
}
if (isReadFromStdin) {
string content;
readFile(0, content);
fileData[temp[0]] = content;
}
else {
// 读取文件内容
for (int i = 0; i < temp.size(); i++)
{
string content;
readFile(temp[i].c_str(), content);
fileData[temp[i]] = content;
}
}
if (true) {
string data;
data = getNextArg(xc_Or_completeCode_Param, splitMarkStr);
unsigned long long count = strtoull(&data[0], 0, 10);
for (unsigned long long i = 0; i < count; i++)
{
string data1 = getNextArg(xc_Or_completeCode_Param, splitMarkStr);
data = getNextArg(xc_Or_completeCode_Param, splitMarkStr);
unsigned long long jCount = strtoull(&data[0], 0, 10);
vector<string> list;
for (unsigned long long i = 0; i < jCount; i++)
{
string data2 = getNextArg(xc_Or_completeCode_Param, splitMarkStr);
list.push_back(data2);
vector<string>::iterator it = find(splitedData.begin(), splitedData.end(), data2);
if (it == splitedData.end()) {
splitedData.push_back(data2);
}
}
auto fileContent = fileData.lower_bound(data1);
if (fileContent == fileData.end()) {
// fileData.ins(data1, 5)
}
//TODO...
}
}
//
if (hasLL) {
for (int i = 0; i < 999; i++)
{
/* code */
}
map<string, string> outputMap;
const char off_5403C3[] = {'s','\0','e','\0'};
int compilerResult = 0;
// compilerResult = WXML::Compiler::CompileLazy(
// &v107,
// (int *)v111,
// outputMap,
// &v101,
// &v121,
// v126,
// (int *)&v92,
// &v105,
// v53,
// (int)gwxMark,
// mark,
// 10,
// &off_5403C3[2],
// off_5403C3,
// "gg",
// "e_",
// "d_",
// "p_",
// "\0",
// "boxofchocolate",
// "$gdwx",
// "f_");
// while()
// if()
if (1) {
string helperCode;
WXML::Compiler::WXMLHelperCode(helperCode);
string data = "var __wxAppData=__wxAppData||{};var __wxAppCode__=__wxAppCode__||{};var global=global||{};var __WXML_GLOBAL__="
"__WXML_GLOBAL__||{entrys:{},defines:{},modules:{},ops:[],wxs_nf_init:undefined,total_ops:0};var Component=Comp"
"onent||function(){};var definePlugin=definePlugin||function(){};var requirePlugin=requirePlugin||function(){};"
"var Behavior=Behavior||function(){};var __vd_version_info__=__vd_version_info__||{};var __GWX_GLOBAL__=__GWX_G"
"LOBAL__||{};var __globalThis=(typeof __vd_version_info__!=='undefined'&&typeof __vd_version_info__.globalThis!"
"=='undefined')?__vd_version_info__.globalThis:(typeof window!=='undefined'?window:globalThis);";
data = data + helperCode;
outputMap["__COMMON__"] = data;
}
else {
string helperCode;
WXML::Compiler::WXMLHelperCode(helperCode);
string commonData = "var __wxAppData=__wxAppData||{};var __wxAppCode__=__wxAppCode__||{};var global=global||{};var __WXML_GLOBAL__="
"__WXML_GLOBAL__||{entrys:{},defines:{},modules:{},ops:[],wxs_nf_init:undefined,total_ops:0};var Component=Comp"
"onent||function(){};var definePlugin=definePlugin||function(){};var requirePlugin=requirePlugin||function(){};"
"var Behavior=Behavior||function(){};var __vd_version_info__=__vd_version_info__||{};var __GWX_GLOBAL__=__GWX_G"
"LOBAL__||{};var __globalThis=(typeof __vd_version_info__!=='undefined'&&typeof __vd_version_info__.globalThis!"
"=='undefined')?__vd_version_info__.globalThis:(typeof window!=='undefined'?window:globalThis);";
commonData += helperCode;
commonData = commonData.append(outputMap["__COMMON__"]);
outputMap["__COMMON__"] = commonData;
}
string dep = ";var __WXML_DEP__=__WXML_DEP__||{};";
// TODO: 起始并不是0
for (string j = ""; ; )
{
/* code */
if (j == "") break;
if (j[11] != j[10]) {
stringstream dep;
dep << "__WXML_DEP__[\"";
dep << "\"]=[";
for (int k = 0; k < 10; k++)
{
/* code */
dep << "\"";
dep << "\",";
}
dep << "];";
}
}
// ???
outputMap["__COMMON__"].append("");
if (compilerResult) {
// CompileLazy出现异常
// 标准错误输出
fprintf(stderr, "Error %d: %s\n", 1, "123");
}
else {
FILE *f = stdout;
if (!outputFileName.empty())
f = fopen(outputFileName.c_str(), "w");
// DictToJsonString
// DictToJsonString
fprintf(f, " {\"generateFunctionContent\":%s,\"generateFunctionName\":%s} ", "", "");
fclose(f);
}
}
else {
const char off_5403C3[] = { 's', '\0', 'e', '\0' };
int compilerResult = 0;
// compilerResult = WXML::Compiler::Compile(
// v3,
// &v107,
// (int *)v111,
// (unsigned __int8 **)v113,
// v126,
// &v105,
// v53,
// (int *)gwxMark,
// mark,
// 10,
// off_5403C3[2], // off_5403C3[2]
// off_5403C3, // off_5403C3
// "gg", // "gg"
// "e_", // "e_"
// "d_", // "d_"
// "p_", // "p_"
// '\0', // '\0'
// "boxofchocolate", // "boxofchocolate"
// "$gdwx", // "$gdwx"
// "f_"); // "f_"
FILE *f;
if (compilerResult) {
f = stderr;
fprintf(f, "%s\n", "error...");
}else {
f = stdout;
if (!outputFileName.empty()) {
f = fopen(outputFileName.c_str(), "w");
}
fprintf(f, "%s\n", "result...");
fclose(f);
}
}
return 0; return 0;
} }

View File

@ -1,7 +1,7 @@
#include <iostream> #include <iostream>
//----- (00401726) -------------------------------------------------------- //----- (00401726) --------------------------------------------------------
int usage(int argc, const char **argv) int usage(int argc, const char **argv)
{ {
printf("Wechat WXML Compiler, version %s\n", "v0.5vv_20200413_syb_scopedata"); printf("Wechat WXML Compiler, version %s\n", "v0.5vv_20200413_syb_scopedata");
printf( printf(

View File

@ -1,9 +1,18 @@
#include "../include/wxml.h" #include "../include/wxml.h"
#include "../include/define.h" #include "../include/define.h"
#include <iostream>
namespace WXML{ namespace WXML{
void Compiler::GetVersionInfo(int a1, int *a2) {
std::ostream& result = std::cout; Compiler::Compiler(/* args */)
{
}
Compiler::~Compiler()
{
}
void Compiler::GetVersionInfo(std::string &a1, std::string a2) {
std::stringstream result;
result << "/*"; result << "/*";
result << "v0.5vv_20200413_syb_scopedata"; result << "v0.5vv_20200413_syb_scopedata";
result << "*/"; result << "*/";
@ -14,6 +23,7 @@ namespace WXML{
result << "';"; result << "';";
result << a2; result << a2;
result << ".__wcc_version_info__={\"customComponents\":true,\"fixZeroRpx\":true,\"propValueDeepCopy\":false};"; result << ".__wcc_version_info__={\"customComponents\":true,\"fixZeroRpx\":true,\"propValueDeepCopy\":false};";
result.str(a1);
} }
void Compiler::WXMLHelperCode(std::string &result) { void Compiler::WXMLHelperCode(std::string &result) {
result.assign(aIfThisThisGUnd); result.assign(aIfThisThisGUnd);

View File

@ -0,0 +1,14 @@
#include "../include/wxml.h"
namespace WXML {
DOMLib::DOMLib(/* args */)
{
}
DOMLib::~DOMLib()
{
}
}

View File

@ -0,0 +1,14 @@
#include "../../include/wxml.h"
namespace WXML {
namespace EXPRLib {
Tokenizer::Tokenizer(/* args */)
{
}
Tokenizer::~Tokenizer()
{
}
}
}

14
src/wxml/rewrite.cpp Normal file
View File

@ -0,0 +1,14 @@
#include "../include/wxml.h"
namespace WXML {
Rewrite::Rewrite(/* args */)
{
}
Rewrite::~Rewrite()
{
}
}

View File

@ -46,7 +46,7 @@ int main(int argc, const char **argv, const char **envp)
int v41; // edx int v41; // edx
char v43; // [esp+1h] [ebp-38Bh] char v43; // [esp+1h] [ebp-38Bh]
char v44; // [esp+2h] [ebp-38Ah] char v44; // [esp+2h] [ebp-38Ah]
char v45; // [esp+3h] [ebp-389h] char isReadFromStdin; // [esp+3h] [ebp-389h]
const char **innerArgv; // [esp+4h] [ebp-388h] const char **innerArgv; // [esp+4h] [ebp-388h]
int innerArgc; // [esp+8h] [ebp-384h] int innerArgc; // [esp+8h] [ebp-384h]
FILE *v48; // [esp+Ch] [ebp-380h] FILE *v48; // [esp+Ch] [ebp-380h]
@ -90,13 +90,13 @@ int main(int argc, const char **argv, const char **envp)
void **v86; // [esp+68h] [ebp-324h] BYREF void **v86; // [esp+68h] [ebp-324h] BYREF
void **v87; // [esp+6Ch] [ebp-320h] void **v87; // [esp+6Ch] [ebp-320h]
int v88; // [esp+70h] [ebp-31Ch] int v88; // [esp+70h] [ebp-31Ch]
_DWORD *fileList; // [esp+74h] [ebp-318h] BYREF _DWORD *paramList; // [esp+74h] [ebp-318h] BYREF
int v90; // [esp+78h] [ebp-314h] int v90; // [esp+78h] [ebp-314h]
int v91; // [esp+7Ch] [ebp-310h] int v91; // [esp+7Ch] [ebp-310h]
void **v92; // [esp+80h] [ebp-30Ch] BYREF void **v92; // [esp+80h] [ebp-30Ch] BYREF
int v93; // [esp+84h] [ebp-308h] int v93; // [esp+84h] [ebp-308h]
int v94; // [esp+88h] [ebp-304h] int v94; // [esp+88h] [ebp-304h]
char *v95; // [esp+8Ch] [ebp-300h] BYREF char *xc_Or_completeCode_Param; // [esp+8Ch] [ebp-300h] BYREF
int v96; // [esp+90h] [ebp-2FCh] int v96; // [esp+90h] [ebp-2FCh]
char v97; // [esp+94h] [ebp-2F8h] BYREF char v97; // [esp+94h] [ebp-2F8h] BYREF
char *configPathData; // [esp+A4h] [ebp-2E8h] BYREF char *configPathData; // [esp+A4h] [ebp-2E8h] BYREF
@ -144,7 +144,7 @@ int main(int argc, const char **argv, const char **envp)
char *v140; // [esp+29Ch] [ebp-F0h] BYREF char *v140; // [esp+29Ch] [ebp-F0h] BYREF
int v141; // [esp+2A0h] [ebp-ECh] int v141; // [esp+2A0h] [ebp-ECh]
int v142[4]; // [esp+2A4h] [ebp-E8h] BYREF int v142[4]; // [esp+2A4h] [ebp-E8h] BYREF
int configPathParamName; // [esp+2B4h] [ebp-D8h] BYREF int tempData; // [esp+2B4h] [ebp-D8h] BYREF
int v144; // [esp+2B8h] [ebp-D4h] int v144; // [esp+2B8h] [ebp-D4h]
char v145[4]; // [esp+2BCh] [ebp-D0h] BYREF char v145[4]; // [esp+2BCh] [ebp-D0h] BYREF
char v146[196]; // [esp+2C0h] [ebp-CCh] BYREF char v146[196]; // [esp+2C0h] [ebp-CCh] BYREF
@ -154,7 +154,7 @@ int main(int argc, const char **argv, const char **envp)
innerArgc = argc; innerArgc = argc;
innerArgv = argv; innerArgv = argv;
__main(); __main();
v95 = &v97; xc_Or_completeCode_Param = &v97;
configPathData = &v100; configPathData = &v100;
v86 = 0; v86 = 0;
v87 = 0; v87 = 0;
@ -163,7 +163,7 @@ int main(int argc, const char **argv, const char **envp)
v97 = 0; v97 = 0;
v99 = 0; v99 = 0;
v100 = 0; v100 = 0;
fileList = 0; paramList = 0;
v90 = 0; v90 = 0;
v91 = 0; v91 = 0;
v92 = 0; v92 = 0;
@ -183,14 +183,14 @@ int main(int argc, const char **argv, const char **envp)
v106[4] = 0; v106[4] = 0;
for ( argcIndex = 1; argcIndex < innerArgc; ++argcIndex ) for ( argcIndex = 1; argcIndex < innerArgc; ++argcIndex )
{ {
std::string::basic_string((void **)&configPathParamName, "--config-path"); std::string::basic_string((void **)&tempData, "--config-path");
currentIndex = argcIndex; currentIndex = argcIndex;
currentArg = (char *)&innerArgv[argcIndex]; currentArg = (char *)&innerArgv[argcIndex];
hasConfigParam = 0; hasConfigParam = 0;
if ( !std::string::compare((int)&configPathParamName, *(char **)currentArg) ) if ( !std::string::compare((int)&tempData, *(char **)currentArg) )
// 一样 // 一样
hasConfigParam = argcIndex + 1 < innerArgc; hasConfigParam = argcIndex + 1 < innerArgc;
std::string::_M_dispose((void **)&configPathParamName); std::string::_M_dispose((void **)&tempData);
if ( hasConfigParam ) if ( hasConfigParam )
{ {
// 有--config-path参数下一个参数是路径跳过 // 有--config-path参数下一个参数是路径跳过
@ -201,9 +201,9 @@ int main(int argc, const char **argv, const char **envp)
else else
{ {
// 没有--config-path参数 // 没有--config-path参数
std::string::basic_string((void **)&configPathParamName, *(char **)currentArg); std::string::basic_string((void **)&tempData, *(char **)currentArg);
std::vector<std::string>::emplace_back<std::string>((void **)&fileList, &configPathParamName); std::vector<std::string>::emplace_back<std::string>((void **)&paramList, &tempData);
std::string::_M_dispose((void **)&configPathParamName); std::string::_M_dispose((void **)&tempData);
} }
} }
@ -217,9 +217,9 @@ int main(int argc, const char **argv, const char **envp)
while ( v138 ) while ( v138 )
{ {
std::string::basic_string((void **)&v140, "\n"); std::string::basic_string((void **)&v140, "\n");
GetNextArg((int)&configPathParamName, &v137, (int)&v140); GetNextArg((int)&tempData, &v137, (int)&v140);
std::vector<std::string>::emplace_back<std::string>((void **)&fileList, &configPathParamName); std::vector<std::string>::emplace_back<std::string>((void **)&paramList, &tempData);
std::string::_M_dispose((void **)&configPathParamName); std::string::_M_dispose((void **)&tempData);
std::string::_M_dispose((void **)&v140); std::string::_M_dispose((void **)&v140);
} }
std::string::_M_dispose((void **)&v137); std::string::_M_dispose((void **)&v137);
@ -231,13 +231,13 @@ int main(int argc, const char **argv, const char **envp)
v44 = 0; v44 = 0;
mark = 0; mark = 0;
v53 = 0; v53 = 0;
v55 = -1431655765 * ((v90 - (int)fileList) >> 3); v55 = -1431655765 * ((v90 - (int)paramList) >> 3);
v45 = 0; isReadFromStdin = 0;
FileNamea = 0; FileNamea = 0;
while ( (int)Streama < v55 ) while ( (int)Streama < v55 )
{ {
v67 = 6 * (_DWORD)Streama; v67 = 6 * (_DWORD)Streama;
v4 = &fileList[6 * (_DWORD)Streama]; v4 = &paramList[6 * (_DWORD)Streama];
v5 = (_BYTE *)*v4; v5 = (_BYTE *)*v4;
// ASCII 45 => '-' // ASCII 45 => '-'
if ( *(_BYTE *)*v4 != '-' /*45*/ ) if ( *(_BYTE *)*v4 != '-' /*45*/ )
@ -274,8 +274,8 @@ int main(int argc, const char **argv, const char **envp)
} }
if ( (int)&Streama->_ptr + 1 < v55 ) if ( (int)&Streama->_ptr + 1 < v55 )
{ {
std::vector<std::string>::push_back((int)&v86, (int)&fileList[v67 + 6]); std::vector<std::string>::push_back((int)&v86, (int)&paramList[v67 + 6]);
v45 = 1; isReadFromStdin = 1;
goto LABEL_84; goto LABEL_84;
} }
break; break;
@ -295,7 +295,7 @@ int main(int argc, const char **argv, const char **envp)
v53 = 1; v53 = 1;
if ( *(_BYTE *)v89[v67 + 6] != '-'/*45*/ ) if ( *(_BYTE *)v89[v67 + 6] != '-'/*45*/ )
{ {
std::string::_M_assign((int)&v95, (int)&fileList[v67 + 6]); std::string::_M_assign((int)&xc_Or_completeCode_Param, (int)&paramList[v67 + 6]);
v53 = 1; v53 = 1;
Streama = (FILE *)((char *)Streama + 1); Streama = (FILE *)((char *)Streama + 1);
} }
@ -310,7 +310,7 @@ int main(int argc, const char **argv, const char **envp)
v53 = 0; v53 = 0;
if ( *(_BYTE *)v89[v67 + 6] != '-'/*45*/ ) if ( *(_BYTE *)v89[v67 + 6] != '-'/*45*/ )
{ {
std::string::_M_assign((int)&v95, (int)&fileList[v67 + 6]); std::string::_M_assign((int)&xc_Or_completeCode_Param, (int)&paramList[v67 + 6]);
v53 = 0; v53 = 0;
Streama = (FILE *)((char *)Streama + 1); Streama = (FILE *)((char *)Streama + 1);
} }
@ -323,7 +323,7 @@ int main(int argc, const char **argv, const char **envp)
v8 = (FILE *)((char *)&Streama->_ptr + 1); v8 = (FILE *)((char *)&Streama->_ptr + 1);
if ( (int)&Streama->_ptr + 1 < v55 ) if ( (int)&Streama->_ptr + 1 < v55 )
{ {
FileNamea = (char *)fileList[v67 + 6]; FileNamea = (char *)paramList[v67 + 6];
LABEL_72: LABEL_72:
Streama = v8; Streama = v8;
goto LABEL_84; goto LABEL_84;
@ -333,7 +333,7 @@ LABEL_72:
// gwxMark // gwxMark
if ( v5[2] == 'n'/*110*/ && (int)&Streama->_ptr + 1 < v55 ) if ( v5[2] == 'n'/*110*/ && (int)&Streama->_ptr + 1 < v55 )
{ {
std::string::_M_assign((int)gwxMark, (int)&fileList[v67 + 6]); std::string::_M_assign((int)gwxMark, (int)&paramList[v67 + 6]);
v8 = (FILE *)((char *)&Streama->_ptr + 1); v8 = (FILE *)((char *)&Streama->_ptr + 1);
goto LABEL_72; goto LABEL_72;
} }
@ -348,54 +348,56 @@ LABEL_72:
mark |= 0x40u; mark |= 0x40u;
goto LABEL_84; goto LABEL_84;
} }
std::string::basic_string((void **)&configPathParamName, "--split"); // switch end
v51 = std::operator==<char>((int)&fileList[v67], (int)&configPathParamName);
std::string::basic_string((void **)&tempData, "--split");
v51 = std::operator==<char>((int)&paramList[v67], (int)&tempData);
// 相等 // 相等
if ( v51 ) if ( v51 )
v51 = (int)&Streama->_ptr + 1 < v55; v51 = (int)&Streama->_ptr + 1 < v55;
std::string::_M_dispose((void **)&configPathParamName); std::string::_M_dispose((void **)&tempData);
if ( v51 ) if ( v51 )
{ {
Streama = (FILE *)((char *)Streama + 1); Streama = (FILE *)((char *)Streama + 1);
std::string::_M_assign((int)blankStr, (int)&fileList[v67 + 6]); std::string::_M_assign((int)blankStr, (int)&paramList[v67 + 6]);
goto LABEL_84; goto LABEL_84;
} }
v9 = fileList[6 * (_DWORD)Streama]; v9 = paramList[6 * (_DWORD)Streama];
if ( *(_BYTE *)(v9 + 1) == 'c'/*99*/ && *(_BYTE *)(v9 + 2) == 'b'/*98*/ ) if ( *(_BYTE *)(v9 + 1) == 'c'/*99*/ && *(_BYTE *)(v9 + 2) == 'b'/*98*/ )
{ {
LOBYTE(v142[0]) = 0; LOBYTE(v142[0]) = 0;
v140 = (char *)v142; v140 = (char *)v142;
v10 = (char *)fileList[v67 + 6]; v10 = (char *)paramList[v67 + 6];
Streama = (FILE *)((char *)Streama + 1); Streama = (FILE *)((char *)Streama + 1);
mark |= 0x80u; mark |= 0x80u;
v141 = 0; v141 = 0;
ReadFile(v10, (unsigned int *)&v140); ReadFile(v10, (unsigned int *)&v140);
if ( v141 ) if ( v141 )
{ {
std::string::basic_string((void **)&configPathParamName, "life_cycle_callback_content"); std::string::basic_string((void **)&tempData, "life_cycle_callback_content");
v11 = std::map<std::string,std::string>::operator[](&v105, &configPathParamName); v11 = std::map<std::string,std::string>::operator[](&v105, &tempData);
std::string::_M_assign((int)v11, (int)&v140); std::string::_M_assign((int)v11, (int)&v140);
std::string::_M_dispose((void **)&configPathParamName); std::string::_M_dispose((void **)&tempData);
} }
std::string::_M_dispose((void **)&v140); std::string::_M_dispose((void **)&v140);
} }
else else
{ {
if ( !std::string::compare((int)&fileList[v67], "--pm") ) if ( !std::string::compare((int)&paramList[v67], "--pm") )
{ {
v48 = (FILE *)((char *)&Streama->_ptr + 1); v48 = (FILE *)((char *)&Streama->_ptr + 1);
if ( (int)&Streama->_ptr + 1 < v55 ) if ( (int)&Streama->_ptr + 1 < v55 )
{ {
Streamk = (FILE *)&fileList[v67 + 6]; Streamk = (FILE *)&paramList[v67 + 6];
std::string::basic_string((void **)&configPathParamName, "plain_text_marker"); std::string::basic_string((void **)&tempData, "plain_text_marker");
v12 = std::map<std::string,std::string>::operator[](&v105, &configPathParamName); v12 = std::map<std::string,std::string>::operator[](&v105, &tempData);
std::string::_M_assign((int)v12, (int)Streamk); std::string::_M_assign((int)v12, (int)Streamk);
std::string::_M_dispose((void **)&configPathParamName); std::string::_M_dispose((void **)&tempData);
v8 = v48; v8 = v48;
goto LABEL_72; goto LABEL_72;
} }
} }
v49 = fileList[6 * (_DWORD)Streama]; v49 = paramList[6 * (_DWORD)Streama];
if ( *(_BYTE *)(v49 + 1) == 'l'/*108*/ && *(_BYTE *)(v49 + 2) == 'l'/*108*/ ) if ( *(_BYTE *)(v49 + 1) == 'l'/*108*/ && *(_BYTE *)(v49 + 2) == 'l'/*108*/ )
{ {
v13 = *(_BYTE *)(v49 + 3); v13 = *(_BYTE *)(v49 + 3);
@ -411,11 +413,11 @@ LABEL_72:
v51 = 1; v51 = 1;
} }
if ( !std::string::compare((int)blankStr, " ") ) if ( !std::string::compare((int)blankStr, " ") )
std::string::basic_string((void **)&configPathParamName, ","); std::string::basic_string((void **)&tempData, ",");
else else
std::string::basic_string((char *)&configPathParamName, (int)blankStr); std::string::basic_string((char *)&tempData, (int)blankStr);
Streama = (FILE *)((char *)Streama + 1); Streama = (FILE *)((char *)Streama + 1);
Split((int)&v131, &fileList[v67 + 6], (int)&configPathParamName); Split((int)&v131, &paramList[v67 + 6], (int)&tempData);
v15 = (void **)v131; v15 = (void **)v131;
v16 = (char *)v92; v16 = (char *)v92;
v131 = 0; v131 = 0;
@ -430,19 +432,23 @@ LABEL_72:
v133 = 0; v133 = 0;
std::vector<std::string>::~vector((void ***)&v140, v17); std::vector<std::string>::~vector((void ***)&v140, v17);
std::vector<std::string>::~vector((void ***)&v131, v18); std::vector<std::string>::~vector((void ***)&v131, v18);
std::string::_M_dispose((void **)&configPathParamName); std::string::_M_dispose((void **)&tempData);
v43 = 1; v43 = 1;
v53 = v51; v53 = v51;
} }
} }
LABEL_84: LABEL_84:
Streama = (FILE *)((char *)Streama + 1); Streama = (FILE *)((char *)Streama + 1);
} }
// for end
// 查看版本 有-v参数
if ( v44 ) if ( v44 )
{ {
std::string::basic_string((void **)&configPathParamName, "global"); std::string::basic_string((void **)&tempData, "global");
WXML::Compiler::GetVersionInfo((int)&v140, &configPathParamName); WXML::Compiler::GetVersionInfo((int)&v140, &tempData);
std::string::_M_dispose((void **)&configPathParamName); std::string::_M_dispose((void **)&tempData);
Streamb = ___acrt_iob_func(1u); Streamb = ___acrt_iob_func(1u);
if ( FileNamea && *FileNamea ) if ( FileNamea && *FileNamea )
Streamb = fopen(FileNamea, "w"); Streamb = fopen(FileNamea, "w");
@ -450,6 +456,8 @@ LABEL_84:
fclose(Streamb); fclose(Streamb);
std::string::_M_dispose((void **)&v140); std::string::_M_dispose((void **)&v140);
} }
// v86 temp
if ( v86 == v87 ) if ( v86 == v87 )
{ {
v68 = Usage(innerArgc, innerArgv); v68 = Usage(innerArgc, innerArgv);
@ -467,34 +475,39 @@ LABEL_84:
v110[3] = (int)v110; v110[3] = (int)v110;
v110[4] = 0; v110[4] = 0;
Streamc = 0; Streamc = 0;
if ( v45 ) // v86 temp
// v107 fileData
if ( isReadFromStdin )
{ {
configPathParamName = (int)v145; tempData = (int)v145;
v144 = 0; v144 = 0;
v145[0] = 0; v145[0] = 0;
ReadFile(0, (unsigned int *)&configPathParamName); ReadFile(0, (unsigned int *)&tempData);
v19 = std::map<std::string,std::string>::operator[](&v107, (int)v86); v19 = std::map<std::string,std::string>::operator[](&v107, (int)v86);
std::string::_M_assign((int)v19, (int)&configPathParamName); std::string::_M_assign((int)v19, (int)&tempData);
std::string::_M_dispose((void **)&configPathParamName); std::string::_M_dispose((void **)&tempData);
// v107[v86] = tempData
} }
else else
{ {
while ( -1431655765 * (((char *)v87 - (char *)v86) >> 3) > (unsigned int)Streamc ) while ( -1431655765 * (((char *)v87 - (char *)v86) >> 3) > (unsigned int)Streamc )
{ {
v145[0] = 0; v145[0] = 0;
configPathParamName = (int)v145; tempData = (int)v145;
v20 = (char *)v86[6 * (_DWORD)Streamc]; v20 = (char *)v86[6 * (_DWORD)Streamc];
v144 = 0; v144 = 0;
ReadFile(v20, (unsigned int *)&configPathParamName); ReadFile(v20, (unsigned int *)&tempData);
v21 = std::map<std::string,std::string>::operator[](&v107, (int)&v86[6 * (_DWORD)Streamc]); v21 = std::map<std::string,std::string>::operator[](&v107, (int)&v86[6 * (_DWORD)Streamc]);
std::string::_M_assign((int)v21, (int)&configPathParamName); std::string::_M_assign((int)v21, (int)&tempData);
std::string::_M_dispose((void **)&configPathParamName); std::string::_M_dispose((void **)&tempData);
// v107[v86[6 * (_DWORD)Streamc]] = tempData
Streamc = (FILE *)((char *)Streamc + 1); Streamc = (FILE *)((char *)Streamc + 1);
} }
} }
if ( v96 ) if ( v96 )
{ {
GetNextArg((int)String, (int *)&v95, (int)blankStr); GetNextArg((int)String, (int *)&xc_Or_completeCode_Param, (int)blankStr);
// char -> unsigned long long
v52 = strtoull(String[0], 0, 10); v52 = strtoull(String[0], 0, 10);
std::string::_M_dispose((void **)String); std::string::_M_dispose((void **)String);
v131 = 0; v131 = 0;
@ -506,28 +519,29 @@ LABEL_84:
v140 = (char *)v142; v140 = (char *)v142;
LOBYTE(v142[0]) = 0; LOBYTE(v142[0]) = 0;
memset(String, 0, 12); memset(String, 0, 12);
GetNextArg((int)v135, (int *)&v95, (int)blankStr); GetNextArg((int)v135, (int *)&xc_Or_completeCode_Param, (int)blankStr);
std::string::operator=((unsigned __int8 **)&v140, (int)v135); std::string::operator=((unsigned __int8 **)&v140, (int)v135);
std::string::_M_dispose(v135); std::string::_M_dispose(v135);
GetNextArg((int)v136, (int *)&v95, (int)blankStr); GetNextArg((int)v136, (int *)&xc_Or_completeCode_Param, (int)blankStr);
v50 = strtoull(v136[0], 0, 10); v50 = strtoull(v136[0], 0, 10);
std::string::_M_dispose((void **)v136); std::string::_M_dispose((void **)v136);
for ( Streamd = 0; (int)Streamd < v50; Streamd = (FILE *)((char *)Streamd + 1) ) for ( Streamd = 0; (int)Streamd < v50; Streamd = (FILE *)((char *)Streamd + 1) )
{ {
v144 = 0; v144 = 0;
configPathParamName = (int)v145; tempData = (int)v145;
v145[0] = 0; v145[0] = 0;
GetNextArg((int)&v137, (int *)&v95, (int)blankStr); GetNextArg((int)&v137, (int *)&xc_Or_completeCode_Param, (int)blankStr);
std::string::operator=((unsigned __int8 **)&configPathParamName, (int)&v137); std::string::operator=((unsigned __int8 **)&tempData, (int)&v137);
std::string::_M_dispose((void **)&v137); std::string::_M_dispose((void **)&v137);
std::vector<std::string>::push_back((int)String, (int)&configPathParamName); std::vector<std::string>::push_back((int)String, (int)&tempData);
v69 = v132; v69 = v132;
if ( v69 == std::find<__gnu_cxx::__normal_iterator<std::string *,std::vector<std::string>>,std::string>( if ( v69 == std::find<__gnu_cxx::__normal_iterator<std::string *,std::vector<std::string>>,std::string>(
v131, v131,
v132, v132,
(int)&configPathParamName) ) (int)&tempData) )
std::vector<std::string>::push_back((int)&v131, (int)&configPathParamName); // v131 splitedData
std::string::_M_dispose((void **)&configPathParamName); std::vector<std::string>::push_back((int)&v131, (int)&tempData);
std::string::_M_dispose((void **)&tempData);
} }
Streame = (FILE *)std::_Rb_tree<std::string,std::pair<std::string const,std::vector<std::string>>,std::_Select1st<std::pair<std::string const,std::vector<std::string>>>,std::less<std::string>,std::allocator<std::pair<std::string const,std::vector<std::string>>>>::lower_bound( Streame = (FILE *)std::_Rb_tree<std::string,std::pair<std::string const,std::vector<std::string>>,std::_Select1st<std::pair<std::string const,std::vector<std::string>>>,std::less<std::string>,std::allocator<std::pair<std::string const,std::vector<std::string>>>>::lower_bound(
&v109, &v109,
@ -562,10 +576,10 @@ LABEL_84:
std::vector<std::string>::~vector((void ***)String, v23); std::vector<std::string>::~vector((void ***)String, v23);
std::string::_M_dispose((void **)&v140); std::string::_M_dispose((void **)&v140);
} }
std::string::basic_string((void **)&configPathParamName, "ALL"); std::string::basic_string((void **)&tempData, "ALL");
v24 = std::map<std::string,std::vector<std::string>>::operator[](&v109, &configPathParamName); v24 = std::map<std::string,std::vector<std::string>>::operator[](&v109, &tempData);
std::vector<std::string>::operator=((int)v24, &v131); std::vector<std::string>::operator=((int)v24, &v131);
std::string::_M_dispose((void **)&configPathParamName); std::string::_M_dispose((void **)&tempData);
std::vector<std::string>::~vector((void ***)&v131, v25); std::vector<std::string>::~vector((void ***)&v131, v25);
} }
v111[1] = 0; v111[1] = 0;
@ -579,6 +593,8 @@ LABEL_84:
v118 = &v116; v118 = &v116;
v119 = &v116; v119 = &v116;
v120 = 0; v120 = 0;
// 有llx参数
if ( v43 ) if ( v43 )
{ {
v70 = v93; v70 = v93;
@ -586,9 +602,9 @@ LABEL_84:
{ {
if ( *Streamg->_ptr == 46 && Streamg->_ptr[1] == 47 ) if ( *Streamg->_ptr == 46 && Streamg->_ptr[1] == 47 )
{ {
std::string::substr(&configPathParamName, Streamg, 2u, 0xFFFFFFFF); std::string::substr(&tempData, Streamg, 2u, 0xFFFFFFFF);
std::string::operator=((unsigned __int8 **)Streamg, (int)&configPathParamName); std::string::operator=((unsigned __int8 **)Streamg, (int)&tempData);
std::string::_M_dispose((void **)&configPathParamName); std::string::_M_dispose((void **)&tempData);
} }
} }
v122[0] = 0; v122[0] = 0;
@ -596,7 +612,7 @@ LABEL_84:
v123 = v122; v123 = v122;
v124 = v122; v124 = v122;
v125 = 0; v125 = 0;
std::string::basic_string((void **)&configPathParamName, "l_"); std::string::basic_string((void **)&tempData, "l_");
std::string::basic_string((void **)&v140, "f_"); std::string::basic_string((void **)&v140, "f_");
std::string::basic_string((void **)&v137, "$gdwx"); std::string::basic_string((void **)&v137, "$gdwx");
std::string::basic_string((void **)v136, "boxofchocolate"); std::string::basic_string((void **)v136, "boxofchocolate");
@ -623,16 +639,17 @@ LABEL_84:
(int)gwxMark, (int)gwxMark,
mark, mark,
10, 10,
(int *)v127, (int *)v127, // 'e'
(int *)v128, (int *)v128, // const char off_5403C3[] = {'s','\0','e','\0'}
(int *)v129, (int *)v129, // "gg"
(int *)v130, (int *)v130, // "e_"
&v131, &v131, // "d_"
(int *)String, (int *)String, // "p_"
(int)v135, (int)v135, // '\0'
(int)v136, (int)v136, // "boxofchocolate"
(int)&v137, (int)&v137, // "$gdwx"
(int *)&v140); (int *)&v140 // "f_"
);
std::_Rb_tree<std::string,std::pair<std::string const,std::vector<std::string>>,std::_Select1st<std::pair<std::string const,std::vector<std::string>>>,std::less<std::string>,std::allocator<std::pair<std::string const,std::vector<std::string>>>>::~_Rb_tree((int)v126); std::_Rb_tree<std::string,std::pair<std::string const,std::vector<std::string>>,std::_Select1st<std::pair<std::string const,std::vector<std::string>>>,std::less<std::string>,std::allocator<std::pair<std::string const,std::vector<std::string>>>>::~_Rb_tree((int)v126);
std::string::_M_dispose(v127); std::string::_M_dispose(v127);
std::string::_M_dispose(v128); std::string::_M_dispose(v128);
@ -644,7 +661,7 @@ LABEL_84:
std::string::_M_dispose((void **)v136); std::string::_M_dispose((void **)v136);
std::string::_M_dispose((void **)&v137); std::string::_M_dispose((void **)&v137);
std::string::_M_dispose((void **)&v140); std::string::_M_dispose((void **)&v140);
std::string::_M_dispose((void **)&configPathParamName); std::string::_M_dispose((void **)&tempData);
std::string::basic_string((void **)&v140, "__COMMON__"); std::string::basic_string((void **)&v140, "__COMMON__");
v61 = v117; v61 = v117;
Streamh = &v116; Streamh = &v116;
@ -682,16 +699,18 @@ LABEL_84:
"var Behavior=Behavior||function(){};var __vd_version_info__=__vd_version_info__||{};var __GWX_GLOBAL__=__GWX_G" "var Behavior=Behavior||function(){};var __vd_version_info__=__vd_version_info__||{};var __GWX_GLOBAL__=__GWX_G"
"LOBAL__||{};var __globalThis=(typeof __vd_version_info__!=='undefined'&&typeof __vd_version_info__.globalThis!" "LOBAL__||{};var __globalThis=(typeof __vd_version_info__!=='undefined'&&typeof __vd_version_info__.globalThis!"
"=='undefined')?__vd_version_info__.globalThis:(typeof window!=='undefined'?window:globalThis);"); "=='undefined')?__vd_version_info__.globalThis:(typeof window!=='undefined'?window:globalThis);");
std::operator+<char>(&configPathParamName, &v137, (unsigned int *)&v140); std::operator+<char>(&tempData, &v137, (unsigned int *)&v140);
std::string::basic_string((void **)v136, "__COMMON__"); std::string::basic_string((void **)v136, "__COMMON__");
v33 = (unsigned __int8 **)std::map<std::string,std::string>::operator[](&v115, v136); v33 = (unsigned __int8 **)std::map<std::string,std::string>::operator[](&v115, v136);
std::string::operator=(v33, (int)&configPathParamName); std::string::operator=(v33, (int)&tempData);
// v115["__COMMON__"] = tempData;
std::string::_M_dispose((void **)v136); std::string::_M_dispose((void **)v136);
std::string::_M_dispose((void **)&configPathParamName); std::string::_M_dispose((void **)&tempData);
std::string::_M_dispose((void **)&v137); std::string::_M_dispose((void **)&v137);
} }
else else
{ {
// v115 outputMap
std::string::basic_string((void **)&v140, "__COMMON__"); std::string::basic_string((void **)&v140, "__COMMON__");
Streamm = (FILE *)std::map<std::string,std::string>::operator[](&v115, &v140); Streamm = (FILE *)std::map<std::string,std::string>::operator[](&v115, &v140);
WXML::Compiler::WXMLHelperCode[abi:cxx11]((void **)v136); WXML::Compiler::WXMLHelperCode[abi:cxx11]((void **)v136);
@ -705,18 +724,18 @@ LABEL_84:
"=='undefined')?__vd_version_info__.globalThis:(typeof window!=='undefined'?window:globalThis);"); "=='undefined')?__vd_version_info__.globalThis:(typeof window!=='undefined'?window:globalThis);");
std::operator+<char>(&v137, v135, (unsigned int *)v136); std::operator+<char>(&v137, v135, (unsigned int *)v136);
v31 = std::string::append(&v137, (int)Streamm); v31 = std::string::append(&v137, (int)Streamm);
std::string::basic_string(&configPathParamName, v31); std::string::basic_string(&tempData, v31);
std::string::basic_string((void **)String, "__COMMON__"); std::string::basic_string((void **)String, "__COMMON__");
v32 = (unsigned __int8 **)std::map<std::string,std::string>::operator[](&v115, String); v32 = (unsigned __int8 **)std::map<std::string,std::string>::operator[](&v115, String);
std::string::operator=(v32, (int)&configPathParamName); std::string::operator=(v32, (int)&tempData);
std::string::_M_dispose((void **)String); std::string::_M_dispose((void **)String);
std::string::_M_dispose((void **)&configPathParamName); std::string::_M_dispose((void **)&tempData);
std::string::_M_dispose((void **)&v137); std::string::_M_dispose((void **)&v137);
std::string::_M_dispose(v135); std::string::_M_dispose(v135);
std::string::_M_dispose((void **)v136); std::string::_M_dispose((void **)v136);
} }
std::string::_M_dispose((void **)&v140); std::string::_M_dispose((void **)&v140);
std::basic_stringstream<char,std::char_traits<char>,std::allocator<char>>::basic_stringstream((int)&configPathParamName); std::basic_stringstream<char,std::char_traits<char>,std::allocator<char>>::basic_stringstream((int)&tempData);
std::operator<<<std::char_traits<char>>((std::ostream::sentry *)v145, ";var __WXML_DEP__=__WXML_DEP__||{};"); std::operator<<<std::char_traits<char>>((std::ostream::sentry *)v145, ";var __WXML_DEP__=__WXML_DEP__||{};");
for ( j = v123; ; j = (int *)std::_Rb_tree_increment((int)Streami) ) for ( j = v123; ; j = (int *)std::_Rb_tree_increment((int)Streami) )
{ {
@ -768,12 +787,12 @@ LABEL_84:
std::string::_M_dispose((void **)&v137); std::string::_M_dispose((void **)&v137);
std::string::_M_dispose((void **)v136); std::string::_M_dispose((void **)v136);
} }
std::basic_stringstream<char,std::char_traits<char>,std::allocator<char>>::~basic_stringstream((int)&configPathParamName); std::basic_stringstream<char,std::char_traits<char>,std::allocator<char>>::~basic_stringstream((int)&tempData);
std::_Rb_tree<std::string,std::pair<std::string const,std::vector<std::string>>,std::_Select1st<std::pair<std::string const,std::vector<std::string>>>,std::less<std::string>,std::allocator<std::pair<std::string const,std::vector<std::string>>>>::~_Rb_tree((int)&v121); std::_Rb_tree<std::string,std::pair<std::string const,std::vector<std::string>>,std::_Select1st<std::pair<std::string const,std::vector<std::string>>>,std::less<std::string>,std::allocator<std::pair<std::string const,std::vector<std::string>>>>::~_Rb_tree((int)&v121);
} }
else else
{ {
std::string::basic_string((void **)&configPathParamName, "l_"); std::string::basic_string((void **)&tempData, "l_");
std::string::basic_string((void **)&v140, "f_"); std::string::basic_string((void **)&v140, "f_");
std::string::basic_string((void **)&v137, "$gdwx"); std::string::basic_string((void **)&v137, "$gdwx");
std::string::basic_string((void **)v136, "boxofchocolate"); std::string::basic_string((void **)v136, "boxofchocolate");
@ -782,7 +801,7 @@ LABEL_84:
std::string::basic_string((void **)&v131, "d_"); std::string::basic_string((void **)&v131, "d_");
std::string::basic_string(v130, "e_"); std::string::basic_string(v130, "e_");
std::string::basic_string(v129, "gg"); std::string::basic_string(v129, "gg");
std::string::basic_string(v128, (char *)off_5403C3); std::string::basic_string(v128, (char *)off_5403C3); // const char off_5403C3[] = { 's', '\0', 'e', '\0' };
std::string::basic_string(v127, (char *)&off_5403C3[2]); std::string::basic_string(v127, (char *)&off_5403C3[2]);
std::_Rb_tree<std::string,std::pair<std::string const,std::vector<std::string>>,std::_Select1st<std::pair<std::string const,std::vector<std::string>>>,std::less<std::string>,std::allocator<std::pair<std::string const,std::vector<std::string>>>>::_Rb_tree( std::_Rb_tree<std::string,std::pair<std::string const,std::vector<std::string>>,std::_Select1st<std::pair<std::string const,std::vector<std::string>>>,std::less<std::string>,std::allocator<std::pair<std::string const,std::vector<std::string>>>>::_Rb_tree(
v126, v126,
@ -798,16 +817,16 @@ LABEL_84:
(int *)gwxMark, (int *)gwxMark,
mark, mark,
10, 10,
(int *)v127, (int *)v127, // off_5403C3[2]
(int *)v128, (int *)v128, // off_5403C3
(int *)v129, (int *)v129, // "gg"
(int *)v130, (int *)v130, // "e_"
&v131, &v131, // "d_"
(int *)String, (int *)String, // "p_"
(int)v135, (int)v135, // '\0'
(int)v136, (int)v136, // "boxofchocolate"
(int)&v137, (int)&v137, // "$gdwx"
(int *)&v140); (int *)&v140); // "f_"
std::_Rb_tree<std::string,std::pair<std::string const,std::vector<std::string>>,std::_Select1st<std::pair<std::string const,std::vector<std::string>>>,std::less<std::string>,std::allocator<std::pair<std::string const,std::vector<std::string>>>>::~_Rb_tree((int)v126); std::_Rb_tree<std::string,std::pair<std::string const,std::vector<std::string>>,std::_Select1st<std::pair<std::string const,std::vector<std::string>>>,std::less<std::string>,std::allocator<std::pair<std::string const,std::vector<std::string>>>>::~_Rb_tree((int)v126);
std::string::_M_dispose(v127); std::string::_M_dispose(v127);
std::string::_M_dispose(v128); std::string::_M_dispose(v128);
@ -819,7 +838,7 @@ LABEL_84:
std::string::_M_dispose((void **)v136); std::string::_M_dispose((void **)v136);
std::string::_M_dispose((void **)&v137); std::string::_M_dispose((void **)&v137);
std::string::_M_dispose((void **)&v140); std::string::_M_dispose((void **)&v140);
std::string::_M_dispose((void **)&configPathParamName); std::string::_M_dispose((void **)&tempData);
if ( v68 ) if ( v68 )
{ {
Streaml = (FILE *)v111[0]; Streaml = (FILE *)v111[0];
@ -849,7 +868,7 @@ LABEL_153:
std::vector<std::string>::~vector(&v92, v39); std::vector<std::string>::~vector(&v92, v39);
std::vector<std::string>::~vector((void ***)&v89, v40); std::vector<std::string>::~vector((void ***)&v89, v40);
std::string::_M_dispose((void **)&configPathData); std::string::_M_dispose((void **)&configPathData);
std::string::_M_dispose((void **)&v95); std::string::_M_dispose((void **)&xc_Or_completeCode_Param);
std::vector<std::string>::~vector(&v86, v41); std::vector<std::string>::~vector(&v86, v41);
return v68; return v68;
} }