skia2/tests/sksl/folding
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
..
golden Fix overzealous optimization of short-circuits. 2021-01-20 20:24:27 +00:00
BoolFolding.sksl Implement constant folding for (bool == bool) and (bool != bool). 2021-01-20 14:22:35 +00:00
FloatFolding.sksl Migrate constant folding tests into a separate directory. 2021-01-11 18:05:18 +00:00
IntFolding.sksl Update tests which mix int and float types without casts. 2021-01-13 19:47:13 +00:00
MatrixFolding.sksl Migrate constant folding tests into a separate directory. 2021-01-11 18:05:18 +00:00
ShortCircuitBoolFolding.sksl Add checkpointing functionality to the Parser. 2021-01-22 16:42:33 +00:00
VectorScalarFolding.sksl Update tests which mix int and float types without casts. 2021-01-13 19:47:13 +00:00
VectorVectorFolding.sksl Update tests which mix int and float types without casts. 2021-01-13 19:47:13 +00:00