Commit Graph

3911 Commits

Author SHA1 Message Date
Michal Terepeta 97093b2594 Watch Bazel generated files for changes
This introduces a way to see what paths have been searched for by
the `BazelWorkspace` and adds a polling-based watcher to detect
when files generated by Bazel appear (or have changed). This allows
us to re-analyze things automatically instead of, e.g., restarting
the server.

Change-Id: I60eae29b0e4fcc3a91d8d2275c6898e45548ea03
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/168649
Commit-Queue: Michal Terepeta <michalt@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2020-12-09 09:39:19 +00:00
Danny Tuppeny 0fa6674ea9 [Analyzer] Include required-named params in defaultArgumentListString and LSP complete-function-calls
Change-Id: I8b4c09305df6e868e7447c538be4a3b540aa7e57
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/174802
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-12-08 20:47:04 +00:00
Konstantin Shcheglov 993bd8a380 Fix NPE in AddAsync when implicit return type.
R=brianwilkerson@google.com, pquitslund@google.com

Change-Id: Id684a3c5d93aa353b0ad5a89407378bd3c9522e2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175328
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-12-08 17:43:04 +00:00
Konstantin Shcheglov b3bcf36a8e Fix for crash in EncapsulateField when in extension.
R=brianwilkerson@google.com, pquitslund@google.com

Change-Id: Ie8b06ad2eea1c4976ca119a39c086cd15faab013
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175330
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-12-08 17:25:40 +00:00
Konstantin Shcheglov f508063f9c When performing partial resolution for Cider, set the context.
R=brianwilkerson@google.com, keertip@google.com

Bug: https://buganizer.corp.google.com/issues/175007667
Change-Id: Ia1f38a8016a5580cd26bf30716affce5bc386f43
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175325
Reviewed-by: Keerti Parthasarathy <keertip@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-12-08 05:19:43 +00:00
Danny Tuppeny 2f2f9fc5ba [Analyzer] Support completeFunctionCalls for LSP SuggestionSet completions
Fixes https://github.com/Dart-Code/Dart-Code/issues/2992.

Change-Id: I95ee3735b7f10d9ad06c729c7b5e6aabeee005e0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175251
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-12-07 19:10:38 +00:00
Brian Wilkerson d55dc9c42a Enable code completion in asset paths
Change-Id: I9f8051f08b011abf74d1d3e7a73d996f501fe9e8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175186
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-12-07 16:34:27 +00:00
Lasse R.H. Nielsen 6e29700e16 Update List constructor documentation, deprecate constructor.
Emphasize that the operation is going away,
and mark constructor as deprecated.

TEST= Refactoring+deprecation only, covered by existing tests.

Change-Id: I82aa044cd2cf7bf347b624371399f44bda8f4a07
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/173261
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
2020-12-07 16:20:28 +00:00
Sam Rawlins 56cf16887c Analyzer: Don't report on prefixed import with illegal references
Bug: TODO from https://github.com/dart-lang/sdk/issues/38784
Change-Id: I4ecdaf333c2613eb5fa0c57e4a8f8be56c35bb21
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175184
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-12-07 01:27:25 +00:00
Konstantin Shcheglov dee85df64d Basic support for elements/types of non-function type aliases.
Change-Id: Ide8f2fff98f7f03375efad23df3ed79795c33a23
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/174681
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-12-04 23:32:02 +00:00
Danny Tuppeny 9a82c5447b [Analyzer] Use ${0} for solo-tabstops in LSP snippets
Fixes https://github.com/Dart-Code/Dart-Code/issues/2975.

Change-Id: I9c4974c9f04fa10565c831672da067f5b0a2d43f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/174926
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-12-03 17:51:43 +00:00
Sam Rawlins e0ebe30190 analyzer: Improve unused_import analysis for shared prefix names
Fixes https://github.com/dart-lang/sdk/issues/38784

Change-Id: I42b32261e9ed71018967e228d2ec731a4613205d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/147336
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-12-03 04:00:37 +00:00
Danny Tuppeny bb971209d1 [Analyzer] Update to latest version of LSP spec
Change-Id: I16418caeacad044269fd3d79e28b9b800ce798f1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/174804
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-12-02 20:11:08 +00:00
Brian Wilkerson bfac5c3009 Enable the flutter use case tests involving requiredIf and fix a couple of bugs
Change-Id: I764d64f7df35a6e5fac4232c0f8907ecb15d1c98
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/174562
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-12-01 22:28:27 +00:00
Konstantin Shcheglov 5af2d78e75 Clean up WithNullSafetyLintMixin.
Change-Id: I7b0527def3589449e40619c5d4338c9ca1c3e672
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/174481
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-12-01 00:05:39 +00:00
Brian Wilkerson 8fee2b96af Rename the tool/completion_metrics directory
The directory contains tools related to code completion that are not
used to measure completion metrics, so the old name was too specific.

