Commit Graph

144 Commits

Author SHA1 Message Date
Nate Bosch 90c309e9e4 Upgrade to null safe migrated json_rpc_2
Change-Id: I05c7dc4c266c7351f044f1e423922c01d05e96e5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/196563
Auto-Submit: Nate Bosch <nbosch@google.com>
Commit-Queue: Nate Bosch <nbosch@google.com>
Reviewed-by: Gary Roumanis <grouma@google.com>
2021-04-24 01:11:42 +00:00
Nate Bosch d261ccfbb0 Update to the latest package:shelf
Change-Id: Ic24e358bd755c8c760e223354132a50a128204f0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/196620
Auto-Submit: Nate Bosch <nbosch@google.com>
Commit-Queue: Jonah Williams <jonahwilliams@google.com>
Reviewed-by: Jonah Williams <jonahwilliams@google.com>
2021-04-23 05:54:41 +00:00
Nate Bosch 37446a245a Update to the latest package:async
Adds `ChunkedStreamReader`.

Change-Id: Iad0a4b26ee9ce2ed9aeb5cec55c81bdb39e8c4e2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/195663
Auto-Submit: Nate Bosch <nbosch@google.com>
Commit-Queue: Nate Bosch <nbosch@google.com>
Commit-Queue: Jonas Jensen <jonasfj@google.com>
Reviewed-by: Jonas Jensen <jonasfj@google.com>
2021-04-16 21:47:17 +00:00
Vyacheslav Egorov 458be23fa7 [vm_snapshot_analysis] Migrate to null-safety
Fixes https://github.com/dart-lang/sdk/issues/45683

TEST=pkg-*-try bots

Cq-Include-Trybots: luci.dart.try:pkg-linux-release-try,pkg-mac-release-try,pkg-win-release-try
Change-Id: Ie10f313da9778d001f9c4fb618997e3b3c781dd0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/195263
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Tess Strickland <sstrickl@google.com>
2021-04-15 12:03:47 +00:00
Nate Bosch 17bac2f180 Update to the latest http_throttle
Change-Id: I3631b294de8aee0ae1430eb0d1c5c90641fcd363
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/195171
Auto-Submit: Nate Bosch <nbosch@google.com>
Reviewed-by: Gary Roumanis <grouma@google.com>
2021-04-14 00:43:54 +00:00
Nate Bosch 837d632617 Update to the latest package:http
Add a `retry` library to replace `http_retry`. We will be able to remove
`http_retry` from the SDK after `http` is published and the usage is
migrated in `pub`.

Change-Id: Id39674d08388ada6406c85d1263494c3d7cbe720
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/195168
Auto-Submit: Nate Bosch <nbosch@google.com>
Commit-Queue: Nate Bosch <nbosch@google.com>
Commit-Queue: Jake Macdonald <jakemac@google.com>
Reviewed-by: Jake Macdonald <jakemac@google.com>
2021-04-13 19:19:28 +00:00
Nate Bosch 8b62d2dda7 Update to the latest http_multi_server
Adds a static bindSecure method.

Change-Id: Ibde1a077a3ab1aff6db81646ca055050af353d54
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/195054
Auto-Submit: Nate Bosch <nbosch@google.com>
Reviewed-by: Gary Roumanis <grouma@google.com>
2021-04-13 04:11:11 +00:00
Gary Roumanis 62fb824ea2 Rev http_multi_server version
sync


Update http_multi_server version

Change-Id: I486dd49dbbfa9c45476094e6512d84bd3f896cf8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/195051
Auto-Submit: Gary Roumanis <grouma@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
Commit-Queue: Nate Bosch <nbosch@google.com>
2021-04-12 23:08:46 +00:00
Konstantin Shcheglov 625bfe5cae Migrate package:telemetry
Change-Id: I1d06861b5838a12b807d47cfbb53b0537a68d52f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/194205
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-04-07 03:40:29 +00:00
Ben Konyi 2a2d83e9e9 [ VM / Service ] Add support for enabling/disabling breakpoints
This change adds a `setBreakpointState` RPC which allows for breakpoints
to be enabled or disabled without needing to remove and recreate
breakpoints.

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

TEST=set_breakpoint_state_test.dart

