Commit Graph

6018 Commits

Author SHA1 Message Date
Jens Johansen 1c9ba99278 [CFE] Speed up leak test
On my workstation running the "weekly leak test" (from
https://dart-review.googlesource.com/c/sdk/+/157962) goes from taking
~3.5 hours to taking slightly under 3 hours.

Change-Id: Ifa5a8809e3a0ef6884251d84811d6c8d655f0059
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/158300
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2020-08-12 12:54:24 +00:00
Johnni Winther d98aa34388 [cfe] Cache field class members
Change-Id: I43e2ac785d361649420e47a6302a74b93a71a67b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/158011
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-08-11 13:55:59 +00:00
Jens Johansen 13de7e7560 [CFE] Add first stab at weekly leak test
Change-Id: Ib0307a4d82414e8387f65a9010a6f0f91827c3bb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157962
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-08-11 09:01:29 +00:00
Johnni Winther 65e48e423a [cfe] Add a member signature origin to member signatures
Adds a member signature origin to member signatures and includes
an additional reference to these in MethodInvocation, PropertyGet,
PropertySet, etc.

This enables the VM to bypass the member signatures when loading the
AST.

Change-Id: I5cae11f4434bc052d0ba0acf0670dd002c6f3df1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157498
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-08-11 08:16:59 +00:00
Jens Johansen 4c0cab024e [parser] No longer support ?.[ syntax
Update CFE tests (and a few analyzer tests) to match the new world
of the syntax being unsupported.

Fixes https://github.com/dart-lang/sdk/issues/42681

Change-Id: I71bc973f36dfb978ddb825edb68530d8e260a58a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157980
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-08-11 08:09:59 +00:00
Johnni Winther 9a2a3aae14 [front-end] fix bug in BodyBuilder
https://github.com/dart-lang/sdk/issues/42997

@mraleph

> Also, how to construct tests that generate AmbiguousBuilder and catch error?

Closes https://github.com/dart-lang/sdk/pull/42998
https://github.com/dart-lang/sdk/pull/42998

GitOrigin-RevId: be1aae61495cabcb1a7e8cffff47c18574f97d2e
Change-Id: Icdfb8f5acf7db8475a9500596b995354d2e83b3a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157941
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-08-11 07:26:02 +00:00
Johnni Winther 3059f64647 [cfe] Use mutual subtyping to check valid mixin applications
Related to flutter/flutter#63029

Change-Id: I492b348c414c76b5fda497614c733730d02bccfc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157981
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-08-11 07:24:39 +00:00
Paul Berry 87f0d5d9dc Abstract field support: do not allow abstract fields to be late or static.
Although these error conditions are not reported by the parser, the
language grammar does not permit them, so from a customer perspective
they are parser errors.  Accordingly, they have been assigned
ParserErrorCodes and reported by the AstBuilder, as we do for other
similar errors.

Change-Id: I79d0ad1dcad518981b8b649c117df326279008f7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157800
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-08-10 19:27:13 +00:00
Srujan Gaddam e51623f81a [package:js] Add errors for missing @JS on class
Adds errors for class members that have a @JS annotation but the
enclosing class does not.

Change-Id: Id693af71678510047a723863846d89aa29cebe26
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157004
Reviewed-by: Nate Bosch <nbosch@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-08-07 17:09:23 +00:00
Jens Johansen 714ee1cd48 [CFE] Reproduction for flutter issue #63029
Change-Id: I9df135af44fe023e4795f0a042f1bc1297ace8d8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157499
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-08-07 14:26:24 +00:00
JustWe d6ef844a72 [front-end] bugfix: fix bug in constant eval .
fix bug in constant eval.
https://github.com/dart-lang/sdk/issues/42946

``` dart
main() {
  const x = (2 == 2.0);
  print(x); // prints `true`
}
```

@mraleph

Closes https://github.com/dart-lang/sdk/pull/42949
https://github.com/dart-lang/sdk/pull/42949

GitOrigin-RevId: 79feed76089dad86651e165faf12e41bdc6b1d88
Change-Id: I0af49901af7fdbc42a0f84d8ef49c3cbd1e32911
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157341
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2020-08-07 09:42:57 +00:00
Johnni Winther b9c5118c73 [cfe] Don't mark external methods as abstract
Closes #31233
Related to flutter/flutter#62887

Change-Id: I96e5a1b8045f75f1ad02fb47e5e41fe402dc3dc1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157481
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2020-08-06 16:29:09 +00:00
jlcontreras d5ff386abe [cfe] Add call to value class transformer in kernel_target.
Change-Id: I4cce1307652b5a29761fc1b431cc49c1dfd0fa06
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156909
Commit-Queue: Javier López-Contreras <jlcontreras@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-08-05 10:41:38 +00:00
Jens Johansen 8cb0afa882 [CFE] Example of an added stub or not
This CL does three things:
* It adds a test that shows how a stub is added if it compiles all
  "user libraries" from source, but not when it loads some libraries
  from a dill. This is bad and can lead to leaks (and possibly other
  things).
* It adds the transformation phase to the tests using the link option
  for the linked component. This is needed to avoid a potential crash
  (assert error) in the mixin transformation triggered by the new test
  added above.
* It adds the possibility to create a non-linked compilation in a
  testcase directory with a link.options file by naming the file
  "<whatever>.no_link.dart". This way one can have two expect files
  close together that shows differences between using linked
  dependencies and not without too much duplicated test code.

Change-Id: I170c66fb3e0d4d1263217d64234dc0e88388747d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156912
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-08-05 06:27:50 +00:00
Jacob MacDonald ed3584b71b add remaining flutter test dependencies to the allow list
Change-Id: I00b249feff6ae49f9c9eee841bdf937da7591b9e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156942
Reviewed-by: Jonah Williams <jonahwilliams@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Commit-Queue: Jake Macdonald <jakemac@google.com>
2020-08-04 04:09:13 +00:00
Srujan Gaddam 7bb0d1f39a [package:js] Add error for params in factories of anon classes
Adds a static error to check that factory constructors in anonymous
classes contain no positional parameters.

Change-Id: Iae7c5c1d9e2dc91390c85c58eb5e96718e808f9a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156145
Reviewed-by: Nate Bosch <nbosch@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
2020-08-03 23:20:42 +00:00
Johnni Winther 25e08663ce [cfe] Pass return type as part of callee type for invocation inference
Change-Id: I3b2f54fe73cc7f7c427e51e20cb60b25fc45f6bc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156885
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-08-03 14:12:51 +00:00
Johnni Winther ad9c73cb32 [cfe] Use promoted type as type context in variable assignment
Closes #41698

Change-Id: Iea87c770b560f6f72f9382f06615d99ad2be0c3a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155764
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2020-08-03 10:37:41 +00:00
Dmitry Stefantsov 7831716efd [cfe] Use Object? as top type in NNBD greatest closure algorithm
Closes #42579, #42580.

Bug: https://github.com/dart-lang/sdk/issues/42579
Bug: https://github.com/dart-lang/sdk/issues/42580
Change-Id: I90a519b4d580d139bbccfcefd8553ec68aac71ce
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156240
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-07-30 15:49:59 +00:00
Johnni Winther c50cbe9ed0 [cfe] Don't use type context for local function inference when type parameters mismatch
Change-Id: Ia6f697fa25ea83a7518ba63ad083b3493d35b2a2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156460
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-07-30 13:18:28 +00:00
Jens Johansen a62466934e [CFE] Allow crashing test case minimizer to use more than one line of stacktrace to find matching crash
Before this CL (and still as default) the crashing test minimizer would
operate by
1) Run and verify it crashed; record the first entry of the stacktrace
2) Delete stuff and rerun, verifying that the first entry of the new
   stacktrace matched the old one (to verify we have a smaller example
   of the same crash).

