#include "../../include/wxss.h" namespace WXSS { namespace CSSTreeLib { LexicalChecker::LexicalChecker(/* args */) { } LexicalChecker::~LexicalChecker(/* args */) { } LexicalChecker* LexicalChecker::instance = NULL; std::mutex LexicalChecker::m; LexicalChecker* LexicalChecker::GetInstance(bool a2) { std::lock_guard lock(m); if (instance == NULL) { instance = new WXSS::CSSTreeLib::LexicalChecker(); instance->Init(a2); } return instance; } void LexicalChecker::Init(bool a3) { // Init - 0 if (!this->offset_0) { std::shared_ptr v3(new WXSS::CSSTreeLib::Rule()); std::shared_ptr v4(new WXSS::CSSTreeLib::Rule()); std::shared_ptr v5(new WXSS::CSSTreeLib::Rule()); // Init - 5 this->offset_4 = v5; auto v44 = &this->offset_4->offset_4_vecPtr; std::shared_ptr v57(new WXSS::CSSTreeLib::Rule()); v44->push_back(v57); v44->push_back(v3); std::shared_ptr v59(new WXSS::CSSTreeLib::Rule()); std::shared_ptr v61(new WXSS::CSSTreeLib::Rule()); // Init - 10 v61->offset_4_vecPtr.push_back(v59); if (a3) { std::shared_ptr v92(new WXSS::CSSTreeLib::Rule()); // off_519AA0 v61->offset_4_vecPtr.push_back(v92); } std::shared_ptr v63(new WXSS::CSSTreeLib::Rule()); // off_519A58 v61->offset_4_vecPtr.push_back(v63); v57->offset_4_vecPair.emplace_back("RULE", v61); // Init - 15 std::shared_ptr v65(new WXSS::CSSTreeLib::Rule()); // off_519B84 v57->offset_4_vecPair.emplace_back("MULTIRULE", v65); v65->offset_4_vecPair.emplace_back("RULES", this->offset_4); // Init - 20 std::shared_ptr v67(new WXSS::CSSTreeLib::Rule()); // off_519BB4 std::shared_ptr v69(new WXSS::CSSTreeLib::Rule()); // off_519B84 std::shared_ptr v71(new WXSS::CSSTreeLib::Rule()); // off_519AD0 v67->offset_4_vecPtr.push_back(v69); v67->offset_4_vecPtr.push_back(v71); v59->offset_4_vecPair.emplace_back("SELECTORS", v67); // Init - 25 std::shared_ptr v77(new WXSS::CSSTreeLib::Rule()); // off_519B84 v69->offset_4_vecPair.emplace_back("SELECTOR", v77); std::shared_ptr v79(new WXSS::CSSTreeLib::Rule()); // off_519B84 v77->offset_4_vecPair.emplace_back("$NAME", v79); // Init - 30 std::shared_ptr v81(new WXSS::CSSTreeLib::Rule()); // off_519B40 v69->offset_4_vecPair.emplace_back("F_SELECTOR", v81); std::shared_ptr v83(new WXSS::CSSTreeLib::Rule()); // off_519B84 std::shared_ptr v85(new WXSS::CSSTreeLib::Rule()); // off_519BCC // v85-> v81->offset_4_vecPtr.push_back(v83); v81->offset_4_vecPtr.push_back(v85); // Init - 35 std::shared_ptr v87(new WXSS::CSSTreeLib::Rule()); // off_519A88 v87->offset_4_vecStr.push_back("root"); v83->offset_4_vecPair.emplace_back("$NAME", v87); v77->offset_4_vecPair.emplace_back("SELECTOR", v77); // Init - 40 std::shared_ptr v73(new WXSS::CSSTreeLib::Rule()); // off_519BB4 v59->offset_4_vecPair.emplace_back("ATTRS", v73); std::shared_ptr v75(new WXSS::CSSTreeLib::Rule()); // off_519B84 v73->offset_4_vecPtr.push_back(v75); v73->offset_4_vecPtr.push_back(v3); std::shared_ptr v24(new WXSS::CSSTreeLib::Rule()); // off_519BB4 v75->offset_4_vecPair.emplace_back("ATTR", v24); // Init - 45 std::shared_ptr v25(new WXSS::CSSTreeLib::Rule()); // off_519B40 std::shared_ptr v26(new WXSS::CSSTreeLib::Rule()); // off_519B84 std::shared_ptr v27(new WXSS::CSSTreeLib::Rule()); // off_519AB8 v26->offset_4_vecPair.emplace_back("$ESV", v27); v25->offset_4_vecPtr.push_back(v26); if (a3) { std::shared_ptr v28(new WXSS::CSSTreeLib::Rule()); // off_519A70 v25->offset_4_vecPtr.push_back(v28); } v24->offset_4_vecPtr.push_back(v25); // Init - 50 std::shared_ptr v29(new WXSS::CSSTreeLib::Rule()); // off_519B84 std::shared_ptr v30(new WXSS::CSSTreeLib::Rule()); // off_519AE8 v29->offset_4_vecPair.emplace_back("$ESV", v29); v24->offset_4_vecPtr.push_back(v29); v24->offset_4_vecPtr.push_back(v3); // Init - 55 this->offset_0 = true; } } void LexicalChecker::Traval(std::shared_ptr & a2) { if (this->offset_0) { this->offset_4->offset_4_vecPtr.back()->offset_0(this->offset_4, a2); } } } } // namespace WXSS