Change-Id: I1a04e6028d4e4560fdb8d3d26420c9a05da06b4b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193896
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2021-04-06 22:16:06 +00:00
Johnni Winther f0ccceab4d Roll dart_style 2.0.1 into the SDK.
This pins to https://github.com/dart-lang/dart_style/pull/1016.

Change-Id: Ia7b297a03eff00c68bf76bbfd206cf88d800a92c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193961
Reviewed-by: Jens Johansen <jensj@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
2021-04-06 14:32:37 +00:00
Janice Collins 6cacbb2bf0 Update dartdoc to 0.42.0.
Also removes the mustache dependency from the SDK.

Release notes: https://github.com/dart-lang/dartdoc/releases/tag/v0.42.0

Change-Id: I2c97e1be180199db3a520f3fa020973761781dbf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/194011
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Janice Collins <jcollins@google.com>
2021-04-05 17:17:46 +00:00
Konstantin Shcheglov 66598d3e82 Switch analysis_server_client to language 2.12, so null safety, but opt-out files.
Protocol files are generated, so should be updated together with
analysis_server protocol files.

Change-Id: I8c3c7a5aecd2f7ff70c531bb794df3aed21888b0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193620
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-31 03:34:22 +00:00
Konstantin Shcheglov e97f1bdbf0 Switch analysis_server to language 2.12, so null safety, but opt-out files.
This should allow doing partial migration, specifically protocol files,
which are imported by other libraries, but are a small library cycle
that does not import much outside of it.

Change-Id: I904c05d6d5b444ee9a9dbd1f7ada12aabdcc5165
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193583
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-30 23:39:37 +00:00
Janice Collins ed7dd1eda6 Update dartdoc to 0.41.0
Release notes:  https://github.com/dart-lang/dartdoc/releases/tag/v0.41.0

Change-Id: I45bfdcb745f22bff9c8e1cbc0ffd6c61cd11bb47
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193448
Commit-Queue: Janice Collins <jcollins@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2021-03-30 06:30:08 +00:00
Konstantin Shcheglov 114d7b980a Migrate analyzer_plugin package to null safety
Bug: https://github.com/dart-lang/sdk/issues/45236
Change-Id: I01175a2b2b1eb3ce6cdf30ade794d8186c6e8ead
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/191622
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-30 00:29:37 +00:00
Devon Carew f6ce7a829f In-line the package:stagehand templates into 'dart create'.
Change-Id: I717f0970314700b123b750fcfe7ed066ba88d2e5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192944
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2021-03-25 18:05:09 +00:00
Ben Konyi c4bfca9b6a [ dart:io / package:vm_service ] Add HTTP request profiling service
extensions

This change adds HTTP request profiling support to the dart:io service
extensions and removes HTTP request/response body logging to the
timeline due to memory constraints.

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

TEST=pkg/vm_service/test/get_http_profile_test.dart

Change-Id: I85642296c3d6595197f3365022477c7685c452bf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189881
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Kenzie Schmoll <kenzieschmoll@google.com>
2021-03-24 23:01:03 +00:00
Nate Bosch f6d9c56460 Update to the latest async
Change-Id: If55a7c53c176e3045060d0e680dca85850c9ef1f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192734
Auto-Submit: Nate Bosch <nbosch@google.com>
Commit-Queue: Nate Bosch <nbosch@google.com>
Reviewed-by: Jake Macdonald <jakemac@google.com>
2021-03-24 20:21:03 +00:00
Nate Bosch a6fe47cfe4 Update to the latest package:args
Change-Id: I39fa66d4e28204685e14c13fada20867a9dbb6d0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192729
Auto-Submit: Nate Bosch <nbosch@google.com>
Commit-Queue: Nate Bosch <nbosch@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2021-03-24 15:53:12 +00:00
David Morgan 0155436ba0 Bump bazel_worker.
Change-Id: I33f23f9f56d8b4a624c912981c04aa260078e25b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192300
Commit-Queue: David Morgan <davidmorgan@google.com>
Reviewed-by: Jake Macdonald <jakemac@google.com>
2021-03-24 08:36:33 +00:00
Nate Bosch 614e1a547d Update to the latest package_config
Change-Id: I3941b4513c6db04f782227dc55f6fc92d28e499e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192562
Reviewed-by: Jake Macdonald <jakemac@google.com>
Commit-Queue: Jake Macdonald <jakemac@google.com>
Auto-Submit: Nate Bosch <nbosch@google.com>
2021-03-24 03:03:35 +00:00
Mark Zhou 5eceb354e2 [dartdevc] Porting expression compiler tests.
This is part of a series of changes to add support for SDK expression eval tests.

