Go to file
John Stiles 89b484aee3 Simplify parsing of for init-statements.
The existing logic was written before `varDeclarationsOrExpression-
Statement` existed. The new logic mirrors how this->statement() would
behave, except that it doesn't even try to parse keywords that can't be
used in an init-stmt (like do, if, switch, while, etc.)

Separately, I've tried just calling `this->statement()` directly, and it
does work, but it is too permissive--statements that can compile away
to a no-op (like `switch(0) {}`) suddenly become valid inside a for
init-statement. This is probably solvable but there's not much of a
reason to investigate further when the parser can catch these already.
DSL doesn't go through the parser, but we're willing to accept this
weak spot for DSL since it is always safe; either we catch and report
the error, or the code was meaningless and optimizes away to nothing.

Change-Id: I44779ec39b30cf958255534d3d5c5eb3d71d4023
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/398227
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-04-20 15:21:26 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bazel bazel baby steps 2020-09-14 15:18:32 +00:00
bench Use the word "precision" to describe "1/tolerance" for linearization 2021-04-19 17:38:35 +00:00
bin Fix Python3 compatibility 2021-03-25 14:15:35 +00:00
build/fuchsia [fuchsia] Fix fidlc command. 2020-06-10 03:29:24 +00:00
build_overrides Prepare for Dawn using Tint unconditionally. 2021-03-12 15:05:26 +00:00
client_utils/android Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
demos.skia.org Demo different sampling options 2021-04-14 19:17:57 +00:00
dm Make use of shareable promise images in tools 2021-03-30 14:25:55 +00:00
docker [infra] Fix index.d.ts copy in Wasm Docker build 2021-02-23 15:54:11 +00:00
docs/examples Must pass filtering to picture shader 2021-03-18 22:18:47 +00:00
example Reland "Remove use of legacy display globals." 2020-10-05 19:13:58 +00:00
experimental [canvaskit] Proof of Concept for Typescript-build structure 2021-04-09 19:01:49 +00:00
fuzz Runtime effects: Support input color as a parameter to main() 2021-04-13 21:55:18 +00:00
gm Remove custom SkVertices data and runtime effect varying support 2021-04-19 17:49:25 +00:00
gn Simplify for init-stmts at the IR level. 2021-04-20 14:38:36 +00:00
include Remove layout(marker) from runtime effect SkSL 2021-04-19 18:48:45 +00:00
infra Enable DAG reordering on all bots except one 2021-04-20 14:19:35 +00:00
modules Removing the staging flag for Google3 (SK_PARAGRAPH_ROUND_POSITION) 2021-04-19 19:01:54 +00:00
platform_tools [androidkit] Start sketching out Paint 2021-04-16 01:56:04 +00:00
resources Simplify for init-stmts at the IR level. 2021-04-20 14:38:36 +00:00
samplecode Remove layout(marker) from runtime effect SkSL 2021-04-19 18:48:45 +00:00
site Remove layout(marker) from runtime effect SkSL 2021-04-19 18:48:45 +00:00
specs Fix CanvasKit generated documentation to work with emscripten 1.39.16. 2020-05-27 12:23:32 +00:00
src Simplify parsing of for init-statements. 2021-04-20 15:21:26 +00:00
tests Simplify for init-stmts at the IR level. 2021-04-20 14:38:36 +00:00
third_party Roll skcms from 163066c2a041 to a638db877ef8 (1 revision) 2021-04-15 18:26:22 +00:00
tools Enable DAG reordering on all bots except one 2021-04-20 14:19:35 +00:00
.bazelignore bazel baby steps 2020-09-14 15:18:32 +00:00
.clang-format no more bin packing in .clang-format 2021-03-04 17:22:50 +00:00
.clang-tidy Disable ClangTidy namespace comments for short blocks. 2020-08-24 14:01:22 +00:00
.gitignore [sk] Add DEPS entry for "sk" tool 2021-04-09 14:21:37 +00:00
.gn Pre-emptive fix for upcoming ANGLE change. 2021-01-08 17:23:52 +00:00
AUTHORS Add UWP support 2021-02-10 19:04:42 +00:00
BUILD.bazel bazel baby steps 2020-09-14 15:18:32 +00:00
BUILD.gn Reland "Fix sk_app macOS raster window build conditions." 2021-04-19 18:25:44 +00:00
codereview.settings Make uploading to Gerrit the default for Skia 2016-11-09 19:07:56 +00:00
CONTRIBUTING Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
CQ_COMMITTERS Moved committer list to chrome-infra-auth and deleted it from the repo 2015-09-02 13:37:54 -07:00
DEPS Roll Chromium from 3e8dec5e7dff to f2c9d791993c (436 revisions) 2021-04-20 05:08:05 +00:00
DIR_METADATA Move metadata in OWNERS files to DIR_METADATA files 2021-02-02 23:41:54 +00:00
go.mod [infra] Roll infra dependency 2021-02-25 19:56:00 +00:00
go.sum [infra] Roll infra dependency 2021-02-25 19:56:00 +00:00
LICENSE LICENSE file: clean up 2019-11-22 21:59:03 +00:00
PRESUBMIT.py Display a Docs-Preview link for each modified MD file 2021-04-02 01:08:04 +00:00
public.bzl Remove NVPR 2021-03-19 12:26:38 +00:00
README Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
README.chromium Update README.chromium. 2015-06-11 13:19:24 -07:00
RELEASE_NOTES.txt Remove custom SkVertices data and runtime effect varying support 2021-04-19 17:49:25 +00:00
whitespace.txt Whitespace change to re-trigger Mac/iOS tests 2020-02-23 20:55:01 +00:00
WORKSPACE.bazel bazel baby steps 2020-09-14 15:18:32 +00:00

Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

See full details, and build instructions, at https://skia.org.