Commit Graph

4100 Commits

Author SHA1 Message Date
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
Brian Wilkerson 8c775581e2 Fix a bug in data-driven fixes handling of parameter changes
Change-Id: Ic5872a364bfcadc302ec35c0cf63ec87e5e2594b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193444
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-30 04:15:38 +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
pq a68db103ae rename lintProducerMap2 => lintProducerMap
(Also removes deprecated "legacy" lintProducerMap.)

Change-Id: I8c9222657029fe709228e010c4b90f34244814d6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193086
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2021-03-26 14:50:04 +00:00
Konstantin Shcheglov 92130a010e Tests for DAS services and generic annotations.
Change-Id: I063c78ae778366e60bb0d4aca55c4e7fd70f3d52
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193091
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-25 23:38:24 +00:00
pq 9847e7fbe6 migrate to lintProducerMap2
Change-Id: I90b41091b354f02e84772e797257bf20db404f30
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192949
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2021-03-25 14:59:04 +00:00
pq 727d90540d remove nonLintProducerMap
Change-Id: Iae2b150c2dffd8aa13197d08811eed63b707e072
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192941
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-03-24 23:12:03 +00:00
pq 67cf58cde8 unnecessary_final fix support
Change-Id: I79338f2001d621b83ae4234fd4a79321836167b1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192720
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2021-03-24 15:05:41 +00:00
Danny Tuppeny 387e9d9ab2 [analyzer] Include ConditionalExpressions in Flutter Outlines
Fixes https://github.com/Dart-Code/Dart-Code/issues/3196.

Change-Id: I369e48285329c808a092ff677440e159aa7a103b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192688
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-24 15:01:21 +00:00
Konstantin Shcheglov 7f3f3e66ac Skip BazelChangesTest on Windows.
Change-Id: I88259cf2d101c80b35b16bec5cdefd3dc85a5356
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192762
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-23 21:24:01 +00:00
Konstantin Shcheglov 86c5085565 Fix NPE when the return type of a method is inherited.
Change-Id: Iaf77f250c806b116f0f0d6bbd3d9b9ff2ab0090d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192540
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-22 21:03:45 +00:00
Michal Terepeta 6172458220 Trigger checks for generated files also on failed builds
Bug: http://b/183199080
Change-Id: If8a9baed10068f70d24a8831a093e4a4bf240303
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192383
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Michal Terepeta <michalt@google.com>
2021-03-22 18:14:54 +00:00
Brian Wilkerson ec04c1f335 Remove some unnecessary ignore comments
Change-Id: Iafa4b9c8aa5dc696c5746248a8701b4f6e875979
TEST=Existing tests.
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/191980
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2021-03-18 19:58:43 +00:00
Brian Wilkerson d00ef8611a Update the server protocol to support passing back the line and column numbers for the end of a range
Change-Id: I8310e4a32cacbe98310c1dbaa3b3563b1ff1a1ee
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/191862
Reviewed-by: Danny Tuppeny <danny@tuppeny.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-18 19:22:23 +00:00
Michal Terepeta 9933192f36 Move watching generated Bazel files to an isolate
This does a few optimizations to improve the performance of the analyzer
when watching for generated files:

- We do all the polling in a separate isolate.

- We detect when Bazel finished running and only poll afterwards.

- We use a batch interface and deliver all changes at once (instead of
  one by one). This allows us to avoid resetting caches more often than
  necessary.

I had to remove one of the larger tests and created an integration test
instead, since the code for detecting the Bazel builds relies on
`dart:io` directly (`ResourceProvider` does not expose a way to
check for symlink targets).

Since this required a bit more code, I've decided to create a separate
file for it (`bazel_watcher.dart`).

Change-Id: I6c2383e7fd4348ab8af1af639b10db519c7a2f33
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/183010
Commit-Queue: Michal Terepeta <michalt@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2021-03-18 17:50:58 +00:00
Danny Tuppeny 44275c6001 [Analyzer] Add support for LSP experimental SnippetTextEdit
Change-Id: Id37a1954c71fb10c4968c5af6a873ad0ef864a5a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/191403
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-16 18:40:50 +00:00
Sam Rawlins 1cb203d8c9 Remove unused code and files from analysis_server:
* ManifestFixKind, PubspecFixKind, ImportElementInfo class
* WithNullSafetyMixin mixin
* suggestionComparator function

