This adds support for BabelJS to test.py's dart2js compiler
configuration. When --babel is specified directly or through a named
configuration, test.py will run an additional step after dart2js that
post-processes the javascript output by running it through BabelJS with
the specified Babel configuration. BabelJS is added to the DEPS in its
standalone form. d8 is used to run BabelJS standalone to avoid adding
a dependency on NodeJS. d8 can only write to stdout but not to files or
stderr, which makes it necessary to change the test_runner to handle
commands that expect their output to be piped to a file.
Changes:
* Add --babel option to test.py.
* Add babel option to pkg/smith.
* Switch IE11 builder to use babel transformation.
* Fix option list comparison bugs in pkg/smith.
* Change dart2js compiler configuration to generate files using the
test name rather than just "out.js" (update test that relied on this).
* Remove runtime_configuration dependency on test_suite.
* Remove obsolete blocks adding --preview-dart-2 dart2js arguments.
* Make dart2js' compiler configuration more like DDC's.
* Remove createCommand method that is no longer used.
* Remove support for "OtherResources" which was only used for
dart:isolate tests on dart2js and DDC.
* Skip co19_2 tests that are slow to transform with babel.
* Simplify the timeout handling in the test runner with Future.timeout.
Change-Id: I32e4917b2a57ecbe684538e40d744f0101c552a0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/90402
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Rename old "Pub client" headline for consistency with older entries
Add headline for linter in CHANGELOG.md
Change-Id: I118127a6aab564f5d498441f30957e8851e69d6c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103527
Reviewed-by: Sigurd Meldgaard <sigurdm@google.com>
This also bumps the protobuf version.
Change-Id: I3e2d4f8fddcac5f7ac213fbad5a36804d917e34c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101296
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
This is useful for downstream projects which automatically update their DEPS based on dart DEPS.
Change-Id: I3275e53de9e0e0d46a67e3fe5c2868b8c12f851c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100790
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
This work pulls in v8 support for these features with
appropriate changes for Dart and closes
https://github.com/dart-lang/sdk/issues/34935.
This adds support for the following features:
* Interpreting patterns as Unicode patterns instead of
BMP patterns
* the dotAll flag (`/s`) for changing the behavior
of '.' to also match line terminators
* Escapes for character classes described by Unicode
property groups (e.g., \p{Greek} to match all Greek
characters, or \P{Greek} for all non-Greek characters).
The following TC39 proposals describe some of the added features:
* https://github.com/tc39/proposal-regexp-dotall-flag
* https://github.com/tc39/proposal-regexp-unicode-property-escapes
These additional changes are included:
* Extends named capture group names to include the full
range of identifier characters supported by ECMAScript,
not just ASCII.
* Changing the RegExp interface to return RegExpMatch
objects, not Match objects, so that downcasting is
not necessary to use named capture groups from Dart
**Note**: The changes to the RegExp interface are a
breaking change for implementers of the RegExp interface.
Current users of the RegExp interface (i.e., code using Dart
RegExp objects) will not be affected.
Change-Id: Ie62e6082a0e2fedc1680ef2576ce0c6db80fc19a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100641
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Stevie Strickland <sstrickl@google.com>
This reverts commit 5ebb640a67.
Reason for revert: <INSERT REASONING HERE>
Original change's description:
> [vm] Finish adding support for ECMAScript 2018 features.
>
> This work pulls in v8 support for these features with
> appropriate changes for Dart and closes
> https://github.com/dart-lang/sdk/issues/34935.
>
> This adds support for the following features:
>
> * Interpreting patterns as Unicode patterns instead of
> BMP patterns
> * the dotAll flag (`/s`) for changing the behavior
> of '.' to also match line terminators
> * Escapes for character classes described by Unicode
> property groups (e.g., \p{Greek} to match all Greek
> characters, or \P{Greek} for all non-Greek characters).
>
> The following TC39 proposals describe some of the added features:
>
> * https://github.com/tc39/proposal-regexp-dotall-flag
> * https://github.com/tc39/proposal-regexp-unicode-property-escapes
>
> These additional changes are included:
>
> * Extends named capture group names to include the full
> range of identifier characters supported by ECMAScript,
> not just ASCII.
> * Changing the RegExp interface to return RegExpMatch
> objects, not Match objects, so that downcasting is
> not necessary to use named capture groups from Dart
>
> **Note**: The changes to the RegExp interface are a
> breaking change for implementers of the RegExp interface.
> Current users of the RegExp interface (i.e., code using Dart
> RegExp objects) will not be affected.
>
> Change-Id: I0709ed0a8d5db36680e32bbad585594857b9ace4
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95651
> Commit-Queue: Stevie Strickland <sstrickl@google.com>
> Reviewed-by: Johnni Winther <johnniwinther@google.com>
> Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
> Reviewed-by: Martin Kustermann <kustermann@google.com>
TBR=lrn@google.com,kustermann@google.com,jmesserly@google.com,johnniwinther@google.com,sstrickl@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: I1eda0fee4fd9e94df095944049833a67b07277e2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100560
Reviewed-by: Keerti Parthasarathy <keertip@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Keerti Parthasarathy <keertip@google.com>
This work pulls in v8 support for these features with
appropriate changes for Dart and closes
https://github.com/dart-lang/sdk/issues/34935.
This adds support for the following features:
* Interpreting patterns as Unicode patterns instead of
BMP patterns
* the dotAll flag (`/s`) for changing the behavior
of '.' to also match line terminators
* Escapes for character classes described by Unicode
property groups (e.g., \p{Greek} to match all Greek
characters, or \P{Greek} for all non-Greek characters).
The following TC39 proposals describe some of the added features:
* https://github.com/tc39/proposal-regexp-dotall-flag
* https://github.com/tc39/proposal-regexp-unicode-property-escapes
These additional changes are included:
* Extends named capture group names to include the full
range of identifier characters supported by ECMAScript,
not just ASCII.
* Changing the RegExp interface to return RegExpMatch
objects, not Match objects, so that downcasting is
not necessary to use named capture groups from Dart
**Note**: The changes to the RegExp interface are a
breaking change for implementers of the RegExp interface.
Current users of the RegExp interface (i.e., code using Dart
RegExp objects) will not be affected.
Change-Id: I0709ed0a8d5db36680e32bbad585594857b9ace4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95651
Commit-Queue: Stevie Strickland <sstrickl@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Change-Id: Ia67e81b3b18ee6de560acf518059849e1953f6f9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99541
Reviewed-by: Kevin Moore <kevmoo@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Change-Id: I8b44dfc5d59439ac4c635c3dfa15bda020e9bd57
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98722
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Change-Id: I1f1f86ec56d34c32d574f4862578d8a7888b6ac9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96903
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
Auto-Submit: Alexander Thomas <athom@google.com>
The test repo was split into 3 sub-packages
Change-Id: I2b24a998d590c4a3edeb4a6b18d511f361cb82be
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98262
Commit-Queue: Nate Bosch <nbosch@google.com>
Reviewed-by: Kevin Moore <kevmoo@google.com>
Change-Id: I46dc2651c4ec7312050644f516a4c1d644cbd09a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99182
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Kevin Moore <kevmoo@google.com>
This just has one change, a fix to how adjacent strings inside "=>"
functions are indented.
Change-Id: I457ea308101be9fb5acc4257e47360635a2b97e0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98746
Commit-Queue: Kevin Moore <kevmoo@google.com>
Reviewed-by: Kevin Moore <kevmoo@google.com>
Change-Id: I82036fa3babc65ffa96f56309b073dd72f07c6f6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98695
Commit-Queue: Kevin Moore <kevmoo@google.com>
Reviewed-by: Kevin Moore <kevmoo@google.com>
Change-Id: I2d89f85878d7ed676f70dda8e63eb24b45b0c418
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98442
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Rolls the version of co19 tests in the SDK checkout to
c3b33ee90c5ee7f88fdb0ead08fdbb40c54954d2
Change-Id: I11a181e2fb1e37ff73fb038cd51b3ad38e2a0ae9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98344
Reviewed-by: Jonas Termansen <sortie@google.com>
This reverts commit 611a53ee5e.
Reason for revert: Depends on changes not in the dev branch, will have to retry next week.
Original change's description:
> Update dart_style to 1.2.5.
>
> Change-Id: I8e4949da4fb4c67ee81553ffc9af4609c2e8b83a
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98281
> Commit-Queue: Alexander Thomas <athom@google.com>
> Reviewed-by: Kevin Moore <kevmoo@google.com>
TBR=kevmoo@google.com,rnystrom@google.com,athom@google.com
Change-Id: Ic749658f82bdebfc930d81847e1efcfc45bacc48
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98342
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
Change-Id: I8e4949da4fb4c67ee81553ffc9af4609c2e8b83a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98281
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: Kevin Moore <kevmoo@google.com>
TBR=whesse@google.com
Change-Id: I222bb6d0fbed9251afcf7d778ef8a42d1917646f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97101
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
This currently doesn't do anything because ABI_VERSION == OLDEST_SUPPORTED_ABI_VERSION, so there are no versions to download.
Bug: https://github.com/dart-lang/sdk/issues/36047
Change-Id: I5616151dd9dc407d918cbfe9044354f3a41a2e1f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95300
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Liam Appelbe <liama@google.com>
There was a stray 0.13.3+3 tag committed two years ago, that some builders
had in their cache, so they were not picking up a new 0.13.3+3 tag created
days ago. No tag may ever be changed or reused in our dependencies. The 0.13.4
tag was created against a repo with pubspec version 0.13.4-dev, which was also
wrong, so we needed a fixed, released 0.13.4+1 version.
Change-Id: I868db93df13d4a24ff30bb49fcb190151ab53036
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95240
Reviewed-by: William Hesse <whesse@google.com>
Fixes#36072
Change-Id: I1abc4dd293ac15327f458d0f0676067bf57c0a39
Reviewed-on: https://dart-review.googlesource.com/c/95181
Commit-Queue: Alexander Thomas <athom@google.com>
Commit-Queue: William Hesse <whesse@google.com>
Auto-Submit: Alexander Thomas <athom@google.com>
Reviewed-by: William Hesse <whesse@google.com>
The 7zip dependency is only used on Windows. Use gclient's OS-specific
hook feature to only download it while on Windows. This avoids the
download from google cloud storage from needlessly saying it is doing
nothing.
There's no reason to point out the sysroot is already up to date as this
makes gclient output several lines of text with zero information.
Change-Id: Id1c212c8a951612c413e9834867fe90f6dca6a20
Reviewed-on: https://dart-review.googlesource.com/c/94752
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Jonas Termansen <sortie@google.com>
Change-Id: I18b8268e7ad5c211f83f323957440e29b50ec0d7
Reviewed-on: https://dart-review.googlesource.com/c/94805
Commit-Queue: Alexander Thomas <athom@google.com>
Auto-Submit: Kevin Moore <kevmoo@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
```
git log --oneline --no-decorate 980fc947db32bca6ae7d07fbb4ad0fcdba0050ec..3c060aae47985e9a248b850f1d0450304a5c97e3
3c060aae Usage: pub global activate <package> [version-constraint] (#2051)
93783b60 Improve the error when encountering a non-local package with a path dep
2b4056b0 Lint tweaks for Dart 2.2
135e10af Update last modified date directly in `touch` (#2014)
```
No relevant changes for the changelog
Bug: https://github.com/dart-lang/sdk/issues/36026
Change-Id: I2dcaad614f5fbd511712d4713c7b008d7ff710f1
Reviewed-on: https://dart-review.googlesource.com/c/94744
Reviewed-by: Jonas Jensen <jonasfj@google.com>
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
New in this update:
```
git log --oneline --no-decorate 9f00679ef47bc79cadc18e143720ade6c06c0100..980fc947db32bca6ae7d07fbb4ad0fcdba0050ec
980fc947 Add support for global activating package from a custom pub URL (#2041)
605cafb1 "features" is not a completely implemented or documented – hide flags (#2045)
73b66cd3 Merge pull request #2035 from sigurdm/logout_command
2b03587d dartfmt again
ea805dfb Fix help-expectation
6f759c1f gitfmt
90079421 deps: move package_resolver to a dev dependency
297f017a enable and fix a number of lints
f70ee39b Update to latest dependencies, require dart 2.1, fix lints
3446fb0d Add logout command
283471e7 Merge pull request #2016 from RedBrogdon/changelog
4c00f413 Update/add www.dartlang.org URLs (#2021)
f7b147f9 Correcting nerfed changelog test.
b9308223 Edited warning messages, addressed review issues.
9e9c8ed7 Fixed race conditions in test case. (#2020)
ec972168 Removed references to gitsubmodules (#2019)
ac8ad792 Copyright dates.
f9d35d34 Formatted via dartfmt.
a3351369 Adding ChangelogValidator to the list of validators.
a826b121 Adds changelog validator and its tests.
2233e3d5 Update the required pkg:http (#1996)
75d8453a Update all of the obvious dependencies
d07dafa5 Fix unnecessary `this` lints
43a91d12 Update to latest build_runner (#1966)
b3a2cfb7 Add check for a scheme on PUB_HOSTED_URL (#1972)
6626bda3 Update tests for SDK constraint validation (#1968)
```
Change-Id: Ib7c5ec86e5a6d67094b8e70a32ff41efe571c074
Reviewed-on: https://dart-review.googlesource.com/c/94380
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
Reviewed-by: Jonas Jensen <jonasfj@google.com>
The large application is from an internal customer.
Change-Id: I670180a85ca402a34f99493d05de0124f8f89701
Reviewed-on: https://dart-review.googlesource.com/c/94296
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
We continue to accept `--dump-info`, but now also accept `--dump-info=binary` so
we can use the new cheaper encoding.
Change-Id: I971cb9a3634ae1a333cfee14b2927c0e25000a01
Reviewed-on: https://dart-review.googlesource.com/c/93823
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
The Set literals support in 0.1.82 looks good for Flutter after a test migration
(https://github.com/flutter/flutter/pull/27811).
flutter-analyze-try is meant to break but only flag legitimate opportunities to migrate (validated in PR above).
Change-Id: Ie63d00cd006a96cd7f2df44b82ff8a82cf73b6bc
Reviewed-on: https://dart-review.googlesource.com/c/92761
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
* updated `prefer_collection_literals` to support Set literals
* deprecated `super_goes_last`
* (internal) migrations to analyzer's preferred `InheritanceManager2` API
Change-Id: I9491c2128dd0360cd1d768242c3d1aac10687d08
Reviewed-on: https://dart-review.googlesource.com/c/92406
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
pkg:platform is no longer useds. process and file were only needed by platform
pkg:func is no longer used
Also removed non-existent entries in .packages
Change-Id: I927856efa0f6fc49676885616c3ecd5183250454
Reviewed-on: https://dart-review.googlesource.com/c/91101
Commit-Queue: Kevin Moore <kevmoo@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Change-Id: Id353fa11a8f86415569a505ef5ecd7bf03fb51e1
Reviewed-on: https://dart-review.googlesource.com/c/90487
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
This allows developers to have more fine grained control over socket
options supported by their platforms, particularly when there is not a
nice way to encapsulate differences between IPv4 and IPv6 options (as
with IP_MULTICAST_IF and IPV6_MULTICAST_IF). It also begins the work
of exposing socket level and option values, although keeping it for now
only to a minimum necessary to assist with setting the multicast
interface for datagram sockets.
This CL also marks `multicastInterface` as deprecated.
Bug: https://github.com/dart-lang/sdk/issues/17057
Change-Id: I39b3bf3d32d39de1c777acea4425d6eb2226355d
Reviewed-on: https://dart-review.googlesource.com/c/89164
Commit-Queue: Zach Anderson <zra@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
Change-Id: Id4f4b664b58d10d1a7325923cd5fb42481ce7c66
Reviewed-on: https://dart-review.googlesource.com/c/87968
Commit-Queue: William Hesse <whesse@google.com>
Commit-Queue: Jonas Termansen <sortie@google.com>
Auto-Submit: William Hesse <whesse@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
* `unnecessary_parenthesis` updated to allow wrapping a `!` argument
* miscellaneous documentation grammar and spelling fixes
* improved error messages for `always_declare_return_types`
* fix `prefer_final_fields ` to work with classes that have generic type arguments
* (internal): deprecated code cleanup
* fixed false positives in `unrelated_type_equality_checks`
Change-Id: I375a70aa86d5816881ea5d8faac65e5c3e72c80b
Reviewed-on: https://dart-review.googlesource.com/c/87422
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Was needed for pkg:dartdoc, but that dependency has been removed
Change-Id: I2d314f8400e3ea5d905864e8728384dd3dc86800
Reviewed-on: https://dart-review.googlesource.com/c/87263
Reviewed-by: Janice Collins <jcollins@google.com>
Change-Id: I101eae9189848a699e4b186f363d9a684d7b2d02
Reviewed-on: https://dart-review.googlesource.com/c/85703
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
This adds support for set literals. It doesn't change any other
formatting, so it should be safe to land this without rebuilding the
checked-in SDK.
Change-Id: I7be9802b0ce81f32fd1023cd0ed08995ed8203cb
Reviewed-on: https://dart-review.googlesource.com/c/86581
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
(note that https://github.com/dart-lang/linter/pull/1296 needs to land first and 0.1.75 tagged in GH)
Change-Id: Icf022f60c1b2f6cf2371ea24036649ac4df1b1d5
Reviewed-on: https://dart-review.googlesource.com/c/86081
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
There are no formatting changes, so this is safe to do without also
updating the pre-built SDK.
Change-Id: I78c961acc181bb8d4456dc49fecf485d33a93582
Reviewed-on: https://dart-review.googlesource.com/c/85820
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
We no longer rely on Fuchsia's buildtools, instead we directly fetch
Clang and GN packages from CIPD using gclient support.
Change-Id: I8995d89babf9c3c6b30214a1133e7b0a1cb9a796
Reviewed-on: https://dart-review.googlesource.com/c/85416
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
This reverts commit ad69aaef62.
Reason for revert: <INSERT REASONING HERE>
Original change's description:
> Reland: [infra] Roll buildtools to c72a1c5aadde06505b7bb4641720880f3db28ff9
>
> Tries to work around update.py race by setting up symlinks for 'git cl format'
> instead of copying.
>
> Change-Id: I4ed9b99254803feea5ea0e8d30db23fc982e9562
> Reviewed-on: https://dart-review.googlesource.com/c/85427
> Reviewed-by: Ryan Macnak <rmacnak@google.com>
> Commit-Queue: Zach Anderson <zra@google.com>
TBR=rmacnak@google.com,zra@google.com
Change-Id: Ida584adda37cd3e2dac16654eb1e81e92f123f88
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/85467
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
Tries to work around update.py race by setting up symlinks for 'git cl format'
instead of copying.
Change-Id: I4ed9b99254803feea5ea0e8d30db23fc982e9562
Reviewed-on: https://dart-review.googlesource.com/c/85427
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
Change-Id: I718a5d70874e7090cb42f1d452cd8dcf020d337e
Reviewed-on: https://dart-review.googlesource.com/c/84631
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>