Change-Id: Ie8745901655df6e7b29da645b3b0a48011ca9f10
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/174483
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-11-30 23:57:44 +00:00
Brian Wilkerson a4dfaeb51c Add support for generating optional named arguments when necessary
This is needed, for example, when renaming an optional named parameter
when a simple 'renameParameter' isn't sufficient. The existing arguments
need to be preserved.

This also removes the 'statements' style of code template because it
wasn't fully supported and isn't currently needed.

Change-Id: I66035c88fcffef77f7de9eedff4efbaf2720ccb1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/174482
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-11-30 23:57:35 +00:00
Konstantin Shcheglov b29e1d93c2 Clean up WithNullSafetyMixin in analysis_server.
Also fixes a bug in DartCompletionRequestImpl.

Change-Id: I5110226da6e238dae8e632972b969b0e1b17c94b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/174222
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-11-28 04:56:37 +00:00
Danny Tuppeny a0cc6c9819 [Analyzer] Add a new CompletionSuggestionKind for Pub package names
Change-Id: I73fad5c793249a8ee0e30c1ce198b5adf7ff429a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/174128
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-11-27 17:38:16 +00:00
Brian Wilkerson 1f0e6143f8 Add code completion support for the flutter section in pubspec.yaml
Change-Id: I1097661d4b4ec329cb315ee908d35a9db9baed18
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/174160
Reviewed-by: Danny Tuppeny <danny@tuppeny.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-11-26 21:19:39 +00:00
Brian Wilkerson 94f6532bd9 Capture a couple of failing completions as tests
Change-Id: I9495bc60792821703373b68b2bd65650a241d343
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/173882
Reviewed-by: Jaime Wren <jwren@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-11-25 20:09:28 +00:00
Brian Wilkerson c6126c34e9 Suggest previously missed type parameters
Change-Id: I09361984b7a58a281769e5feb04aeb1656620237
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/173880
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Jaime Wren <jwren@google.com>
2020-11-25 00:13:49 +00:00
Brian Wilkerson 32d0d625b3 suggest loop variables defined in for elements
Change-Id: Ie01dabd21b5a37b07d965fc78876a2876b57ce4e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/173840
Reviewed-by: Jaime Wren <jwren@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-11-24 21:51:09 +00:00
Danny Tuppeny 7edcd83073 [Analyzer] Re-create progress tokens after each use + fix race
Change-Id: Ibc6dd59c71d40c5f0127a2881dade13cde8cfd87
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/173271
Commit-Queue: Danny Tuppeny <danny@tuppeny.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-11-23 11:40:33 +00:00
Danny Tuppeny 4fe5b79c07 [Analyzer] Fix off-by-one error in LSP position -> offset calculation
Fixes https://github.com/dart-lang/sdk/issues/44274.

Change-Id: Ia1e3c0f1037ad26fca9eeef27d4c7ada0a318d55
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/173270
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <danny@tuppeny.com>
2020-11-21 16:29:23 +00:00
Danny Tuppeny db263169e5 [Analyzer] Enable code completion for YAML files in LSP
Change-Id: I13a6fe43f7b822b9c88fd0e1ca69091f82d70119
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/173000
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <danny@tuppeny.com>
2020-11-19 15:40:44 +00:00
Danny Tuppeny 732305f11e [Analyzer] Don't show duplicate LSP code actions on same line
Fixes https://github.com/Dart-Code/Dart-Code/issues/2960.

Change-Id: I63361728e80c7db843db9e2b31e76eae78f85400
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/172562
Commit-Queue: Danny Tuppeny <danny@tuppeny.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-11-19 10:55:33 +00:00
Danny Tuppeny 3bf25c6c40 [Analyzer] Support fix-all-for-file in LSP code fixes
Change-Id: Ic3628ee80c409feab178e237bccc5054501549e6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/172400
Commit-Queue: Danny Tuppeny <danny@tuppeny.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-11-19 10:44:13 +00:00
Sam Rawlins f230313871 analysis_server: remove unused imports with shared prefixes
Bug: https://github.com/dart-lang/sdk/issues/38784
Change-Id: Ifd4df564247c08606841a0e22896d767da438a47
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/172740
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2020-11-18 17:30:21 +00:00
pq 8b47021578 prefer convertPath
Follow-up from: https://dart-review.googlesource.com/c/sdk/+/172683/1

Change-Id: I5cb2371fcb6719e4b08ec512bad31031f1d28143
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/172687
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2020-11-18 01:49:49 +00:00
pq df64dbc0ed windows path fix
Change-Id: I676a1e3b71e89880d7a3d9be8c6c9211eabc87c4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/172683
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2020-11-18 00:43:08 +00:00
pq 29a9fe27d2 bulk fix details server protocol
Change-Id: Id96fd8508018159959448c383baa53ad69b5828f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/172621
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-11-17 21:45:28 +00:00
pq f0c9321b14 bulk fix change mapping
Striving to do the "simplest thing that could possibly work" this may just be a conversation starter.