Change-Id: I9e332be6345b2f2b7b788bc4ae63a075a21cbe06
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190821
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2021-03-16 05:08:24 +00:00
Danny Tuppeny cf3dcc4256 [analyzer] Prevent MOVE_FILE using absolute URIs when moving files out of lib
Fixes part of https://github.com/dart-lang/sdk/issues/41889, maybe part of https://github.com/dart-lang/sdk/issues/43602.

Change-Id: Ic7a1e81a280e9786e26f0075ea079e0136e934b0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/191142
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-15 18:42:44 +00:00
Brian Wilkerson 55522f9e90 Fix a bug in completion when a setter does not have a corresponding getter
Fixes: https://github.com/dart-lang/sdk/issues/45300
Change-Id: I0a5043b5d395abb426615e8c434f23c20062e182
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/191180
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-15 17:34:53 +00:00
Brian Wilkerson 2f3c274632 Clean up some code in analysis_server
Change-Id: Icaa4cc19d1966e3dbc70f82745e4fd771a18ed16
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190728
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-12 04:45:39 +00:00
Brian Wilkerson d043b1428e Resolve type parameters to their bounds when suggesting instance members
Change-Id: I19fe690216ba0c0dd7d0444d7bda4a58aaa3e8a3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190723
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-11 19:14:30 +00:00
Brian Wilkerson 917688fe3c Resolve type parameters to their bounds when computing the context type
Change-Id: I34349ccf3728e0cc1f1caab4499896f2f827e85b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190721
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2021-03-11 18:59:01 +00:00
Brian Wilkerson acdd5231fd Deprecated setters should not take priority over non-deprecated getters
I hadn't really noticed this behavior until we deprecated large numbers
of setters in the AstNode hierarchy.

Change-Id: If068edd0a55a7a828b7ad114ff5812716ff265e1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190283
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-10 00:55:42 +00:00
Brian Wilkerson 7a862df2d8 Compute the context_type feature in instance creation expressions
Change-Id: I72c34e7ecb24377605b8983bcbdb98bdfd73c6f8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190281
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-09 23:27:02 +00:00
Konstantin Shcheglov f94484c8d2 Fix AvailableSuggestionSetsTest on Windows.
Change-Id: I1736cb9b28b82b43c5f49661c157fac477ed3a34
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190260
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-09 22:20:44 +00:00
Keerti Parthasarathy b4adea8f46 Add flutter assist test for Cider
Change-Id: Icc04283fd2d37638fcb7382c55f8d409a627a97f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189880
Commit-Queue: Keerti Parthasarathy <keertip@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2021-03-09 21:32:12 +00:00
Brian Wilkerson 038c653c08 Fix a bug in the sort_child_property_last fix
Fixes: https://github.com/dart-lang/sdk/issues/45220
Change-Id: I6634443de0fd87983097cb452238b6b1588ae818
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190101
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-09 17:51:00 +00:00
Brian Wilkerson 097a825e4a Suggest the fix add_ne_null only when the type of the condition is nullable
Change-Id: Iaad91d5e8b7f5725a8ccb7430eb3f7570a1eea38
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189842
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-08 23:13:43 +00:00
Brian Wilkerson 7d971fad1c Stop suggesting non-factory constructors for abstract classes
Change-Id: I3ed6936d36b0f35cea7950ac089c89efacdf0ca6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189680
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Danny Tuppeny <danny@tuppeny.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-08 18:53:51 +00:00
Konstantin Shcheglov ce3f671f7a Fix refactoring tests on Windows.
Change-Id: I7f1ac7c6a34732e1c7c660cd43a02e1617e43f66
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189481
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-07 17:20:00 +00:00
Konstantin Shcheglov 53c8eda967 Keep more specific types for AnalysisContextCollectionImpl to avoid downcasts.
It seems to me that implicitly expecting DriverBasedAnalysisContext
is equivalent to explicitly stating this with types.

Change-Id: I16ec14e73030d9b34242a2f4ad582e93fc44afa7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189382
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-03-06 06:23:25 +00:00
Konstantin Shcheglov c8d6f85d0f Enforce lint unnecessary_parenthesis in analysis_server.
Change-Id: Ib68c124988743b45807015e7274f429fff67fe44
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189384
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-06 05:20:16 +00:00
Konstantin Shcheglov f81be2cd8b Use AnalysisDriver.addedFiles for search, remove DriverAnalyzedFiles.
The client that uses Search - DAS, adds analyzed files.
Visiting the file system again to gather analyzed files is wasteful.
DAS now uses AnalysisContextCollection, so the same set of files.