Change-Id: Ia96931fdf81324fa131014b49ec2067507c451f2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/191022
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Anna Gringauze <annagrin@google.com>
Commit-Queue: Mark Zhou <markzipan@google.com>
2021-03-22 23:17:55 +00:00
Ben Konyi 96cf91bea3 [ package:dds ] Update DDS dependencies and set SDK requirement to >=2.12
Also updated non-migrated libraries to include @dart=2.10.

Change-Id: Idcf4e54f9aa37b9b016133144af594cc932418a0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192122
Reviewed-by: Gary Roumanis <grouma@google.com>
2021-03-19 19:49:08 +00:00
Johnni Winther 9e23810b77 [kernel] Migrate more libraries in package:kernel
Change-Id: I249c9fa9f2727544f940b3d954ce49bf38ee4918
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/191402
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2021-03-18 11:06:18 +00:00
Mark Zhou e692b26c7e Adding SDK dependencies required for expression evaluation tests.
This is part of a series of changes to add support for SDK expression eval tests.

This change:
  * Adds SDK dependencies on webkit_inspection_protocol.dart and browser_launcher.dart
  * Adds dev dependencies to DDC

Change-Id: I025a1f1b59e00858a33016818b6746c57c9caec4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190961
Commit-Queue: Mark Zhou <markzipan@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Anna Gringauze <annagrin@google.com>
2021-03-18 00:30:37 +00:00
Jacob MacDonald 3f5384bd08 Roll dart_style 2.0.0 into the repo.
There are no formatting changes aside from adding support for generic
metadata annotations, which are not yet used. Changes are:

- Migrated to null safety.
- Return exit code from FormatCommand.run().

Change-Id: I8892f6551541f673b8e49045665e2371ba40b026
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/191182
Commit-Queue: Jake Macdonald <jakemac@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
2021-03-16 15:22:21 +00:00
Nate Bosch f54a76f9af Update to the latest package:test
Change-Id: Ia23a5ce61fff38d3d5066b26b7ce1cedbf99619e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190733
Auto-Submit: Nate Bosch <nbosch@google.com>
Commit-Queue: Gary Roumanis <grouma@google.com>
Reviewed-by: Gary Roumanis <grouma@google.com>
2021-03-12 18:14:37 +00:00
Nate Bosch 30ed286877 Update to the null safe package:http_retry
Change-Id: Ibb5a35b50a23a0d906df903ccad012c34e2a3f3c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190280
Auto-Submit: Nate Bosch <nbosch@google.com>
Commit-Queue: Nate Bosch <nbosch@google.com>
Commit-Queue: Jake Macdonald <jakemac@google.com>
Reviewed-by: Jake Macdonald <jakemac@google.com>
2021-03-09 23:00:12 +00:00
Nate Bosch bca92431cc Update to latest test packages
Change-Id: I33d401f3393de6b055babb3bb3448ba328341ce1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/187580
Auto-Submit: Nate Bosch <nbosch@google.com>
Commit-Queue: Nate Bosch <nbosch@google.com>
Reviewed-by: Jake Macdonald <jakemac@google.com>
2021-03-08 19:15:51 +00:00
Nate Bosch 0e609a8372 Update to the latest package:oauth2
Change-Id: I0c9da925b7c95cfd5c62b38e0cfd87dabb79a58f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189163
Auto-Submit: Nate Bosch <nbosch@google.com>
Commit-Queue: Nate Bosch <nbosch@google.com>
Reviewed-by: Kevin Moore <kevmoo@google.com>
Reviewed-by: Gary Roumanis <grouma@google.com>
2021-03-04 23:29:44 +00:00
Brian Wilkerson 84cafbde9d Remove some unused code from analysis_server
Change-Id: I369a93a9d67cf6a9346e0edcc439d34a8e959e3b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189161
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-04 21:13:29 +00:00
pq 64ea51988a bump to linter 1.0.0 (NNDB)
Change-Id: Ic792d7521b3519edb630003bdb164f3308a74e32
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188261
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2021-03-03 18:56:54 +00:00
Janice Collins 40b469cc30 Update dartdoc to 0.40.0.
Release notes:  https://github.com/dart-lang/dartdoc/releases/tag/v0.40.0

