feat: 添加一些方法

This commit is contained in:
msojocs 2023-08-06 20:11:11 +08:00
parent 4e5a379569
commit 349ff43767
3 changed files with 63 additions and 10 deletions

View File

@ -14,9 +14,11 @@ namespace WXSS
int NewLintAndParseCSSList(std::map<std::string,std::string> const&, std::vector<std::string> &, std::string&, std::string&, int, bool, std::string const&, std::string const&);
int LintAndParseCSSList(std::map<std::string,std::string> const&, std::string&, std::string&, std::string&, int, bool, bool, bool, std::string const&);
void LintAndParseCSS(std::string const&, std::string const&, std::string&, std::string&, bool, bool, bool, bool, std::string const&);
enum TokenType {
A,
};
// enum TokenType {
// A,
// };
using TokenType = int;
class Token
{
private:
@ -37,11 +39,7 @@ namespace WXSS
private:
/* data */
public:
struct STATE
{
/* data */
};
using STATE = int;
static int TT[26113];
static bool bInited;
std::string offset_0;
@ -53,6 +51,23 @@ namespace WXSS
void InitSubStrCheckingCaluseTable(void);
WXSS::TokenType TryGetAnotherTypeByAnySubStr(char const*, uint, WXSS::Tokenizer::STATE, WXSS::TokenType);
int GetTokens(std::vector<WXSS::Token> &, std::string &, int);
class SubStrCheckingClause
{
private:
/* data */
public:
static bool inited;
WXSS::Tokenizer::STATE offset_0;
int offset_4 = 0;
char offset_8[16];
WXSS::TokenType offset_24;
SubStrCheckingClause();
SubStrCheckingClause(WXSS::Tokenizer::STATE, char const*, WXSS::TokenType);
SubStrCheckingClause& operator=(SubStrCheckingClause const &);
};
static SubStrCheckingClause SCC[5];
};
namespace CSSTreeLib

View File

@ -275,10 +275,26 @@ namespace WXSS
}
}
bool WXSS::Tokenizer::SubStrCheckingClause::inited = false;
WXSS::Tokenizer::SubStrCheckingClause WXSS::Tokenizer::SCC[5];
void Tokenizer::InitSubStrCheckingCaluseTable()
{
if (!SubStrCheckingClause::inited)
{
SubStrCheckingClause::inited = true;
SubStrCheckingClause v1(9, "url", 9);
WXSS::Tokenizer::SCC[0] = v1;
SubStrCheckingClause v2(9, "rpx", 9);
WXSS::Tokenizer::SCC[1] = v2;
SubStrCheckingClause v3(10, "url", 9);
WXSS::Tokenizer::SCC[2] = v3;
SubStrCheckingClause v4(10, "rpx", 9);
WXSS::Tokenizer::SCC[3] = v4;
SubStrCheckingClause v5(0, "", 0);
WXSS::Tokenizer::SCC[4] = v5;
}
}
int Tokenizer::GetTokens(std::vector<WXSS::Token> & a2, std::string & a3, int a4)
{
// GetTokens - 0
@ -314,7 +330,7 @@ namespace WXSS
v10 = 0;
}
int v11 = this->TT[1024 * v4 + 2 * 10];
WXSS::TokenType AnotherTypeByAnySubStr = A;
// WXSS::TokenType AnotherTypeByAnySubStr;
// AnotherTypeByAnySubStr = this->TryGetAnotherTypeByAnySubStr(this->offset_0.data(), v47, v42, AnotherTypeByAnySubStr);
}
@ -329,4 +345,22 @@ namespace WXSS
a3 = v66.str();
return 0;
}
Tokenizer::SubStrCheckingClause::SubStrCheckingClause()
{
}
Tokenizer::SubStrCheckingClause::SubStrCheckingClause(WXSS::Tokenizer::STATE a2, char const* a3, WXSS::TokenType a4)
{
this->offset_0 = a2;
this->offset_4 = strlen(a3);
strcpy(this->offset_8, a3);
this->offset_24 = a4;
}
Tokenizer::SubStrCheckingClause& Tokenizer::SubStrCheckingClause::operator=(SubStrCheckingClause const & t)
{
this->offset_0 = t.offset_0;
this->offset_4 = t.offset_4;
memcpy(this->offset_8, t.offset_8, 16);
this->offset_24 = t.offset_24;
return *this;
}
}

View File

@ -12271,14 +12271,18 @@ int WXSS::Tokenizer::InitSubStrCheckingCaluseTable()
if ( !WXSS::Tokenizer::InitSubStrCheckingCaluseTable(void)::inited )
{
WXSS::Tokenizer::InitSubStrCheckingCaluseTable(void)::inited = 1;
// url
WXSS::Tokenizer::SubStrCheckingClause::SubStrCheckingClause(v1, 9, (char *)Source, 9);
qmemcpy(&WXSS::Tokenizer::SCC, v1, 0x1Cu);
// "rpx"
WXSS::Tokenizer::SubStrCheckingClause::SubStrCheckingClause(v1, 9, (char *)off_50F508, 9);
qmemcpy((char *)&WXSS::Tokenizer::SCC + 28, v1, 0x1Cu);
WXSS::Tokenizer::SubStrCheckingClause::SubStrCheckingClause(v1, 10, (char *)Source, 9);
qmemcpy((char *)&WXSS::Tokenizer::SCC + 56, v1, 0x1Cu);
// "rpx"
WXSS::Tokenizer::SubStrCheckingClause::SubStrCheckingClause(v1, 10, (char *)off_50F508, 9);
qmemcpy((char *)&WXSS::Tokenizer::SCC + 84, v1, 0x1Cu);
// "\0"
result = WXSS::Tokenizer::SubStrCheckingClause::SubStrCheckingClause(v1, 0, (char *)&byte_50F50C, 0);
qmemcpy((char *)&WXSS::Tokenizer::SCC + 112, v1, 0x1Cu);
}