Change-Id: I2b6ba4181e7ed8cda02db152086d13758ea6f4dd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189381
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-06 05:15:24 +00:00
Konstantin Shcheglov 9f5f825d96 Check that the element of MethodInvocatio is ExecutableElement.
Change-Id: Ibf414e624b32b6ac5a0b0fde13422db45f875a15
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189262
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Danny Tuppeny <danny@tuppeny.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-05 16:50:56 +00:00
pq 82ad11aeb9 fix all support for USE_NOT_EQ_NULL
Change-Id: I928c669eed12c7f0a6082db059f7ce4133d4f27a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189164
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2021-03-04 23:14:20 +00:00
pq d202a4c719 fix all fix for USE_EQ_EQ_NULL
Change-Id: I02f78f01b3fcc647dd8e3ca0557cb4f023a745f4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189140
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-03-04 21:58:39 +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
Danny Tuppeny bacd31dcdf [analyzer] Flatten capabilities into a wrapper to simplify checking capabilities
Change-Id: I184e8ce3379bbb6ae4d8e81d80979510a8f1f393
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188724
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-04 19:51:09 +00:00
Danny Tuppeny dcc466919f [analyzer] Suggest named args between partially-typed names and values
Fixes https://github.com/dart-lang/sdk/issues/35414.

Change-Id: I847aa87c56de248e8e704790c163de4f83813bbf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189081
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-04 18:39:49 +00:00
Danny Tuppeny 78dd7a4bb3 [analyzer] Suggest arg names in front of positionals
Fixes https://github.com/dart-lang/sdk/issues/40654.

Change-Id: I329d8b4af9371e8d61c4044bb003f9c22cd72c41
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/182783
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-04 18:21:19 +00:00
pq 567d745312 fix all support for REPLACE_BOOLEAN_WITH_BOOL
Change-Id: I9b9c9d1732653697abd66b2d7b0d09e818a33ae3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189101
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-03-04 17:54:39 +00:00
Danny Tuppeny 0635916aeb [analyzer] Set InsertTextMode.asIs for LSP completions when supported
Fixes https://github.com/dart-lang/sdk/issues/45147.

Change-Id: Id6c758eadf9a79ec9cd285fef9e50a1540cdc280
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188723
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-04 16:44:49 +00:00
pq 64012a281f fix all support for REMOVE_UNNECESSARY_CAST
Change-Id: I1507f07271390d24aefed9db96a7fbf9e304ff01
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189000
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-03-04 16:20:27 +00:00
Konstantin Shcheglov 810d6c7a6b Remove a test for prefer_interpolation_to_compose_strings lint fix.
The lint is not reported after the linter roll.
https://github.com/dart-lang/linter/issues/2490

TBR

Change-Id: I29158445b1395f2bd135d4c67b9322f39eb66fd6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189020
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-04 07:48:16 +00:00
pq c43be3487b bulk fix support for REMOVE_UNNECESSARY_PARENTHESES
Change-Id: I4ce0336398adab64ba6bd811ab918d3f77a0c6cf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188880
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2021-03-03 23:01:15 +00:00
Sam Rawlins 8d7dfd6769 Analysis_server: Improve add_null_check fix
This adds add_null_check support for prefix operations, postfix operations,
binary operations, and cascades.

Bug: https://github.com/dart-lang/sdk/issues/43708
Change-Id: I2d1e80f2ccad58adfbac72400ce44efd48751833
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188740
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2021-03-03 22:31:14 +00:00
Konstantin Shcheglov 26fce2a64a Fixes for plugin_manager_test.dart to work on Windows.
Change-Id: Icf36f67acf716d6b4c0ce534c8fb865e3a97d5ae
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188840
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-03-03 22:22:34 +00:00
Konstantin Shcheglov 52ea1fd237 Fix for CiderFixesComputerTest on Windows
TBR

Change-Id: Iad1b8148bdc1d87ed57b8eec5593c09a9b4e5148
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188900
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2021-03-03 21:57:15 +00:00
Brian Wilkerson 38a4d48974 Fix bugs in convert_to_generic_function_syntax
Fixes: https://github.com/dart-lang/sdk/issues/45178
Change-Id: Idcdb392637c85225caeba0bab3f539e30abf55f7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188742
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-03 21:10:34 +00:00
pq 944169ad81 fix attempts to fix lints not in the producer map
Fixes: https://github.com/dart-lang/sdk/issues/45177

Change-Id: Id3282f69ee1639b45f5de938f30ae414cee4a3cf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188780
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2021-03-03 20:01:04 +00:00