diff --git a/src/include/wxml.h b/src/include/wxml.h index 3e59430..1e8c9b3 100644 --- a/src/include/wxml.h +++ b/src/include/wxml.h @@ -65,26 +65,28 @@ namespace WXML private: /* data */ std::string offset_0; // content - int offset_16; // pos - int offset_20; // size + int offset_16 = 0; // pos + int offset_20 = 0; // size bool offset_28; // hasCache toString std::string offset_32; // chcheData toString bool offset_84; // hasCache attrContent std::string offset_88; // chcheData attrContent public: - int offset_8; // ??? - int offset_12; // ??? - int offset_40; // AttrsCompartor用到,怎么来不知道 - int offset_56; // ??? -3, -1 + int offset_8 = 0; // ??? + int offset_12 = 0; // ??? + int offset_40 = 0; // AttrsCompartor用到,怎么来不知道 + int offset_56 = 0; // ??? -3, -1 std::string offset_60; // ??? Token(); /** * 非空构造会导致std::sort位置编译失败,原因未知 */ - // Token(std::string &); - // Token(WXML::DOMLib::Token&&); - // Token(WXML::DOMLib::Token const&); + Token(std::string &); + Token(WXML::DOMLib::Token&&); + Token(WXML::DOMLib::Token const&); ~Token(); + WXML::DOMLib::Token& operator=(WXML::DOMLib::Token const&); + WXML::DOMLib::Token& operator=(WXML::DOMLib::Token &&); void SetContent(std::string &content); std::string& GetContent(); int GetPos(); @@ -455,8 +457,6 @@ namespace WXML }; - - namespace EXPRLib { class Tokenizer diff --git a/src/wxml/dom_lib/machine.cpp b/src/wxml/dom_lib/machine.cpp index 131bf88..884acff 100644 --- a/src/wxml/dom_lib/machine.cpp +++ b/src/wxml/dom_lib/machine.cpp @@ -68,44 +68,44 @@ namespace WXML memset(&this->TT, 0, 0x101000u); // dword_5806EC = 99; - this->TT[ 0x5806EC - 0x00567560] = 99; + this->TT[ (0x5806EC - 0x00567560)/4] = 99; // dword_567A54 = 131074; - this->TT[ 0x567A54 - 0x00567560] = 131074; + this->TT[ (0x567A54 - 0x00567560)/4] = 131074; // dword_567B50 = 15; - this->TT[ 0x567B50 - 0x00567560] = 15; + this->TT[ (0x567B50 - 0x00567560)/4] = 15; // dword_567D64 = 1; - this->TT[ 0x567D64 - 0x00567560] = 1; + this->TT[ (0x567D64 - 0x00567560)/4] = 1; // dword_567964 = 131171; - this->TT[ 0x567964 - 0x00567560] = 131171; + this->TT[ (0x567964 - 0x00567560)/4] = 131171; // dword_56B388 = 16; - this->TT[ 0x56B388 - 0x00567560] = 16; + this->TT[ (0x56B388 - 0x00567560)/4] = 16; // dword_56B59C = 1; - this->TT[ 0x56B59C - 0x00567560] = 1; + this->TT[ (0x56B59C - 0x00567560)/4] = 1; // dword_56B794 = 17; - this->TT[ 0x56B794 - 0x00567560] = 17; - this->TT[ 0x56B5A0 - 0x00567560] = -1; - this->TT[ 0x56B9A0 - 0x00567560] = 16; - this->TT[ 0x56BB98 - 0x00567560] = 1; - this->TT[ 0x56BDA4 - 0x00567560] = 1048592; - this->TT[ 0x56B628 - 0x00567560] = 11; - this->TT[ 0x56B63C - 0x00567560] = 13; - this->TT[ 0x56A2FC - 0x00567560] = 12; - this->TT[ 0x56A990 - 0x00567560] = 11; - this->TT[ 0x56A214 - 0x00567560] = 16; - this->TT[ 0x56A18C - 0x00567560] = -1; - this->TT[ 0x56A58C - 0x00567560] = 11; - this->TT[ 0x56AB04 - 0x00567560] = 14; - this->TT[ 0x56B198 - 0x00567560] = 13; - this->TT[ 0x56AA30 - 0x00567560] = 16; - this->TT[ 0x56A994 - 0x00567560] = -1; - this->TT[ 0x56AD94 - 0x00567560] = 13; + this->TT[ (0x56B794 - 0x00567560)/4] = 17; + this->TT[ (0x56B5A0 - 0x00567560)/4] = -1; + this->TT[ (0x56B9A0 - 0x00567560)/4] = 16; + this->TT[ (0x56BB98 - 0x00567560)/4] = 1; + this->TT[ (0x56BDA4 - 0x00567560)/4] = 1048592; + this->TT[ (0x56B628 - 0x00567560)/4] = 11; + this->TT[ (0x56B63C - 0x00567560)/4] = 13; + this->TT[ (0x56A2FC - 0x00567560)/4] = 12; + this->TT[ (0x56A990 - 0x00567560)/4] = 11; + this->TT[ (0x56A214 - 0x00567560)/4] = 16; + this->TT[ (0x56A18C - 0x00567560)/4] = -1; + this->TT[ (0x56A58C - 0x00567560)/4] = 11; + this->TT[ (0x56AB04 - 0x00567560)/4] = 14; + this->TT[ (0x56B198 - 0x00567560)/4] = 13; + this->TT[ (0x56AA30 - 0x00567560)/4] = 16; + this->TT[ (0x56A994 - 0x00567560)/4] = -1; + this->TT[ (0x56AD94 - 0x00567560)/4] = 13; while (1) { char v1 = *v0; if (!v1) break; - this->TT[ 0x567D68 - 0x00567560 + v1] = 655363; + this->TT[ (0x567D68 - 0x00567560 + v1)/4] = 655363; v0++; } for (char * i = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-:"; ; ++i ) @@ -113,30 +113,30 @@ namespace WXML char v3 = *i; if ( !v3 ) break; - this->TT[ 0x567D68 - 0x00567560 + v3] = 131076; + this->TT[ (0x567D68 - 0x00567560 + v3)/4] = 131076; } - this->TT[ 0x567E24 - 0x00567560] = 262147; + this->TT[ (0x567E24 - 0x00567560)/4] = 262147; char *v4 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-:"; - this->TT[ 0x567DEC - 0x00567560] = 33; - this->TT[ 0x567F44 - 0x00567560] = 22; - this->TT[ 0x568168 - 0x00567560] = -1; - this->TT[ 0x56FA98 - 0x00567560] = 34; - this->TT[ 0x56FDE4 - 0x00567560] = -1; - this->TT[ 0x56FE9C - 0x00567560] = 19; - this->TT[ 0x5701E8 - 0x00567560] = -1; - this->TT[ 0x56C260 - 0x00567560] = 20; - this->TT[ 0x56C5AC - 0x00567560] = 19; - this->TT[ 0x56C664 - 0x00567560] = 21; - this->TT[ 0x56C9B0 - 0x00567560] = 19; - this->TT[ 0x56CAAC - 0x00567560] = 524289; - this->TT[ 0x56CA68 - 0x00567560] = 21; - this->TT[ 0x56CDB4 - 0x00567560] = 19; + this->TT[ (0x567DEC - 0x00567560)/4] = 33; + this->TT[ (0x567F44 - 0x00567560)/4] = 22; + this->TT[ (0x568168 - 0x00567560)/4] = -1; + this->TT[ (0x56FA98 - 0x00567560)/4] = 34; + this->TT[ (0x56FDE4 - 0x00567560)/4] = -1; + this->TT[ (0x56FE9C - 0x00567560)/4] = 19; + this->TT[ (0x5701E8 - 0x00567560)/4] = -1; + this->TT[ (0x56C260 - 0x00567560)/4] = 20; + this->TT[ (0x56C5AC - 0x00567560)/4] = 19; + this->TT[ (0x56C664 - 0x00567560)/4] = 21; + this->TT[ (0x56C9B0 - 0x00567560)/4] = 19; + this->TT[ (0x56CAAC - 0x00567560)/4] = 524289; + this->TT[ (0x56CA68 - 0x00567560)/4] = 21; + this->TT[ (0x56CDB4 - 0x00567560)/4] = 19; while ( 1 ) { char v5 = *v4; if ( !v5 ) break; - this->TT[ 0x567D68 - 0x00567560 + v5] = 4; + this->TT[ (0x567D68 - 0x00567560 + v5)/4] = 4; ++v4; } for (char * j = "0123456789"; ; ++j ) @@ -144,28 +144,28 @@ namespace WXML char v7 = *j; if ( !v7 ) break; - this->TT[ 0x567D68 - 0x00567560 + v7] = 4; + this->TT[ (0x567D68 - 0x00567560 + v7)/4] = 4; } for (char* k = " \n\t\r"; ; ++k ) { char v9 = *k; if ( !v9 ) break; - this->TT[ 0x567D68 - 0x00567560 + v9] = 655363; + this->TT[ (0x567D68 - 0x00567560 + v9)/4] = 655363; } - this->TT[ 0x568664 - 0x00567560] = 131078; + this->TT[ (0x568664 - 0x00567560)/4] = 131078; char *v10 = " \n\t\r"; - this->TT[ 0x5685F8 - 0x00567560] = -1; - this->TT[ 0x568668 - 0x00567560] = 393217; - this->TT[ 0x56862C - 0x00567560] = 131090; - this->TT[ 0x568970 - 0x00567560] = 131075; - this->TT[ 0x568570 - 0x00567560] = -1; + this->TT[ (0x5685F8 - 0x00567560)/4] = -1; + this->TT[ (0x568668 - 0x00567560)/4] = 393217; + this->TT[ (0x56862C - 0x00567560)/4] = 131090; + this->TT[ (0x568970 - 0x00567560)/4] = 131075; + this->TT[ (0x568570 - 0x00567560)/4] = -1; while ( 1 ) { char v11 = *v10; if ( !v11 ) break; - this->TT[ 0x568D78 - 0x00567560 + v11] = 655363; + this->TT[ (0x568D78 - 0x00567560 + v11)/4] = 655363; ++v10; } for ( char *m = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-:"; ; ++m ) @@ -173,19 +173,19 @@ namespace WXML char v13 = *m; if ( !v13 ) break; - this->TT[ 0x568D78 - 0x00567560 + v13] = 131077; + this->TT[ (0x568D78 - 0x00567560 + v13)/4] = 131077; } - this->TT[ 0x568E00 - 0x00567560] = 131077; + this->TT[ (0x568E00 - 0x00567560)/4] = 131077; char *v14 = " \n\t\r"; - this->TT[ 0x568E14 - 0x00567560] = 131081; - this->TT[ 0x568D78 - 0x00567560] = -1; - this->TT[ 0x569178 - 0x00567560] = -1; + this->TT[ (0x568E14 - 0x00567560)/4] = 131081; + this->TT[ (0x568D78 - 0x00567560)/4] = -1; + this->TT[ (0x569178 - 0x00567560)/4] = -1; while ( 1 ) { char v15 = *v14; if ( !v15 ) break; - this->TT[ 0x56816C - 0x00567560 + v15] = 524291; + this->TT[ (0x56816C - 0x00567560 + v15)/4] = 524291; ++v14; } for ( char* n = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-:"; ; ++n ) @@ -193,89 +193,89 @@ namespace WXML char v17 = *n; if ( !v17 ) break; - this->TT[ 0x56816C - 0x00567560 + v17] = 4; + this->TT[ (0x56816C - 0x00567560 + v17)/4] = 4; } for ( char* ii = "0123456789"; ; ++ii ) { char v19 = *ii; if ( !v19 ) break; - this->TT[ 0x56816C - 0x00567560 + v19] = -1; + this->TT[ (0x56816C - 0x00567560 + v19)/4] = -1; } - this->TT[ 0x56825C - 0x00567560] = -1; + this->TT[ (0x56825C - 0x00567560)/4] = -1; char *v20 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-:"; - this->TT[ 0x5681F4 - 0x00567560] = 5; - this->TT[ 0x568208 - 0x00567560] = 9; - this->TT[ 0x568228 - 0x00567560] = 18; - this->TT[ 0x568264 - 0x00567560] = 262145; - this->TT[ 0x568260 - 0x00567560] = 6; - this->TT[ 0x56816C - 0x00567560] = -1; - this->TT[ 0x56856C - 0x00567560] = -1; + this->TT[ (0x5681F4 - 0x00567560)/4] = 5; + this->TT[ (0x568208 - 0x00567560)/4] = 9; + this->TT[ (0x568228 - 0x00567560)/4] = 18; + this->TT[ (0x568264 - 0x00567560)/4] = 262145; + this->TT[ (0x568260 - 0x00567560)/4] = 6; + this->TT[ (0x56816C - 0x00567560)/4] = -1; + this->TT[ (0x56856C - 0x00567560)/4] = -1; while ( 1 ) { char v21 = *v20; if ( !v21 ) break; - this->TT[ 0x56BDA8 - 0x00567560 + v21] = 131076; + this->TT[ (0x56BDA8 - 0x00567560 + v21)/4] = 131076; ++v20; } - this->TT[ 0x56BEA0 - 0x00567560] = 262145; + this->TT[ (0x56BEA0 - 0x00567560)/4] = 262145; char *v22 = " \n\t\r"; - this->TT[ 0x56C1A8 - 0x00567560] = -1; - this->TT[ 0x568AE4 - 0x00567560] = 7; - this->TT[ 0x56899C - 0x00567560] = -1; - this->TT[ 0x56957C - 0x00567560] = 5; - this->TT[ 0x5691A4 - 0x00567560] = 655363; - this->TT[ 0x5689FC - 0x00567560] = 262147; - this->TT[ 0x568974 - 0x00567560] = -1; - this->TT[ 0x568D74 - 0x00567560] = 5; - this->TT[ 0x569AF4 - 0x00567560] = 10; - this->TT[ 0x5699AC - 0x00567560] = -1; - this->TT[ 0x56A188 - 0x00567560] = 9; - this->TT[ 0x569DB0 - 0x00567560] = 655363; - this->TT[ 0x569A20 - 0x00567560] = 262147; - this->TT[ 0x569984 - 0x00567560] = -1; - this->TT[ 0x569D84 - 0x00567560] = 9; - this->TT[ 0x56CF98 - 0x00567560] = 23; - this->TT[ 0x56D1B8 - 0x00567560] = 3145732; - this->TT[ 0x56D388 - 0x00567560] = 24; - this->TT[ 0x56D5BC - 0x00567560] = 3145732; + this->TT[ (0x56C1A8 - 0x00567560)/4] = -1; + this->TT[ (0x568AE4 - 0x00567560)/4] = 7; + this->TT[ (0x56899C - 0x00567560)/4] = -1; + this->TT[ (0x56957C - 0x00567560)/4] = 5; + this->TT[ (0x5691A4 - 0x00567560)/4] = 655363; + this->TT[ (0x5689FC - 0x00567560)/4] = 262147; + this->TT[ (0x568974 - 0x00567560)/4] = -1; + this->TT[ (0x568D74 - 0x00567560)/4] = 5; + this->TT[ (0x569AF4 - 0x00567560)/4] = 10; + this->TT[ (0x5699AC - 0x00567560)/4] = -1; + this->TT[ (0x56A188 - 0x00567560)/4] = 9; + this->TT[ (0x569DB0 - 0x00567560)/4] = 655363; + this->TT[ (0x569A20 - 0x00567560)/4] = 262147; + this->TT[ (0x569984 - 0x00567560)/4] = -1; + this->TT[ (0x569D84 - 0x00567560)/4] = 9; + this->TT[ (0x56CF98 - 0x00567560)/4] = 23; + this->TT[ (0x56D1B8 - 0x00567560)/4] = 3145732; + this->TT[ (0x56D388 - 0x00567560)/4] = 24; + this->TT[ (0x56D5BC - 0x00567560)/4] = 3145732; while ( 1 ) { char v23 = *v22; if ( !v23 ) break; - this->TT[ 0x56D5C0 - 0x00567560 + v23] = 25; + this->TT[ (0x56D5C0 - 0x00567560 + v23)/4] = 25; ++v22; } - this->TT[ 0x56D6B8 - 0x00567560] = 31; + this->TT[ (0x56D6B8 - 0x00567560)/4] = 31; char *v24 = " \n\t\r"; - this->TT[ 0x56D9C0 - 0x00567560] = 3145732; - this->TT[ 0x56DABC - 0x00567560] = 31; - this->TT[ 0x56DA80 - 0x00567560] = 32; - this->TT[ 0x56DDC4 - 0x00567560] = 25; - this->TT[ 0x56F6D8 - 0x00567560] = 262145; - this->TT[ 0x56F9E0 - 0x00567560] = 1048601; - this->TT[ 0x56F2CC - 0x00567560] = 131098; - this->TT[ 0x56F5DC - 0x00567560] = 31; - this->TT[ 0x56DE84 - 0x00567560] = 27; - this->TT[ 0x56E1C8 - 0x00567560] = 0x50001E + 1; - this->TT[ 0x56E3A8 - 0x00567560] = 28; - this->TT[ 0x56E5CC - 0x00567560] = 0x50001E + 1; - this->TT[ 0x56E7B0 - 0x00567560] = 29; - this->TT[ 0x56E9D0 - 0x00567560] = 0x50001E + 1; - this->TT[ 0x56EBA0 - 0x00567560] = 30; - this->TT[ 0x56EDD4 - 0x00567560] = 0x50001E + 1; + this->TT[ (0x56D9C0 - 0x00567560)/4] = 3145732; + this->TT[ (0x56DABC - 0x00567560)/4] = 31; + this->TT[ (0x56DA80 - 0x00567560)/4] = 32; + this->TT[ (0x56DDC4 - 0x00567560)/4] = 25; + this->TT[ (0x56F6D8 - 0x00567560)/4] = 262145; + this->TT[ (0x56F9E0 - 0x00567560)/4] = 1048601; + this->TT[ (0x56F2CC - 0x00567560)/4] = 131098; + this->TT[ (0x56F5DC - 0x00567560)/4] = 31; + this->TT[ (0x56DE84 - 0x00567560)/4] = 27; + this->TT[ (0x56E1C8 - 0x00567560)/4] = 0x50001E + 1; + this->TT[ (0x56E3A8 - 0x00567560)/4] = 28; + this->TT[ (0x56E5CC - 0x00567560)/4] = 0x50001E + 1; + this->TT[ (0x56E7B0 - 0x00567560)/4] = 29; + this->TT[ (0x56E9D0 - 0x00567560)/4] = 0x50001E + 1; + this->TT[ (0x56EBA0 - 0x00567560)/4] = 30; + this->TT[ (0x56EDD4 - 0x00567560)/4] = 0x50001E + 1; while ( 1 ) { char v25 = *v24; if ( !v25 ) break; - this->TT[ 0x56EDD8 - 0x00567560 + v25] = 30; + this->TT[ (0x56EDD8 - 0x00567560 + v25)/4] = 30; ++v24; } - this->TT[ 0x56EED0 - 0x00567560] = 524289; - this->TT[ 0x56F1D8 - 0x00567560] = -1; + this->TT[ (0x56EED0 - 0x00567560)/4] = 524289; + this->TT[ (0x56F1D8 - 0x00567560)/4] = -1; /* 0x00566560 1 - 1 @@ -285,11 +285,11 @@ namespace WXML 5 - 2 6 - 0 */ - this->STT[0x566564 - 0x00566560] = 1; - this->STT[0x566574 - 0x00566560] = 2; - this->STT[0x566584 - 0x00566560] = 2; - this->STT[0x5665DC - 0x00566560] = 3; - this->STT[0x5665E0 - 0x00566560] = 3; + this->STT[ (0x566564 - 0x00566560)/4] = 1; + this->STT[ (0x566574 - 0x00566560)/4] = 2; + this->STT[ (0x566584 - 0x00566560)/4] = 2; + this->STT[ (0x5665DC - 0x00566560)/4] = 3; + this->STT[ (0x5665E0 - 0x00566560)/4] = 3; } } int dword_567960[1000] = {0}; @@ -314,8 +314,8 @@ namespace WXML int v46; int v45; do{ - v46 = this->TT[257 * this->offset_24 + inputChar]; v45 = this->offset_24; + v46 = this->TT[257 * v45 + inputChar]; if (!v46) { v46 = dword_567960[257 * v45]; @@ -345,7 +345,7 @@ namespace WXML errorMessage = ss.str(); return; } - this->offset_24 = v46; + this->offset_24 = (uint16_t)v46; if (bittest(&v46, 0x15u)) // 0x15 -> 21 { // TODO: diff --git a/src/wxml/dom_lib/parser.cpp b/src/wxml/dom_lib/parser.cpp index 53cf037..26b289f 100644 --- a/src/wxml/dom_lib/parser.cpp +++ b/src/wxml/dom_lib/parser.cpp @@ -92,7 +92,8 @@ namespace WXML int ret = v15.GetTokens(this->tokenList, errorMessage, a6); if (!ret) { - std::shared_ptr domPtr; + std::shared_ptr domPtr(new WXML::DOMLib::WXMLDom()); + domPtr->offset_0 = "root"; this->dom = domPtr; dequeDom.push_back(domPtr); @@ -143,7 +144,6 @@ namespace WXML WXML::DOMLib::Token Parser::Peek() { - return tokenList[this->peekIndex]; } diff --git a/src/wxml/dom_lib/token.cpp b/src/wxml/dom_lib/token.cpp index fac99e6..27f09b3 100644 --- a/src/wxml/dom_lib/token.cpp +++ b/src/wxml/dom_lib/token.cpp @@ -19,17 +19,70 @@ namespace WXML { } - // Token::Token(std::string &content) - // { - // this->offset_0 = content; - // } + Token::Token(std::string &content) + { + this->offset_0 = content; + } - // Token::Token(WXML::DOMLib::Token&& token) - // { - // } - // Token::Token(WXML::DOMLib::Token const& token) - // { - // } + Token::Token(WXML::DOMLib::Token&& token): + offset_0(token.offset_0), + offset_8(token.offset_8), + offset_12(token.offset_12), + offset_16(token.offset_16), + offset_20(token.offset_20), + offset_28(token.offset_28), + offset_32(token.offset_32), + offset_40(token.offset_40), + offset_56(token.offset_56), + offset_60(token.offset_60), + offset_84(token.offset_84), + offset_88(token.offset_88) + { + } + Token::Token(WXML::DOMLib::Token const& token) + { + this->offset_0 = token.offset_0; + this->offset_8 = token.offset_8; + this->offset_12 = token.offset_12; + this->offset_16 = token.offset_16; + this->offset_20 = token.offset_20; + this->offset_28 = token.offset_28; + this->offset_32 = token.offset_32; + this->offset_56 = token.offset_56; + this->offset_60 = token.offset_60; + this->offset_84 = token.offset_84; + this->offset_88 = token.offset_88; + } + WXML::DOMLib::Token& Token::operator=(WXML::DOMLib::Token const& token) + { + this->offset_0 = token.offset_0; + this->offset_8 = token.offset_8; + this->offset_12 = token.offset_12; + this->offset_16 = token.offset_16; + this->offset_20 = token.offset_20; + this->offset_28 = token.offset_28; + this->offset_32 = token.offset_32; + this->offset_56 = token.offset_56; + this->offset_60 = token.offset_60; + this->offset_84 = token.offset_84; + this->offset_88 = token.offset_88; + return *this; + } + WXML::DOMLib::Token& Token::operator=(WXML::DOMLib::Token && token) + { + this->offset_0 = token.offset_0; + this->offset_8 = token.offset_8; + this->offset_12 = token.offset_12; + this->offset_16 = token.offset_16; + this->offset_20 = token.offset_20; + this->offset_28 = token.offset_28; + this->offset_32 = token.offset_32; + this->offset_56 = token.offset_56; + this->offset_60 = token.offset_60; + this->offset_84 = token.offset_84; + this->offset_88 = token.offset_88; + return *this; + } Token::~Token() { diff --git a/src/wxml/dom_lib/wxml_dom.cpp b/src/wxml/dom_lib/wxml_dom.cpp index 129daf3..65a4225 100644 --- a/src/wxml/dom_lib/wxml_dom.cpp +++ b/src/wxml/dom_lib/wxml_dom.cpp @@ -541,7 +541,7 @@ namespace WXML { { // pos: 搜索 -> !__stricmp((const char *)v161, "wx:scope-data") - WXML::DOMLib::Token token; + // WXML::DOMLib::Token token = this.; v324.emplace_back(j->first, j->second); } } @@ -557,11 +557,12 @@ namespace WXML { std::string v333 = v324[m].first.substr(0, 6u); if (v333 == "model:") { + std::string subStr = v324[m].first.substr(6u); ss << "\"model:"; - ss << v324[m].first.substr(6u) << "\"" << ":\""; + ss << subStr << "\"" << ":\""; ss << WXML::Rewrite::ToStringCode(v324[m].second.ToAttrContent()); ss << "\","; - std::string v336 = v324[m].first.substr(6u); + std::string v336 = subStr; // while (/* condition */) // { // /* code */