Commit Graph

4835 Commits

Author SHA1 Message Date
Sigmund Cherem faefc4dccc [dart2js] merge experiment flags when running in batch mode
This issue started when the test_runner started prodiving the experiment flag to all batch runners (https://dart-review.googlesource.com/c/sdk/+/131831). We might want to follow up and change the behavior in the test runner if that's appropriate.

Change-Id: I7fd6f96b1b6f1c310381248399dc3c62b87cd1d3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139400
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2020-03-13 00:40:41 +00:00
Joshua Litt 31e5919ea7 [dart2js] Fix some nullabilities in deferred_load.
Change-Id: Ied2456c48455ca056ea51c30cfeefd0135726b72
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139303
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-03-12 22:09:27 +00:00
Joshua Litt 2972e22f01 [dart2js] Ignore abstract isMemberSignature procedures.
Change-Id: Idaa47742d44fbf10e8053f9049650e9a9d3aca0d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139141
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
2020-03-12 14:45:12 +00:00
Joshua Litt 43dafefa15 [dart2js] Fix bug with constant ordering and nnbd.
Change-Id: I8fd1a0b50f793dc3dec4b3a9a1fd127fb6ebb288
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138908
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
2020-03-10 18:30:20 +00:00
Joshua Litt 97674262bc [dart2js] Fix type argument with nnbd and extractTypeArguments.
Change-Id: I2acd8778797301b759b74232406a30b072fe07bc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138807
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
2020-03-10 16:10:35 +00:00
Joshua Litt 2ae10b14a3 [dart2js] Fix nullability of native methods.
Change-Id: Ie7228802f7d7c3c8c7be174b60714d232e5bfa81
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138604
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2020-03-09 22:37:40 +00:00
Jens Johansen e8c58a7a3d [CFE] Add ability to compare CompilerOptions
This is (intended to be) a small step towards removing the batch compiler.

Change-Id: I201c56b6d33420f91d2f4b989682670cd8d6a387
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138508
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-03-09 09:11:57 +00:00
Mayank Patke 81c3208c10 [dart2js] Special case null is T.
Change-Id: Iec5212db2d4493797257753f9eaa63799d047253
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138574
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2020-03-06 21:33:53 +00:00
Mayank Patke de0fcd71d4 [dart2js] Assign the correct type to super tearoffs.
Bug: https://github.com/dart-lang/sdk/issues/40902
Fixes: https://github.com/dart-lang/sdk/issues/40902
Change-Id: Ie2c58e5dab9902cbabd7c2ef9aae5b6c1773c7e7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138663
Reviewed-by: Stephen Adams <sra@google.com>
2020-03-06 21:33:53 +00:00
Nate Bosch d3c0d59706 Disallow non-external generative JS constructors
Towards #40434
Towards #38875
Fixes #33834

- Add a shared error message for a non-external constructor.
- Check for non-external non-factory constructors constructors in the JS interop
  checks.
- Remove commented out code in Dart2JS that used to handle this check.
- Clean up skipped tests due to the missing static error. The status in
  `legacy_status_dart2js.csv` has no behavior impact but is removed for
  completeness.
- Add `external` to a few test cases.
- Remove unused dart2js error message.
- Add `annotating` to hardcoded spelling list.
- Ignore missing example for web specific error message.
- Switch some dart2js error expectations to GENERIC since the message is no
  longer defined with other dart2js errors.

Non-external synthetic constructors are ignored for now. An upcoming change will
automatically convert these to external.

Change-Id: I3b4a042392826c528689d81c4255f5369a0a7a90
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138043
Commit-Queue: Nate Bosch <nbosch@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-03-06 17:06:39 +00:00
Sigmund Cherem a410f5bde1 [dart2js] rename null-safety flag and plumb through CFE
The new flag name follows the changes in https://github.com/dart-lang/language/pull/779, the change also is converging on not having each tool infer a default on the input, but rely on build systems to provide the appropriate flag instead.

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

Change-Id: I39c143b7985dbfe6dab5dfd9a7347a7a4420479b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138569
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
2020-03-06 02:22:41 +00:00
Stephen Adams 8ae984c54a [dart2js] Use a Symbol to access JavaScript Array Rti
Use a JavaScript Symbol() for Array rti property. This makes the
property non-enumerable, avoiding making the property visible via
JS-interop.

The code is feature-tested so that IE11 still works with an enumerable
String property.

Bug: 40535
Change-Id: Ic8b64dac5751989fe4b8d023b0626c3db04676c6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137245
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-03-06 01:20:31 +00:00
Joshua Litt 55b4a240a4 [dart2js] Fix type promotion bug in static_type.dart.
Change-Id: I481020289df611ed09fe4093021e875e6c4f6871
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138333
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
2020-03-05 18:56:22 +00:00
Jens Johansen 6b4c4faf28 [CFE] Combine 'inputSummaries' and 'linkedDependencies'
The two fields are already treated the same, so having two is just
confusing.

Change-Id: I649db2a77bced62429dfd94ab300673cf886e367
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138291
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2020-03-05 12:38:34 +00:00
Mayank Patke 6f4876849b [dart2js] Add flag to enable printing '*' on legacy types.
Change-Id: Ie0b191e6da39fa6e48601caeeadc492699f07045
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138326
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2020-03-04 20:22:26 +00:00
Joshua Litt 33d6e68719 [dart2js] Fix narrowType to handle NeverType in assert.
Change-Id: Iacd4d07b8a9bbde99e7f33d1f584d5f79d2d6e9e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138260
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-03-04 17:14:45 +00:00
Joshua Litt 159fceed6f [dart2js] Fix type inference with Future.then
Change-Id: I77fa246bce935b162b2047c3dca0a462d4dfaea7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138240
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
2020-03-04 15:22:15 +00:00
Nate Bosch 34f0e654bb Remove unused message for index operator
This message was moved to a shared location in
https://dart-review.googlesource.com/c/sdk/+/130733

Change-Id: Iee0a396389aa75000fb3b0bae974da26ecd6ddcf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138046
Commit-Queue: Nate Bosch <nbosch@google.com>
Auto-Submit: Nate Bosch <nbosch@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-03-03 22:17:33 +00:00
Joshua Litt 5cd6b309fb [dart2js] Define type parameters of tearoffs as Object*/Object?
Change-Id: I5fa828b68e3dba398bac322a526af40616266ce5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138102
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-03-03 20:04:52 +00:00
Nate Bosch f97018bb4a Make some utilities private
I was trying to understand some usage of a bit of code and found it more
difficult than necessary since I had to search across the codebase
instead of a single library, even though it was only used locally.

- Remove `cachedClassFieldNames` since it is not referenced anywhere.
- Make some utilities only used in this library private.

https://dart.dev/guides/language/effective-dart/design#prefer-making-declarations-private

Clean up some trailing whitespace.

Change-Id: I8dd06d961c01ff5ca92d89ece138d3a34e255e90
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138181
Auto-Submit: Nate Bosch <nbosch@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Nate Bosch <nbosch@google.com>
2020-03-03 19:46:04 +00:00
Joshua Litt b761f8ef80 [dart2js] Fix nit in impact_transformer.
Change-Id: I97c20f5606523df494a42c03ae8a6356daa740cb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138004
Auto-Submit: Joshua Litt <joshualitt@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2020-03-02 18:38:02 +00:00
Joshua Litt 86845cabb8 [dart2js] Remove nullability before calculating impact.
Change-Id: I8e3d3ee9f99261daad70cf9464083b2c548e89c9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137843
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-03-02 17:41:24 +00:00
Mayank Patke 5af2cc768a [dart2js] Add a raw type predicate to LegacyType and NullableType which forwards to the wrapped type.
Change-Id: I5b16300f189aba36efee2f14b5e3f60f1c3689bd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137861
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2020-02-29 01:34:10 +00:00
Joshua Litt bbbd619276 [dart2js] Remove nullability before checking if we need rti.
Change-Id: Ic599c159134e79aa38608d23cfae961d568bf8eb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137840
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
2020-02-28 20:18:40 +00:00
Mayank Patke e1f2fea5a4 [dart2js] Use NNBD types in TYPE_REF and add LEGACY_TYPE_REF.
Change-Id: I23c6ce55fabb53bf12bb92fedc9bd1338f06f03d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137734
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2020-02-28 18:24:55 +00:00
Mayank Patke f1609405b4 [dart2js] Fix type variable conversion bug.
Change-Id: I1f1f55267442a7ca475724d25b8bab21eb4d1c00
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137728
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2020-02-28 13:18:01 +00:00
Joshua Litt 22c30677d7 [dart2js] Add neverType visitor to helpers.
Change-Id: Ie28d24e2a10253191eedc01a52699adccdce4bd8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137341
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
2020-02-27 16:38:53 +00:00
Mayank Patke 01064e7b6c [dart2js] Migrate DartTypes to use a wrapper representation for
nullability instead of a field/getter.

Change-Id: I2ca61d1b3a789f2ee4f34a99f66ae237bf9687ea
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137283
Commit-Queue: Mayank Patke <fishythefish@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-02-27 09:08:47 +00:00
Sigmund Cherem 5055c98bee [dart2js] switch bot to use hostaserts once again
This changes how we used String.fromEnvironment to enable tracing.
With null-safety http://dartbug.com/40678 means that these constants are
never null, so we were accidentally enabling tracing by default.

I was only able to see this when running dart2js from source
(which affects the hostasserts configuration), but I wasn't seeing this
when running from snapshot. We need to investigate that separately.

Change-Id: Ic362967d2f0daf5f9c0e1659c6a024ca9a44358f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137286
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2020-02-26 21:41:47 +00:00
Joshua Litt 45c89b18ee [dart2js] Fix names for late static fields.
Change-Id: I81e3368fa2fe321964298ec1e7034255f588faca
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136843
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
2020-02-25 17:22:41 +00:00
Joshua Litt 2596c20486 [dart2js] Fix a bug with substitution of type variables and NNBD.
Change-Id: I5c5f6152b2f1c25a1ba0b3800023b550b8fabca0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136981
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-02-24 22:17:09 +00:00
Stephen Adams eb29627e9e [dart2js] Handle injected names from late fields
Change-Id: I5ca6535a282ce8fdf4fba6cd1fa5752bce2921c9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136714
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2020-02-21 19:31:16 +00:00
Joshua Litt 5aeb1a3f11 [dart2js] Update libraries.yaml with migrated dart2js.
Change-Id: Ibd70ce90d3b965d438a153654efb5e5bff94a201
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135798
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
2020-02-21 18:37:40 +00:00
Dmitry Stefantsov b7aff59973 [cfe] Report errors on case expressions without primitive equality
Bug: http://dartbug.com/40425
Change-Id: Ied2da91cc32b84f6e64c0b76541e020d1a2447b9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136227
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-02-20 13:39:09 +00:00
Joshua Litt 6c68844821 [dart2js] Two small fixes for building dart2js with the nnbd runtime.
Fix for NoSuchmethod's signature.
Fix for NeverType's scope visitor.

Change-Id: I7d98e37eb7bfcb67339b36d1b335fc4ba9eff6d1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136320
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
2020-02-18 23:02:49 +00:00
Johnni Winther a9485e8b14 [cfe] Encode getter/field invocation as .call on property get
Current semantics with respect to evaluation order is retained.

Change-Id: I6794c8a720237536696afab2fe056042f8464ec8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129702
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-02-17 13:52:45 +00:00
Mayank Patke d608b2ae34 [dart2js] Convert kernel types to backend DartTypes.
Change-Id: Ia143d6e714ac1c378512afd066bf1a53afaec229
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135785
Commit-Queue: Mayank Patke <fishythefish@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-02-15 01:51:20 +00:00
Mayank Patke 989180af3e [dart2js] Add normalization to RTI.
Change-Id: Ieecb90fbc6fdf13a44373d285fc5da450a9876b3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134960
Commit-Queue: Mayank Patke <fishythefish@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-02-14 01:59:12 +00:00
Mayank Patke 1591ddcf1e [dart2js] Normalize DartTypes.
Change-Id: I2c3ddbecf9f9bbaac8f940398a7d5949c441fca4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134941
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-02-14 01:59:12 +00:00
Mayank Patke 573f470615 [dart2js] Represent nullability as a field.
Change-Id: I12f4c7acfa294b0e92d3f94f7099ffa2aa9cc0a1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134792
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-02-14 01:59:12 +00:00
Jens Johansen 81d4ac07d4 [CFE] Use package config v2
Change-Id: I32da9e8b2c1040db1521af4345f8e952c22bd30d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130864
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-02-12 10:07:25 +00:00
Nicholas Shahan 35cd61819a Remove dart:mirrors library from dart2js and ddc SDKs
A followup change will delete the patches that are no longer needed once
these changes have been "mirrored" :P to the libraries files in the
flutter repos.

Change-Id: I7d255838b97922198248b29311facd4956001e25
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134405
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-02-07 17:34:54 +00:00
Mayank Patke 8d76edf4a8 [dart2js] Remove type unaliasing.
Now that typedefs are gone, unaliasing is a no-op.

Change-Id: I2fbe4555d06e11c12b1c1149af23a23e09df42b9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134503
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2020-02-05 22:27:49 +00:00
Johnni Winther 88635446ec [cfe] Implement weak mode constants semantics
Closes #40124

Change-Id: Ia54490d9f5162a27e52c4e9c4d74c5cfaa28472b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134284
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-02-05 07:07:07 +00:00
Mayank Patke 450924a8cd [dart2js] Remove typedefs from backend.
Change-Id: Ia170535b5d35d97003cff93acbf33cb3fe75725f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134206
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2020-02-05 01:09:47 +00:00
Johnni Winther 7c837ce30a [dart2js] Remove all unneeded casts
Some of the implicit casts were need for covariance checks. Now these
can be identified and actively preserved.

Change-Id: Ibfff4f68cc4af7956372adb2f4d846b079f0b508
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134162
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-02-04 07:01:09 +00:00
Mayank Patke a5cfdf6586 [dart2js] Use flags to choose between legacy/NNBD in RTI.
Change-Id: I42705320aabcdfecc12098f40ca16a2c623a1033
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134091
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2020-01-31 20:04:52 +00:00
Mayank Patke 023f286772 [dart2js] Update generic function subtyping.
We now test bounds for mutual subtyping rather than structural equality
up to renaming of bound type variables and equating all top types.

Change-Id: I7dd23a3211a1631e463ea90c3173f3deae46ca23
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134042
Commit-Queue: Mayank Patke <fishythefish@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-01-31 18:33:02 +00:00
Jens Johansen 3d5530ff22 [CFE] Transformations can now tell of they changed the structure of a class
By allowing a transformation to tell if it change dthe structure of a
class we can make sure to update the class hierarchy accordingly,
making sure it's up to date for the next computeDelta call in the
incremental compiler.

Change-Id: Iefed3bb1ecbd17b142266ce4a9e1e477f9d2fc87
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133222
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-01-31 13:45:12 +00:00
Stephen Adams 5b2da85e25 [dart2js] Make 'return null;' more reliable
The reduction 'return null;' --> 'return;' now happens only at return
statements that do not have an expression.

There is a slight increase in code size, 0.11% for flutter gallery
minified, 0.105% for acx gallery minified, 0.04% CM.

Change-Id: I0723a398267aede5e8dd04d7d45beae2f306c1be
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133863
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-01-31 03:06:36 +00:00