f91050ca91
Initially this visitor will reject reloads (by throwing an Exception). Future changes will add the ability to record data about the delta to guide the JavaScript compilation decisions. - Rejects deltas that delete all const constructors from a class (making it non-const). - Adds ability to test the visitor directly by compiling components from source via an in-memory compiler. - Updates DDC frontend_server compiles to write errors to the output stream. Change-Id: Ib318f42d28367416983266a214f97821a38a2913 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/401600 Reviewed-by: Jens Johansen <jensj@google.com> Reviewed-by: Srujan Gaddam <srujzs@google.com> Reviewed-by: Mark Zhou <markzipan@google.com> Reviewed-by: Nate Biggs <natebiggs@google.com> Reviewed-by: Samuel Rawlins <srawlins@google.com> Commit-Queue: Nicholas Shahan <nshahan@google.com>
The frontend_server package is used by both the flutter command line tool and the frontend_server_client package (used by webdev and package:test).
API Stability
Changes to the command line API or behavior should be tested against the following test suites (in addition to normal HHH testing):
- flutter_tools: https://github.com/flutter/flutter/tree/master/packages/flutter_tools
- frontend_server_client: https://github.com/dart-lang/webdev/tree/master/frontend_server_client
Otherwise these changes will need to be carefully coordinated with the flutter tooling and frontend_server_client teams.
This API stability does not cover any of the source code APIs.
Stable subset
- The frontend_server kernel compilation and expression evaluation for kernel should be considered "stable".
- The frontend_server JavaScript compilation is semi-stable, but clients should anticipate coordinated breaking changes in the future.
- The frontend_server JavaScript expression evaluation is experimental and is expected to change significantly from Dec 2020 through the end of 2021.
- Specific flags may be added for experimentation and should not be considered stable.