Commit Graph

129 Commits

Author SHA1 Message Date
Danny Tuppeny f4b273e782 [analysis_server] Add an LSP refactor.validate command
This allows a client to trigger initial validation of a refactor before prompting the user for options.

Change-Id: I22fec7996c0c86a5245ccb0c41d23964bdb6f967
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/237141
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2022-03-22 17:09:28 +00:00
Danny Tuppeny 7ad1786e45 [analysis_server] Refactor completion handlers in preparation for using NotImportedContributor
Change-Id: I18608b110093e87887f8e9118340e323fe829248
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/230081
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2022-01-26 20:07:28 +00:00
Danny Tuppeny 08c42b3178 [analysis_server] Fix some minor LSP codegen issues
Change-Id: Ie6171416cca75ec623d600ddea2e1efefd8156ec
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/228645
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2022-01-18 17:35:05 +00:00
Sam Rawlins b06b60702b analysis_server: Enforce strict-casts
Bug: https://github.com/dart-lang/sdk/issues/41651
Change-Id: I9be21ab7e8f8b61707a75d7d4b5f9a872ad0fb95
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/222220
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2021-12-07 22:45:59 +00:00
Ahmed Ashour d041cf0478 Remove extra the, be and of
Fixes #https://github.com/dart-lang/sdk/issues/47504

TEST=No tests needed, only comments affected.

Change-Id: Ie096307b5ce314d328fea6780f396aaa226ad3b0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/216182
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
2021-10-20 09:29:01 +00:00
Kevin Moore cb7c932f7b analyzer: use Object.hash functions, deprecate JenkinsSmiHash
Also bump min SDK for pkg:analyzer

Towards https://github.com/dart-lang/sdk/issues/27698

Change-Id: Ic32c839c02f18afd99fdb98eb382540aae7da88a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/214126
Auto-Submit: Kevin Moore <kevmoo@google.com>
Commit-Queue: Kevin Moore <kevmoo@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2021-09-22 19:11:24 +00:00
Ahmed Ashour c1f63c05b8 Remove unnecessary raw string from protocol_generated
Fixes #47146

Change-Id: I6710a8bb32e5ec770e570c93612f44a9ce63bc3c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212744
Reviewed-by: Danny Tuppeny <danny@tuppeny.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-09-13 21:10:40 +00:00
Kevin Moore 9f3b7cf4c6 analysis_server: migrate to Object.hash functions
Update min SDK to 2.14

Change-Id: I370875b550f5c103560e13697329c1443c036a2c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212880
Auto-Submit: Kevin Moore <kevmoo@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2021-09-09 00:23:43 +00:00
Danny Tuppeny c2f5625fa7 [analysis_server] Swap from dynamic to Object? in LSP generated code
Change-Id: Ib8ce2c722806b53b727d256c73859becbc1dbd11
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/206120
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-07-07 17:14:34 +00:00
Danny Tuppeny cc67085501 [analyzer] Add support for LSP textDocument/selectionRanges
This is used to support "expand selection" functionality in editors.

Fixes https://github.com/Dart-Code/Dart-Code/issues/3332.

Change-Id: I27929b152ef618fb8b57c43e6c6f6e21fe0966dd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/200427
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-05-19 16:34:47 +00:00
Danny Tuppeny b3993c9349 [analyzer] Map all LSP integer/uintegers on to Dart's int type
Change-Id: I714bafdf378b8a29ba847c8d39ebe96977fc977e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/198043
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-05-04 15:37:41 +00:00
Danny Tuppeny 97e9186df8 [analyzer] Improve null handling in LSP server
Change-Id: I2060912853d131fad1d02ddc68f0b62ab16e3b23
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/196123
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-04-20 19:30:38 +00:00
Danny Tuppeny 77466f2b83 [analyzer] Migrate remaining LSP code to null-safe
Change-Id: I52c7d16bdaf9f68148a8d7a956330bc54608ec43
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/195980
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-04-19 19:35:28 +00:00
Danny Tuppeny 934be22ab5 [analyzer] Support package descriptions + version numbers in pubspec.yaml package completion
Change-Id: I064689814b1f81671be870bb5c8499ebf35ab468
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/195077
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-04-15 20:24:32 +00:00
Danny Tuppeny 7ea96c93d5 [analyzer] Migrate generated LSP code to null-safe
Change-Id: Ibed2e796bfcfe2ad48460cf1029a9fd9034e6418
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/195274
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-04-14 18:24:25 +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
Brian Wilkerson 464cc509ab Remove one move ignore comment from generated LSP support
Change-Id: I905056f98780f127466caa0ba9e8a5f6d13a7282
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192285
Reviewed-by: Danny Tuppeny <danny@tuppeny.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-22 14:09:23 +00:00
Brian Wilkerson c5d01ec4f7 Remove a couple of ignore-in-file comments and make one more unnecessary in generated code
Change-Id: I8313fe2b4c3908dd5751f7eeca417adfcb2e5790
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192040
Reviewed-by: Danny Tuppeny <danny@tuppeny.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-19 14:44:27 +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
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
Danny Tuppeny ff61ff7d33 [analyzer] Call toJson() on items in Lists when generating LSP json
Change-Id: I9f5876dc577499ae609079eaecae6a3eb47535d7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188288
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-02 15:24:38 +00:00
Danny Tuppeny c4edcc4cfa [analyzer] Support separate insert/replace ranges for completions
Fixes https://github.com/Dart-Code/Dart-Code/issues/2998.

