mirror of
https://github.com/msojocs/wx-compiler.git
synced 2025-07-19 00:00:04 +08:00
feat: 添加一些方法
This commit is contained in:
parent
4e5a379569
commit
349ff43767
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
@ -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);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user