This doesn't work will with for instance assert errors though, as trying
to find a small reproduction for one assert error could result in a
small reproduction for another assert error.

This CL introduces the "--stack-matches=<n>" option, so you could for
instance add "--stack-matches=3" in an attempt to find the exact
assert error you wanted.

Change-Id: I1b523e9c3d391c63b3ffb5baa8ab673df7e051d6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156505
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2020-07-30 13:08:48 +00:00
Mayank Patke ca743398c2 Ensure CFE provides correct setter name to instantiateInvocation.
All of the backends (dart2js, DDC, VM) were checking if the invocation
name was tagged with "set:" and appending "=" to the name if so.
Instead, we can simply have the CFE perform this logic at the callsite.

Note that the name of the setter itself is still unchanged. Backends may
still need to generate the correct name themselves when handling NSMs
via code paths other than instantiateInvocation.

Change-Id: Iae42c849d3557be3e3b77c3af6f3993347ba0b6c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156142
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2020-07-30 06:21:20 +00:00
jlcontreras 17be0b4edf Fix nnbd flag bug in tests for Value Classes feature.
Change-Id: I1a092c951d529c1db395a3bb03e887a3a33a96e5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156194
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-07-29 15:07:09 +00:00
Johnni Winther eb1dc6786b [cfe] Revert receiverType/receiverBound update
This change was introduced in https://dart-review.googlesource.com/c/sdk/+/155324
but has unforeseen negative consequences.