Change-Id: Id3deab6fd1541febbc090c696352563e6b5ce932
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/172460
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-11-17 00:45:30 +00:00
pq 5e9454cbbf infer set type from invocation expressions
Fixes: https://github.com/dart-lang/sdk/issues/44199

Change-Id: I61b76fdcd65fae180d3a1cc1926fe26d2e90ae49
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/172340
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2020-11-16 19:23:06 +00:00
Brian Wilkerson 25ff121c41 Offer to add async when a function should returns Future<void> but does not include a return statement
Bug: https://github.com/dart-lang/sdk/issues/43726
Change-Id: I8d44c8aa10cdd9af4391126b61a691a6a544a441
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/172028
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2020-11-16 16:28:15 +00:00
Brian Wilkerson c88f99b0b7 Initial support for code completion in yaml files
Change-Id: I21276fe32d1c0d8525980edf3b1a5e93de5ae572
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/172024
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
2020-11-16 16:26:36 +00:00
Devon Carew f5e26456bf Remove the --completion-model flag from the analysis server.
Change-Id: I6bedbb0b5c4b8bedba18d2e3b788db0a9686f6df
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/172026
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-11-16 03:31:18 +00:00
Brian Wilkerson c3f96e863f Remove uses of useNewRelevance and clean up associated code
Change-Id: I04dd3b33d229348042609c5a656d1ad68a95913d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/172120
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2020-11-15 00:18:07 +00:00
Brian Wilkerson 9c334a8f3c Support conditional change lists for data-driven fixes
Change-Id: I2e2c383fc2e8c1b101dec90f81486c4e63038911
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/172061
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-11-13 21:50:05 +00:00
Konstantin Shcheglov 861879fad4 Issue 44196. Change ExtensionElement.displayString to the empty string for unnamed extensions.
Bug: https://github.com/dart-lang/sdk/issues/44196
Change-Id: Idcd6b2caa6efa37350a518d229768e9ab3e24599
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/172060
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-11-13 21:44:24 +00:00
Paul Berry 7d3bc4862d Rename pkg/analysis_tool to pkg/analyzer_utilities.
It's no longer just for the tools in the `tool` directory; it also
contains test utilities for use by the analyzer and related packages.

Change-Id: I0f8cf57f24ea7aad8e2177e43ee2bcb2ab3030da
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/171704
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-11-13 17:46:30 +00:00
Devon Carew 4a7aad370f rename DartUnitHighlightsComputer2 to DartUnitHighlightsComputer
Change-Id: I08f15cfbba260dddc1e87f0a91d823df04214e49
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/171800
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2020-11-12 23:12:15 +00:00
Konstantin Shcheglov 6685f4a9e8 Use ResourceProviderMixin where possible in AbstractContextManagerTest.
Change-Id: Id279e01189a1523c2158b0e1315e1ee4c119f301
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/171801
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-11-12 22:24:40 +00:00
Brian Wilkerson 797cd72e3e Fix the bot by forcing a test to fail
Change-Id: Iea61438c8d0f1ef90136a977a183063ae516e005
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/171840
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-11-12 22:01:11 +00:00
Konstantin Shcheglov a30ba008f7 Fix AbstractContextManagerTest for Windows.
Change-Id: I21899663fe779b88c6f493c4c526ca57ff865d9a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/171820
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-11-12 21:44:40 +00:00
Brian Wilkerson 601a8883d2 Allow variables to be declared in templates
While this would allow some variabless to be deduplicated, the real
purpose is to support conditional change lists, which will be added in
the next CL.

Change-Id: I8692b8620e04533d3db0c385964567d629317d6c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/171741
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-11-12 19:10:09 +00:00
Devon Carew 2f9cb8e81b Remove support for v1 of analysis highlighting.
Change-Id: I65bc645de9565628d82d1ff969616f3e38582275
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/171682
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-11-12 18:36:19 +00:00
Brian Wilkerson 08312459f3 Fix a bug in the convert_to_null_aware assist/fix
Bug: https://github.com/dart-lang/sdk/issues/44173
Change-Id: I3b09732fe79577fc394b41a18d58fa8627be5eae
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/171703
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-11-12 17:48:17 +00:00
Danny Tuppeny 44e680ac53 [Analyzer] Add LSP support for Format Selection/Range
Fixes https://github.com/Dart-Code/Dart-Code/issues/812.

Change-Id: I099654483f3799344d68640b4d00df88e6bbca01
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/171722
Commit-Queue: Danny Tuppeny <danny@tuppeny.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-11-12 16:20:36 +00:00
Danny Tuppeny a36f85b5e6 [Analyzer] Generate minimal edits when formatting files using LSP
Fixes https://github.com/Dart-Code/Dart-Code/issues/1626

Change-Id: Id36a86df736ed7d31320abfd2acf1118be3f600b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/171590
Commit-Queue: Danny Tuppeny <danny@tuppeny.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-11-12 16:20:36 +00:00