#ifndef __WXSS_H__ #define __WXSS_H__ #include #include #include #include #include namespace WXSS { std::string RemoveQuote(std::string const&); int NewLintAndParseCSSList(std::map const&, std::vector &, std::string&, std::string&, int, bool, std::string const&, std::string const&); int LintAndParseCSSList(std::map 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&); class Token { private: /* data */ public: Token(/* args */); ~Token(); std::string GetLiteral(void); }; namespace CSSTreeLib { class CSSSyntaxTree { private: /* data */ public: std::string offset_0; WXSS::Token offset_24; std::vector> offset_120; std::shared_ptr offset_140; CSSSyntaxTree(/* args */); ~CSSSyntaxTree(); void GetHostRule(std::string &); void Print2Stream(int, std::stringstream &); void RenderCode(std::string &,bool); }; class LexicalChecker { private: /* data */ public: LexicalChecker(/* args */); ~LexicalChecker(); void Init(); void Traval(std::shared_ptr &); void GetInstance(void); }; class Parser { private: /* data */ public: Parser(/* args */); ~Parser(); int Parse(std::string const&, std::string const&, std::string&, std::string const&); }; } // namespace CSSTreeLib class XCompiler { private: /* data */ public: int offset_0 = 0; int offset_4 = 0; std::string offset_8; std::map> offset_32; std::map> offset_56; std::map offset_136; XCompiler(/* args */); XCompiler(std::map const&, bool, std::string const&); ~XCompiler(); void DealRPX(std::string &, std::stringstream &); void GetHostRule(std::string &); void ShowTree(std::string &); void GetCompiled(std::string const&, std::string&); void GetJSCompiled(std::string const&, std::string&); void GetWellFormattedJSCompiled(std::string const&, std::string&); void GenExpr(std::shared_ptr, std::stringstream &, std::string &); int GetPageCss(std::string const&, std::string&, uint); void MarkImported(std::string const&); int GetCommHead(std::vector &, std::string&, bool, std::string const&); }; } // namespace WXSS #endif