559b8552a8
Update the last known good component after a recompile reject back to the expected state before the recompile. Adds tests for expression compilation after recompile accept and recompile reject cases with `--target=dartdevc`. Similar to existing tests for the VM. Removes calls to `_generator.accept()` and `component.computeCanonicalNames()` from `compileExpressionToJs()`. These were added very early in the prototype implementation and it is no longer clear why they would be needed. Added some additional test cases for expression compilation involving import resolution because the change that originally added the `component.computeCanonicalNames()` call implies it was needed for that reason. See: https://dart-review.googlesource.com/c/sdk/+/138010 TEST=pkg/frontend_server/test/frontend_server_test.dart,pkg/dev_compiler/test/expression_compiler/expression_compiler_test.dart Change-Id: I9c04bd46e56b33dc654d00fb330de29c3c643a5b Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/434522 Reviewed-by: Alexander Markov <alexmarkov@google.com> Commit-Queue: Nicholas Shahan <nshahan@google.com> Reviewed-by: Nate Biggs <natebiggs@google.com> Reviewed-by: Jens Johansen <jensj@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.