diff options
Diffstat (limited to 'src/sksl/SkSLParser.h')
-rw-r--r-- | src/sksl/SkSLParser.h | 47 |
1 files changed, 2 insertions, 45 deletions
diff --git a/src/sksl/SkSLParser.h b/src/sksl/SkSLParser.h index e52eaf9533..f067c48be9 100644 --- a/src/sksl/SkSLParser.h +++ b/src/sksl/SkSLParser.h @@ -15,6 +15,7 @@ #include "SkSLErrorReporter.h" #include "ir/SkSLLayout.h" #include "SkSLLexer.h" +#include "SkSLLayoutLexer.h" struct yy_buffer_state; #define YY_TYPEDEF_YY_BUFFER_STATE @@ -51,47 +52,6 @@ class SymbolTable; */ class Parser { public: - enum class LayoutToken { - LOCATION, - OFFSET, - BINDING, - INDEX, - SET, - BUILTIN, - INPUT_ATTACHMENT_INDEX, - ORIGIN_UPPER_LEFT, - OVERRIDE_COVERAGE, - BLEND_SUPPORT_ALL_EQUATIONS, - BLEND_SUPPORT_MULTIPLY, - BLEND_SUPPORT_SCREEN, - BLEND_SUPPORT_OVERLAY, - BLEND_SUPPORT_DARKEN, - BLEND_SUPPORT_LIGHTEN, - BLEND_SUPPORT_COLORDODGE, - BLEND_SUPPORT_COLORBURN, - BLEND_SUPPORT_HARDLIGHT, - BLEND_SUPPORT_SOFTLIGHT, - BLEND_SUPPORT_DIFFERENCE, - BLEND_SUPPORT_EXCLUSION, - BLEND_SUPPORT_HSL_HUE, - BLEND_SUPPORT_HSL_SATURATION, - BLEND_SUPPORT_HSL_COLOR, - BLEND_SUPPORT_HSL_LUMINOSITY, - PUSH_CONSTANT, - POINTS, - LINES, - LINE_STRIP, - LINES_ADJACENCY, - TRIANGLES, - TRIANGLE_STRIP, - TRIANGLES_ADJACENCY, - MAX_VERTICES, - INVOCATIONS, - WHEN, - KEY, - CTYPE - }; - Parser(const char* text, size_t length, SymbolTable& types, ErrorReporter& errors); /** @@ -106,8 +66,6 @@ public: Position position(Token token); private: - static void InitLayoutMap(); - /** * Return the next token, including whitespace tokens, from the parse stream. */ @@ -272,10 +230,9 @@ private: bool identifier(StringFragment* dest); - static std::unordered_map<String, LayoutToken> layoutTokens; - const char* fText; Lexer fLexer; + LayoutLexer fLayoutLexer; YY_BUFFER_STATE fBuffer; // current parse depth, used to enforce a recursion limit to try to keep us from overflowing the // stack on pathological inputs |