* Roll dart to c688d0c0c3ad3dece3a79ce0e115d787a94707ea.
Changes since last roll:
```
c688d0c0c3 [frontend] When serializing compiled expression proc, clone type params first.
346895eb35 Choose the right platform in the command-line fasta tool in strong mode
51d530475a [frontend] Honor embedSourceText option in incremental compiler.
06792cb91f Remove StackListener.popList
69cd7cb43f [infra] Add compare_results.dart and update_flakiness.dart.
c3c4e63ce4 Adjusted spec to use package syntax, thus eliminating bnf.sty
0315707dec Add 'set' case to type_variable_conflict_test
00f2054242 Add --repeat flag to test.py, so tests can be run multiple times
cf5cdea808 Add J/K versions CommonElements and ElementEnvironment
1681241062 Remove _ClassEnsurer
a5b71813ab Use json expectation files in dynamic tests
d560887ae5 Fix TypeError in Observatory
867c5271be Debugging dart in methods with dynamic type arguments
2e3f17fa2b Add support for the new mixin syntax to supertype constraint checking and resynthesis.
929b2fbc55 Adjust status file to account for CustomIsolates test passing now.
f0974aee20 Remove entry_points option from the test harness (should fix the precompiler bot failure).
296e4aa7e6 Split mixin_declaration_inference_valid_classes_test.dart into multiple tests.
2c427d33fc Train the dartanalyzer on less source.
41273507b2 Detect references to instance variables without declared type.
a0776096b9 Cleanup some of the build rules to not use Dart 1 mode.
3463f94ed9 Delete any existing version of a DevFS file before overwriting the file
7763ec3cd1 Surface analyzer toplevel inference limitations as DDC errors.
a386c07281 [vm/aot] Add extra call specialization pass
878017481f Roll dart_style to 1.2.0.
a890d95a26 [vm/compiler] Avoid !(x>y) -> x<=y on fp operands.
bc79674bc1 [vm/aot] Fix inferred type of implicitly initialized final fields
7df4900a94 Train the dartanalyzer tool on generating summaries.
80c1b88626 Add copyright comments in resolution tests.
bbe49524be Cache mapping from subtypes names to files where they are subtyped.
cf67e402bd Add test case reproducing issues #34498 and #34500.
81ce969060 Enable implicit constructors with optional parameters in mixin applications.
cb331064e0 Compare AnalysisOptions signatures in analyzer_cli.
eb059a76f3 Keep analyzer-specific status entries together in language_2_analyzer.status
62ce86e20c Add --test-list and --repeat options to test.py, for deflaking
9e86c1a395 Normalize strong.status
3831da8743 Include all problems in expectations
a1bd50168e Make input validation optional
6fe272314d Tweak parameters of ProcessedOptions
0a5d7b866d Update status files after de984e58.
de984e58cb Type checking for redirecting factories.
4134b95a3d [vm/tfa] Streamline handling of tear-offs in TFA
d44ffba254 [vm/tfa] Stop accepting non-empty entry points json files
30f0026022 [VM runtime] Fix type test: C is a subtype of C<FutureOr> (fixes#34482).
bbe83465ea Test that type of the ListLiteral with two different enums is inferred.
37b41bd317 Update status files after d4148159cc39d3f38d8295cf79ed736c6337d7ac
d9fcaa33b1 Implement StreamTransformer.fromBind
abb392fc0d add Pubspec.dependencyOverrides
c733ed7fd7 firefix status for LayoutTests/fast/dom/Range/getClientRects-character_t01
d4148159cc Initial valid inference checks
dcabf2cb0e Test for mixin declaration isObject and tweaks for error verifier.
```
* Update license
The `dart_vm_entry_points.txt` file is now deprecated in favor of annotations.
Support for parsing and generating the entry-points files will be removed from Dart shortly.
This essentially reverts https://github.com/flutter/engine/pull/4197/
as no one is (or soon will be) implementing an alternative LayerBuilder.
Let's just put everything in SceneBuilder to reduce the YAGNI
(you aren't gonna need it) smell. This will also make retained rendering
API changes much easier.
- Switch core snapshot to Dart 2 and remove support for loading platform.dill.
- Remove support for loading script snapshots.
- Remove support for loading source.
- Remove settings and fix names to reflect the above.
- Remove support for loading the service isolate from source.
* Roll Dart to version 1be785ae2ddb1754a184cd638ab719e94d86b4e9
This rolls includes the following changes :
1be785ae2d Clean up some dead code
7b9fb893d2 [vm] Add a service method for 'invoke' as the dual to 'eval'.
099f1504fa Mention -O flag in CHANGELOG
79f69abace [vm/compiler] breakage fix: add missing break
96a1e9985f Fix the pkg bot
7818db20a7 Add analysis hint for invalid use of @visibleForTemplate code.
71d96019d1 [vm/compiler] Introduce 64-bit NEGATE - all archs.
5013a2ccc4 Remove spurious line.
ef2f777625 Mark some analyzer tests as being flaky
cf560fe17b Fix a couple of the tests failing on the analyzer with fasta parser bot
63c11693e6 [gardening] Fix language_2/type_variable_promotion_test.
d0f28884ff [VM] Fix expression evaluation implementation: Never register temporary/unused classes with the system.
e2a1807fc2 [gardening] Update status for io/compile_all_test in PRODUCT AOT mode
f7ff739448 Insert date of 2.0.0 release in Changelog
bcabad6014 [vm] Fix SIMARM64 build on Windows.
af02ccae83 [infra] Fix filesets for new vm-kernel-precomp builders
8e2f28e264 Update homebrew to drop the @2 tab and fix for 2.0
ba119d7292 [VM] Remove "$compiler == precompiler" sections from language_2_precompiler.status
f3a2c0e28f [release] Prepare changelog for 2.1.0-dev.0.0
88cba7d860 [vm/kernel/bytecode] Fix arguments descriptor for List._fromLiteral call in bytecode
bd45ec0c4b [vm, gc] Refactor PageSpace::CollectGarbage to ensure the safepoint and task count remain well-scoped even with early exits.
8195fd8c64 Repair dart2js/string_interpolation_test
a0b335ac6c Try no implicit casts in pkg/analyzer_cli.
3d25d3761b Update pub - leave packages directories alone
327db5e9ab [vm] Fix kernel_isolate use_field_guard flag for kbc
a1ca88f554 Resolve invocation arguments to parameters.
* Address source format error.
The behavior of acquire+release annotation handling has changed in
https://reviews.llvm.org/D49355 which breaks the build with the new
Clang. However, as has been pointed out, the acquire+release isn't
the right way to prevent double locking as the annotations negate
each other; the correct way is to use excludes or negative requires.
Using excludes annotations also requires using std::lock_guard instead
of std::unique_lock because the latter doesn't have the thread
annotations due to deferred locking which is not needed in Flutter and
so std::lock_guard is a sufficient alternative.
Instead, send them with the new unknown PointerDeviceKind.
We hit this when running `adb shell input tap` in tests which sends events with
an unknown tool type.
This also fills in a missing conversion for TOOL_TYPE_ERASER.
This fixes issue with compilation trace buffer getting released upon return from VM code to Dart code, before it gets change to save to a file in natives.dart saveCompilationTrace().
This reverts commit dfa02e5881f31bd75736d3b7bc2a21dc954d5c84.
Reason for revert: need to fix several things including the framework test in order to unblock the engine roll.
TBR: @matthew-carroll
For consistency with the rest of dart:ui, check required parameters with
assert(param != null) rather than throwing ArgumentError. ArgumentError
is typically reserved for checking the validity of non-null args -- e.g.
that a list has the required number of elements.