Change-Id: I9382db0e980cc4cefa4f0a647acba09c945b756a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/187680
Auto-Submit: Janice Collins <jcollins@google.com>
Commit-Queue: Janice Collins <jcollins@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
2021-03-01 20:08:00 +00:00
Jacob MacDonald 8c7e873f8f update http_multi_server
internal change cl/359585920

Change-Id: I85512dcfb38283744dca9266e926daec4e622c15
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/187640
Auto-Submit: Jake Macdonald <jakemac@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
Commit-Queue: Jake Macdonald <jakemac@google.com>
2021-02-25 22:07:19 +00:00
Jacob MacDonald f7e6dd5a18 update shelf, shelf_static, and shelf_packages_handler
Change-Id: I0f238bac68667dae1da2388a43fa4174d6f0e041
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/187020
Auto-Submit: Jake Macdonald <jakemac@google.com>
Commit-Queue: Jake Macdonald <jakemac@google.com>
Commit-Queue: Nate Bosch <nbosch@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
2021-02-24 16:15:14 +00:00
Nate Bosch a7bf05f64d Update to the null safe package:oauth2
Change-Id: Ia86dd7e54259d60266065883be5549e946c95040
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186700
Reviewed-by: Jake Macdonald <jakemac@google.com>
Commit-Queue: Nate Bosch <nbosch@google.com>
2021-02-23 20:57:01 +00:00
Tess Strickland a8b42efa1a [pkg/native_stack_traces] Create stable null safety version.
Also remove assert no longer needed due to null safety.

Cq-Include-Trybots: luci.dart.try:vm-kernel-precomp-linux-product-x64-try,vm-kernel-precomp-linux-release-x64-try
Change-Id: I1b19316801db7cb586d16e6bdc1f00014be93bdb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186286
Reviewed-by: Clement Skau <cskau@google.com>
Commit-Queue: Tess Strickland <sstrickl@google.com>
2021-02-23 10:27:39 +00:00
Nate Bosch 2e3d1c2bcd Update to the lastest package:oauth2
Switch to syncing by revision to allow for syncing to google3 before
publishing.

Change-Id: I9db7b02b5602d185ae1b3dda47a95ea906ac261e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186422
Auto-Submit: Nate Bosch <nbosch@google.com>
Commit-Queue: Nate Bosch <nbosch@google.com>
Reviewed-by: Gary Roumanis <grouma@google.com>
2021-02-23 05:21:39 +00:00
Robert Nystrom 2ad6249c05 Bump dart_internal to allow 2.12.0.
Change-Id: I05cc978b2b4b7dbd1bf1e1f4d45375646ea90bff
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186400
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
2021-02-23 00:37:06 +00:00
William Hesse dbce7a60f4 Update package_config.json
Change-Id: I4e1228a4fe10dcebf2f248dc9a18ae9fe5934125
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/185820
Reviewed-by: Jens Johansen <jensj@google.com>
2021-02-19 10:55:00 +00:00
Nate Bosch f66d493afa Update to the latest package:args
Change-Id: I3e7e754e42848c8d2fe6176732af2fe75e99e3f0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/185496
Commit-Queue: Nate Bosch <nbosch@google.com>
Auto-Submit: Nate Bosch <nbosch@google.com>
Reviewed-by: Gary Roumanis <grouma@google.com>
2021-02-19 00:54:40 +00:00
Nate Bosch 08ff740d4d Update to latest shelf_web_socket
Change-Id: I7eee376c991b9b9683e340dfecccdcb7668f4415
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/185494
Auto-Submit: Nate Bosch <nbosch@google.com>
Commit-Queue: Nate Bosch <nbosch@google.com>
Commit-Queue: Kevin Moore <kevmoo@google.com>
Reviewed-by: Kevin Moore <kevmoo@google.com>
2021-02-18 23:22:50 +00:00
Nate Bosch 7fb9fc1690 Update to the null safe migrated web_socket_channel
Change-Id: Ibb6606a1034da37b24033673199a986f6da9c08a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/185520
Reviewed-by: Gary Roumanis <grouma@google.com>
Commit-Queue: Nate Bosch <nbosch@google.com>
2021-02-17 23:37:51 +00:00
Gary Roumanis ba48cce470 update sse_tag
Change-Id: Icf1f69d85ac1c76683457588ba45874ba1b4b643
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/184603
Auto-Submit: Gary Roumanis <grouma@google.com>
Reviewed-by: Gary Roumanis <grouma@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
Commit-Queue: Gary Roumanis <grouma@google.com>
2021-02-17 19:11:20 +00:00
Ben Konyi fa8ea6dfaa [ package:vm_service ] Update tests to be compatible with pub run test
Will allow for tests to be enabled in google3 as pub or portions of pub
are used to run VM tests.