Change-Id: I8e989932c16dc97f704c79c06374c8d1d1881f7e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186581
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-02-23 17:43:11 +00:00
Danny Tuppeny f6c6ea5373 [Analyzer] Update to final published version of v3.16.0 of LSP spec
Change-Id: I290b462352fc72b58b2f8f5f8b85464257017b7a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/176080
Auto-Submit: Danny Tuppeny <danny@tuppeny.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-12-14 16:03:59 +00:00
Danny Tuppeny c9f6e51315 [Analyzer] Update to include final LSP v3.16 changes
Change-Id: Icb35324308485e3a40abfcee8550ba10538a935e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175720
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-12-10 18:10:47 +00:00
Danny Tuppeny 4525525a9d [Analyzer] Handle parsing v3.16 LSP Spec
Change-Id: I6afd5c32673ba580cdf6691bdfa521766f65c3b0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/158392
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-12-09 20:29:30 +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
Danny Tuppeny 2076989667 [Analyzer] Split LSP completion resolution info into base/sub-classes
Change-Id: I57f61b8d0467c32562d865de3b87d75995cfb35f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/174129
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-11-27 18:39:05 +00:00
Danny Tuppeny aa5cb76916 [Analyzer] Make LSP literal types optional in constructors and validate their values
Change-Id: Id6dddd4ed4819a75da4226ee57d73a65c15c9048
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/164965
Commit-Queue: Danny Tuppeny <danny@tuppeny.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-09-30 09:39:22 +00:00
Danny Tuppeny 144a4545a0 [Analyzer] Update LSP toJson() functions to call toJson() on child fields
Change-Id: I596af3142ea3f1a279d3d98390cfe7e4d9d90cbd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/164962
Commit-Queue: Danny Tuppeny <danny@tuppeny.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-09-29 17:42:47 +00:00
Danny Tuppeny 5aa25f039c [Analyzer] Handle literal types in LSP spec correctly
This ensures canParse() methods correctly handle literal types from the LSP spec instead of allowing any literal of the same type to pass.

Change-Id: I4876f4adc8de1d9138e0f62868aa6a8a010b9102
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/162753
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <danny@tuppeny.com>
2020-09-16 15:22:58 +00:00
Danny Tuppeny c4a2efd6e7 Switch all generated LSP classes to use named constructor arguments
Change-Id: I111b58fa5d04314247d5f92650491cdeef6bd4a3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153841
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <danny@tuppeny.com>
2020-07-09 17:18:07 +00:00
Danny Tuppeny 6db0396c83 Regenerate code from v3.15 LSP spec
Commit v3.15 of LSP spec + regen generated code

