skia2/tests/sksl
John Stiles 8d3642e200 Add checkpointing functionality to the Parser.
This allows us to roll the Parser back to an earlier state if we need
to do so. This includes:
- rewinding the lexer
- restoring the previous Pushback node
- backing out AST nodes
- backing out errors

This functionality is used to back out of parsing a vardecl if we
discover mid-stream that it is actually an expression statement that
coincidentally starts with the name of a type.

Change-Id: Ia5feb45019693931c1e6870e3ff7a5398924c863
Bug: skia:11198
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/356997
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-01-22 16:42:33 +00:00
..
blend Squelch Metal warnings about unused _globals/_out. 2021-01-22 13:48:49 +00:00
errors Enforce (valid) array sizes in many more places 2021-01-14 22:14:59 +00:00
folding Add checkpointing functionality to the Parser. 2021-01-22 16:42:33 +00:00
fp Update glsltype_string and type_to_grsltype to a complete set. 2021-01-20 14:35:15 +00:00
glsl Replace array indexing on vector types with swizzles. 2020-12-07 21:16:40 +00:00
inliner Reorder GLSL output so that functions are emitted last. 2021-01-15 23:15:46 +00:00
intrinsics Squelch Metal warnings about unused _globals/_out. 2021-01-22 13:48:49 +00:00
metal Squelch Metal warnings about unused _globals/_out. 2021-01-22 13:48:49 +00:00
runtime Reland "Support indexing by loop variables in SkVMGenerator" 2021-01-19 22:33:46 +00:00
runtime_errors Enforce ES2 limits on indexing expressions (in runtime effects) 2021-01-15 22:49:27 +00:00
shared Squelch Metal warnings about unused _globals/_out. 2021-01-22 13:48:49 +00:00
spirv Factor out SPIR-V typecasting helper functions. 2021-01-14 00:00:15 +00:00
workarounds Reorder GLSL output so that functions are emitted last. 2021-01-15 23:15:46 +00:00