feat: 完善一些函数

This commit is contained in:
msojocs 2023-08-17 22:17:34 +08:00
parent 06e7bdb22d
commit 8fd8fd8b7e
4 changed files with 49 additions and 18 deletions

View File

@ -134,7 +134,8 @@ namespace WXSS
std::vector<std::shared_ptr<CSSSyntaxTree>> offset_120;
bool offset_132; // 类型未确定,不是布尔值
std::shared_ptr<std::string> offset_140;
std::string offset_148;
std::shared_ptr<std::string[3]> offset_148;
std::shared_ptr<Token> offset_156;
int offset_164;
int offset_168;
int offset_172; // 类型未确定

View File

@ -94,7 +94,8 @@ namespace WXSS
auto cur = this->offset_120[i];
if (cur->offset_0 == "SELECTORS")
{
std::string v14 = this->offset_148.substr(2, this->offset_148.length() - 7);
auto v148 = this->offset_148.get();
std::string v14 = v148[0].substr(2, v148[0].length() - 7);
std::string v15 = WXML::Rewrite::ToStringCode2(v14);
v15.insert(0, "[is=\"");
v15.append("\"]");
@ -120,7 +121,8 @@ namespace WXSS
else
{
cur->RenderCode(a2, true);
std::string v14 = this->offset_148.substr(2, this->offset_148.length() - 7);
auto v148 = this->offset_148.get();
std::string v14 = v148[0].substr(2, v148[0].length() - 7);
auto v15 = WXML::Rewrite::ToStringCode2(v14);
v15.insert(0, "[is=\"");
v15.append("\"]");

View File

@ -48,6 +48,7 @@ namespace WXSS
// Parse - 10
std::shared_ptr<WXSS::CSSTreeLib::Base> v102(new WXSS::CSSTreeLib::Base());
v102->offset_0 = off_519B58;
v102->offset_4_str = "$";
v102->offset_28 = 1;
this->offset_8.push_back(v102);
@ -59,7 +60,9 @@ namespace WXSS
this->offset_8.push_back(v104);
// Parse - 15
// 一堆东西
std::shared_ptr<std::string[3]> v9(new std::string[3]());
std::shared_ptr<WXSS::Token> v14(new WXSS::Token());
v14->offset_4.reset(new std::string());
// Parse - 20
int v75 = 0;
@ -165,7 +168,11 @@ namespace WXSS
if (str[0] != '$' || str[1])
{
std::shared_ptr<WXSS::CSSTreeLib::CSSSyntaxTree> v82(new WXSS::CSSTreeLib::CSSSyntaxTree());
v82->offset_24 = cur;
v82->offset_148 = v9;
v82->offset_156 = v14;
v82->offset_164 = cur.offset_12;
v82->offset_168 = cur.offset_16 + cur.offset_12;
this->offset_48.push_back(v82);
}
}
@ -197,10 +204,10 @@ namespace WXSS
}
else
{
int stra = 1;
int stra = v116->offset_32;
std::shared_ptr<WXSS::CSSTreeLib::CSSSyntaxTree> lh(new WXSS::CSSTreeLib::CSSSyntaxTree());
std::shared_ptr<WXSS::CSSTreeLib::CSSSyntaxTree> v123(new WXSS::CSSTreeLib::CSSSyntaxTree());
// v123->offset_0.assign(v84->offset_4);
v123->offset_0.assign(v116->offset_4_str);
for (int j = 0; j < stra; j++)
{
if (this->offset_48.begin() == this->offset_48.end())
@ -209,15 +216,19 @@ namespace WXSS
return 1003;
}
auto v47 = this->offset_48.back();
// lb->offset_120.push_back(v47);
v123->offset_120.push_back(v47);
this->offset_48.pop_back();
}
if (stra > 0)
{
auto v48 = v123->offset_120;
auto v49 = v48[stra - 1];
v123->offset_164 = v49->offset_164;
v123->offset_168 = v49->offset_168;
v123->offset_148 = v9;
v123->offset_156 = v14;
}
int v76 = 1;
if (!v76)
if (!v116->offset_28)
{
if (v123->offset_120.begin() != v123->offset_120.end())
{

View File

@ -11262,7 +11262,7 @@ int __thiscall WXSS::CSSTreeLib::Parser::Parse(int this, char **a2, int *a3, uns
std::deque<zcc::shared_ptr<WXSS::CSSTreeLib::Base>>::push_back(this + 8, (int *)&v104);
// Parse - 15
v9 = operator new(0x48u); // 0x48 -> 72 = 24 * 3
v9 = operator new(0x48u); // 0x48 -> 72 = 24 * 3 std::string[3]
v106 = 0;
memset(v9, 0, 0x48u);
v107 = 0;
@ -11293,7 +11293,7 @@ int __thiscall WXSS::CSSTreeLib::Parser::Parse(int this, char **a2, int *a3, uns
// v10->offset_12
*((_DWORD *)v10 + 3) = v9;
v106 = v11;
v106 = v11; // = v112 = v9 = std::string[3]
v13 = v107;
v112 = (_DWORD *)v12;
v107 = v10;
@ -11366,7 +11366,10 @@ int __thiscall WXSS::CSSTreeLib::Parser::Parse(int this, char **a2, int *a3, uns
v111 = v19;
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v117);
v23 = v108;
// v108 - v14, v110 - v79
*(_DWORD *)(v108 + 4) = v110;
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=((volatile signed __int32 **)(v23 + 8), v111);
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(&v111);
v116 = 0;
@ -11481,23 +11484,37 @@ int __thiscall WXSS::CSSTreeLib::Parser::Parse(int this, char **a2, int *a3, uns
v83 = v135;
v28 = v135;
v29 = (volatile signed __int32 **)(v135 + 8);
// lpuexcpta -> cur
// v135->offset_24
v135[6] = *(_DWORD *)lpuexcpta;
v28[7] = *((_DWORD *)lpuexcpta + 1);
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(v29, *((volatile signed __int32 **)lpuexcpta + 2));
v83[9] = *((_DWORD *)lpuexcpta + 3);
// v83->offset_36 = cur->offset_12
v83[10] = *((_DWORD *)lpuexcpta + 4);
v83[11] = *((_DWORD *)lpuexcpta + 5);
v83[12] = *((_DWORD *)lpuexcpta + 6);
for ( i = 0; i != '@'/*64*/; ++i )
// v83->offset_48
for ( i = 0; i != 64; ++i ) // Token里面的
*((_BYTE *)v83 + i + 52) = *((_BYTE *)lpuexcpta + i + 28);
std::string::operator=((unsigned int **)v83, Str);
v31 = *((_DWORD *)lpuexcpta + 3);
v83[41] = v31;
// v83->offset_164
v83[42] = *((_DWORD *)lpuexcpta + 4) + v31;
v83[37] = v106;
// v83->offset_168
v83[37] = v106; // v9
// v83->offset_148
// v83->offset_152
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=((volatile signed __int32 **)v83 + 38, v107);
v20 = v83;
v83[39] = v108;
v83[39] = v108; // v14
// v83->offset_156
// v83->offset_160
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=((volatile signed __int32 **)v83 + 40, v109);
std::deque<zcc::shared_ptr<WXSS::CSSTreeLib::CSSSyntaxTree>>::push_back(this + 48, (int *)&v135);
v32 = &v136;
@ -11578,10 +11595,10 @@ int __thiscall WXSS::CSSTreeLib::Parser::Parse(int this, char **a2, int *a3, uns
// v123->offset_168
*((_DWORD *)lpuexcptb + 42) = *(_DWORD *)(v50 + 168);
// v123->offset_148
*((_DWORD *)lpuexcptb + 37) = v106;
*((_DWORD *)lpuexcptb + 37) = v106; // v9
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=((volatile signed __int32 **)lpuexcptb + 38, v107);
// v123->offset_156
*((_DWORD *)lpuexcptb + 39) = v108;
*((_DWORD *)lpuexcptb + 39) = v108; // v14
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=((volatile signed __int32 **)lpuexcptb + 40, v109);
}
if ( !v76 )