Change-Id: Ic0823063791900f347e1ff1f2242a6e4e6ed8ca6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153778
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-07-09 17:18:07 +00:00
Danny Tuppeny 16ef3ee562 Fix LSP equality checks for lists/maps within unions
Change-Id: I7ec8b591375dfb4d75f802839b89c1288cd4cfef
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151236
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-06-15 18:09:02 +00:00
Danny Tuppeny 3b243a0c30 Recurse through lists/maps when generating hash codes in LSP types
Change-Id: I06117fe33c7bfb8553e9930afbf7e3bdc86c6032
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151230
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-06-15 18:09:02 +00:00
Danny Tuppeny 7accf5ecfc Improve LSP spec regex to catch didChangeConfiguration method
Change-Id: I8a377bd79b86b59fce0f16c424c372127ff63433
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149584
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-06-02 14:33:51 +00:00
Danny Tuppeny fad05e89dc Require exact type matches for equality in LSP classes
Change-Id: Ia3f502a315e2c6fbc62eb6fbe3785dad86c782cc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142992
Commit-Queue: Danny Tuppeny <danny@tuppeny.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-04-14 15:47:01 +00:00
Danny Tuppeny 2fbe4d9194 Resolve type aliases when generating LSP equals methods
Change-Id: Iccecfa8dc8d77cb0d4358db1f7fa54607ffaa428
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142991
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-04-14 15:47:01 +00:00
Brian Wilkerson 8969b1839c Enable omit_local_variable_types in analysis_server
Change-Id: I7e5c13d40fd276854601681fc84be321e6031b10
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141583
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-03-30 03:58:44 +00:00
Brian Wilkerson 5d7f3093fd Update the lsp generator to generate return types for all methods
Change-Id: Id1a90d770aa772327011ee8ccc7a13f0ca6f8de4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133961
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-01-30 21:43:43 +00:00
Brian Wilkerson 8efdee06d6 Begin adding return types in analysis_server
Change-Id: Id0daa52236bdc90cba6bfd7cf81d1b4cf47603c0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133544
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-01-28 21:18:30 +00:00
Brian Wilkerson 5584c96fde Enable prefer_single_quotes in analysis_server
All of the changes except in the analysis options file are from dartfix.

Change-Id: Icd9bf02ad07f71d1fc365979c7dfe18a792dc595
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132624
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-01-21 17:52:52 +00:00
Danny Tuppeny c8c367bb10 Add valueRange field to LSP Flutter Outline attributes
Include range of values in LSP FlutterOutline notifications

Change-Id: I07cbe970d553f793dbdb4cb282807eec12720017
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130680
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-01-08 20:10:06 +00:00
Brian Wilkerson 8c6c27541e Disable a lint in the LSP generated code and re-run the generator
Turns out we aren't testing to ensure that the LSP generator has been
run as part of our test suite. Ideally we'd do so and we'd update the
generator to produce code that doesn't violate lints, but that's more
work than I can do today. Hence this stop-gap CL.

Change-Id: Ia9e5a35817fc4d08e2a4b87b9c2ef64725c822b7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130004
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-01-02 04:55:46 +00:00
Brian Wilkerson 91d6e1a0a7 Enable annotate_overrides in several packages
Other than analysis_server/test/analysis/notification_overrides_test.dart,
which had a naming conflict, all of the changes were made using dartfix.

Change-Id: I911dd75dcdee00420caa48724125e86d47c8857d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130002
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-01-01 21:31:40 +00:00
Brian Wilkerson 52c6620986 Enable unnecessary_const in analysis_server
Change-Id: I44d9902cb23d005ebedd4bc37d57d3751a8ebdc5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129100
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-12-19 17:32:52 +00:00
Brian Wilkerson de57ff3b1d Remove one missed generated use of const in analysis_server
Change-Id: I6aac996b1cfe1c5d49d2cb68f7c7340893b79531
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129040
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-12-19 05:34:28 +00:00
Brian Wilkerson 4043a6fce3 Remove unnecessary uses of new in analysis_server
Other than analysis_options.yaml, all of the changes were from running
dartfix.

Change-Id: I92411642f12a00fc6bd0bfd24dd60fe67f0fed16
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128845
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-12-18 19:01:51 +00:00
Danny Tuppeny 0addcc0c7d Update LSP spec URI and regenerate from spec
Change-Id: I361a7a6e10167e140bf4ba190f29a3c33c584f01
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128720
Auto-Submit: Danny Tuppeny <danny@tuppeny.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-12-18 15:08:21 +00:00
Danny Tuppeny 62e5531e36 Add a Flutter Outline Notification to the LSP server
Change-Id: Ifbff7d88df7e468cfba383fda89160c7d3d5ee33
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128662
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-12-17 17:46:36 +00:00
Danny Tuppeny 7c5d83d170 Add explicit type to generated LSP classes == operators
Change-Id: I42f76c8d48329fed93821a17da71963eaa813d4f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128161
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2019-12-12 18:42:20 +00:00