f2d000328f
The Possible(Expression|Statement) classes were added at http://review.skia.org/375069. These classes were responsible for capturing `__builtin_FILE()` and `__builtin_LINE()` when an expression or statement was added to a hand-authored DSL program. This allowed errors to be reported on the C++ file/line where they were encountered. This was a good feature to have, when the plan was to author the majority of SkSL code via DSL. Later, IRNode positions were converted from an integer line number to SkSL Positions at http://review.skia.org/518137. This gave us range tracking, but at a high memory cost (16 bytes per IRNode, versus four bytes when we tracked line numbers only). Positions were reduced to 8 bytes at http://review.skia.org/521005 by removing the filename, which was only used for hand-authored DSL. (The size was pared all the way back to 4 bytes at http://review.skia.org/533699 by packing the data more efficiently.) __builtin_FILE/LINE capturing was removed entirely at http://review.skia.org/528366; the filename was discarded anyway and the line number didn't have a range and wasn't very meaningful without a filename. Also, it didn't matter very much since we no longer intended to hand-craft our programs in DSL. At this stage, DSLPossibleExpression stopped adding value and simply served to move Expressions around. Change-Id: I29ac33e08dcc1804cc0619c1e8856ba28ebcc51d Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542145 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Auto-Submit: John Stiles <johnstiles@google.com> |
||
---|---|---|
.. | ||
BUILD.bazel | ||
DSL.h | ||
DSLBlock.h | ||
DSLCase.h | ||
DSLCore.h | ||
DSLExpression.h | ||
DSLFunction.h | ||
DSLLayout.h | ||
DSLModifiers.h | ||
DSLStatement.h | ||
DSLSymbols.h | ||
DSLType.h | ||
DSLVar.h | ||
OWNERS | ||
SkSLDebugTrace.h | ||
SkSLErrorReporter.h | ||
SkSLOperator.h | ||
SkSLPosition.h | ||
SkSLVersion.h |