Change-Id: Ifda680a533833fc21f575f13f0e6f0f3be857fa2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156195
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-07-29 14:59:01 +00:00
Dmitry Stefantsov 1b2c267bb2 [cfe] Use unwrapping of nullability constructor in upper bound
Previously to unwrap a type in isTop method the declared nullability
was set to Nullability.nonNullable.  This doesn't work for
intersection type because .withDeclaredNullability() doesn't work for
them.  This CL introduces a method that simulates the removal of the
top-level nullability type constructor from a type term, and uses the
method in isTop to account for intersection types and other possible
similar cases in future.

Change-Id: I3e6f30b5d93850b2cf92475a89d09d6d9255089f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156193
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-07-29 14:24:05 +00:00
Johnni Winther ac85af3a0c [cfe] Handle type parameters bounded by Null/Never in local function parameter type inference
Closes #42206

Change-Id: Id36fe76d8581ab0712165a8c90f1734d4be1a913
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156186
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-07-29 14:21:17 +00:00
jlcontreras 35a8b1ec28 Add tests for the Value Class feature.
Add experimental flag to tests.
Add words to test spelling dictionary.

Change-Id: Ie739a84fd85e7f85f312416f34506ee76313803b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156021
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-07-29 11:47:06 +00:00
Johnni Winther a021b99fc3 [cfe] Fix scope setup for generic function types
Closes #36870
Closes #41951
Closes #42364

Change-Id: Id323bfdc26c688bfeb756ef8c1e0530283b44e34
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156028
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-07-29 09:04:24 +00:00
Johnni Winther 767692b32f [cfe] Remove error/warning on duplicate library name in export/import
Closes #42700

Change-Id: I1fd047ea91de45be727690cf6053298cecf91410
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155326
Reviewed-by: Jens Johansen <jensj@google.com>
2020-07-29 08:53:06 +00:00
Johnni Winther 07aa9ec332 [cfe] Add test for issue 42537
This adds a language versioning test that shows that the language
version for a package defined in a `.packages` will have version 2.7
and whereas a package defined in a `.packages_config.json` will have
the current language version (2.8 in the test). Therefore the
former will not have the non-nullable experiment enabled even when
the package is in allowed_experiments.json.

Change-Id: Iabf5d6882e21538cfc1237d848bad03a37825dfb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156000
Reviewed-by: Jens Johansen <jensj@google.com>
2020-07-29 08:15:33 +00:00
Johnni Winther 8e7e400a00 [cfe] Use legacy erasure in LUB computation in opt-out libraries
Closes #42836

Change-Id: Ibe6d8e54e082ffb204ccc18f438809c7776c1cd4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156001
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-07-29 07:36:34 +00:00
jlcontreras 355cade14f Add experiment flag for Value Classes
Change-Id: I94b42676ed233c3d421ac41be1c74dd90c74501e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156005
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Javier López-Contreras <jlcontreras@google.com>
2020-07-28 12:16:08 +00:00
Johnni Winther 251c3d7d42 [cfe] Allow nullable arguments to super==
Closes #42603

Change-Id: I52261ccb7c1d88a7469a72e244466b193777fe38
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155330
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-07-28 07:41:01 +00:00
Johnni Winther fffd0d04b1 [cfe] Handle Null/Never-ish spread element types
Closes #42758

Change-Id: I0b25a5a1abc0896300f61fc98f514f1ed1a63e31
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155447
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-07-28 06:29:36 +00:00
Johnni Winther 77fcb33bd0 [cfe] Update local function return type inference
Closes #42721