Previously the test harness was configured to look for a URI with a data: scheme to determine if it was being run via pub run test (pub generates its own harness and spawns the test from that). We were parsing the test URI out of this data URI, which wouldn't work correctly in google3.

This change assumes that if Platform.script.scheme == 'data', the test is being run via pub from the root directory of the package. In that case, we can assume there is a 'test' directory and simply use 'test/$scriptName'as the path for the testee process.

TEST=N/A

Change-Id: I589605ebc7001adc9d8595ca8347c0af329b9c28
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/184541
Reviewed-by: Gary Roumanis <grouma@google.com>
2021-02-12 07:12:54 +00:00
Jacob MacDonald 88fdbea483 Update to the latest markdown, an internal Cl has been prepared and
paired with this so the sdk roll can succeed.

TEST=Fixes static errors

Change-Id: Ia4e325936ea81d0d51fbf6dd939b732860d22100
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/183760
Commit-Queue: Jake Macdonald <jakemac@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
2021-02-09 18:42:42 +00:00
Konstantin Shcheglov 84aaedf34f Update .dart_tool/package_config.json
Follow up of https://dart-review.googlesource.com/c/sdk/+/183761

Change-Id: I3c17a8fa9a606b692f29f50b0d9179b623418d9f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/183767
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-02-09 17:21:53 +00:00
Alexander Thomas c88171c8af [sdk] Bump version to 2.13
TEST=Presubmit tests and local builds
Change-Id: I1b15d60eced0cf3f422548eda75706609f6640cb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/182624
Commit-Queue: Alexander Thomas <athom@google.com>
Auto-Submit: Alexander Thomas <athom@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2021-02-04 12:10:17 +00:00
Paul Berry a42244f73b Flow analysis: begin tracking non-promotion reasons.
This CL implements the core flow analysis infrastructure for tracking
reasons why an expression was not promoted.  It supports the following
reasons:

- Expression was a property access
- Expression has been written to since it was promoted

I expect to add support for other non-promotion reasons in the future,
for example:

- `this` cannot be promoted
- Expression has been write captured
- Expression was a reference to a static field or top level variable

These non-promotion reasons are plumbed through to the CFE and
analyzer for the purpose of making errors easier for the user to
understand.  For example, given the following code:

  class C {
    int? i;
    f() {
      if (i == null) return;
      print(i.isEven);
    }
  }

The front end now prints:

  ../../tmp/test.dart:5:13: Error: Property 'isEven' cannot be accessed on 'int?' because it is potentially null.
  Try accessing using ?. instead.
      print(i.isEven);
              ^^^^^^
  Context: 'i' refers to a property so it could not be promoted.

Much work still needs to be done to round out this feature, for example:

- Currently the analyzer only shows the new "why not promoted"
  messages when the "--verbose" flag is specified; this means the
  feature is unlikely to be noticed by users.

- Currently the analyzer doesn't show a "why not promoted" message
  when the non-promotion reason is that the expression is a property
  access.

- We need one or more web pages explaining non-promotion reasons in
  more detail so that the error messages can contain pointers to them.

- The analyzer and front end currently only show non-promotion reasons
  for expressions of the form `x.y` where `x` fails to be promoted to
  non-nullable.  There are many other scenarios that should be
  handled.

Change-Id: I0a12df74d0fc6274dfb3cb555abea81a75884231
Bug: https://github.com/dart-lang/sdk/issues/38773
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/181741
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2021-02-02 16:15:34 +00:00