Change-Id: Ia962c8ff3b6d469a0884b8983994de5c5c2286f4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155760
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-07-28 06:29:17 +00:00
Johnni Winther 4c210e8b98 [cfe] Infer Null from implicit return in function literal type inference
Closes #42743

Change-Id: I7aca374894704cdc002d927aef9ea72cbabd12e6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155606
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-07-28 06:29:17 +00:00
Johnni Winther 45173623e2 [cfe] Add test for issue 42459
Closes #42459

Change-Id: I77215b0b6dcdf4cdbfd07796c41478087607359f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155860
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-07-28 06:28:34 +00:00
Nate Bosch b9205ddc0c Allow null safety for convert, crypto, csslib
Towards #42395

These packages are used by benchmarks and need to be migrated to null
safety before stable.

Change-Id: I0b8a24f40384720343364795c60ddaede8fe0de4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156065
Reviewed-by: Jake Macdonald <jakemac@google.com>
Auto-Submit: Nate Bosch <nbosch@google.com>
2020-07-28 00:11:39 +00:00
Johnni Winther da663d6eb0 [cfe] Fix bad supertype substitution in mixin check.
Closes #42792

Change-Id: I21757f0f8417ad677d075e8417e390e1fa532a2b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155444
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-07-27 18:43:25 +00:00
Johnni Winther fad5548840 [cfe] Add test for issue for opt-in import of opt-out typedef
Closes #42181

Change-Id: I1557a5843cba6001580d8ff19cd1864e7bc37c48
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155400
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-07-27 18:41:54 +00:00
Johnni Winther 3d4bd859fb [cfe] Add test for type context in cascade
The question of whether type context was correctly passed through
cascade arose during debugging. Added a test to verify that
we handle it correctly.

Change-Id: Ic828296815f7e08af18d9cc8e0708dbc929a20f8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155329
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-07-27 18:41:12 +00:00
Johnni Winther 22dc855e46 [cfe] Implement toText for Binary/Unary/ParenthesizedExpression
Change-Id: Ic3585081aa8910a75c54fadb8e8e583445d0d532
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155328
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-07-27 18:41:12 +00:00
Johnni Winther 1d092219a3 [cfe] Move LUB computation to package:kernel
Change-Id: I06951e5367dbf5e84d897e38d38ec00fa6115db7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155325
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-07-27 18:41:12 +00:00
Johnni Winther 33378492e5 [cfe] Implement new static types for arithmetic operations
Closes #41559
Closes #42577

Change-Id: I22da02731c106ec354d72a649c5b6ac6091b9292
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155324
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-07-27 18:40:24 +00:00
Johnni Winther 6a265278f9 [cfe] Fix off-by-one error in type variable target resolution
Change-Id: Ia0adbd27b9f3067d754851f081a25ac4a6126a7d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155128
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-07-27 16:44:40 +00:00
Johnni Winther 2044eae133 [cfe] Add regression test for 40954
Closes #40954

Change-Id: I7cf5cb659291c571d5dd2a5941e4809e6b235145
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155323
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-07-27 16:03:12 +00:00
Johnni Winther 84d71cdf18 [cfe] Add regression test for 41108
Closes #41108

Change-Id: I6b2f7fb5624901c298e4d4cccb691cfdc52f4e19
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155322
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-07-27 16:02:47 +00:00
Johnni Winther 19ee726cc1 [cfe] Add regression test for issue 42433
Closes #42433

Change-Id: I15360c20616f342d139e46b7bf2bcd52b98333db
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155321
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-07-27 16:02:01 +00:00
Johnni Winther b8dc7627a9 [cfe] Handle NullCheck in constant evaluation
Closes #42802
Closes #42803

Change-Id: I282539cbfef90309dd343950101aefe0820785b7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155600
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-07-23 09:16:09 +00:00
Konstantin Shcheglov 58b6f40c73 Issue 42797. Understand in legacy libraries that a function returning Never (in Null Safety library) never returns. (reland)
Initial: https://dart-review.googlesource.com/c/sdk/+/155500
Reverted: https://dart-review.googlesource.com/c/sdk/+/155540

Bug: https://github.com/dart-lang/sdk/issues/42797

Change-Id: I5f0f1df594ac678718f347ee80b1764f971e42e1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155541
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-07-23 00:01:12 +00:00