Commit Graph

809 Commits

Author SHA1 Message Date
Konstantin Shcheglov 90ce990409 Simplify Flutter support to a single instance.
Change-Id: I90813c4e01694510971c4ce9cf96a4a3380a2923
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153952
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-07-10 17:21:24 +00:00
pq 3d5df93fb1 bulk fix protocol
Change-Id: Id8505d5ad6f0f3d1c5289ab12d4932c6174f72e5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153623
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2020-07-10 14:20:07 +00:00
Jaime Wren 9a4e2b1514 Add an additional completion metric into completion_metrics.dart: 'use old vs new relevance rank comparison'
Change-Id: I21eb1447dd6c833870158717031a01d7e8f253c2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153485
Commit-Queue: Jaime Wren <jwren@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-07-09 17:19:02 +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 d86fa966a9 Tweaks to be able to parse v3.15 spec
Change-Id: Ifdb8696246b6893b743754dab5344d5939550a10
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153776
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-07-09 17:18:07 +00:00
Jaime Wren 431b57cbbb Add an additional category into completion_metrics.dart: parameter references
Change-Id: Ifed40f0eb0472894be92a41f105a6dfb36bcbb36
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153367
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Jaime Wren <jwren@google.com>
2020-07-06 22:39:39 +00:00
Konstantin Shcheglov 326f7b4a8f Remove DartSdk.useSummary.
Initial:  https://dart-review.googlesource.com/c/sdk/+/149495
Reverted: https://dart-review.googlesource.com/c/sdk/+/149687
Change-Id: Ibd3f1af1aef83adc35f77cfbda66e07c5ae99922
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153241
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-07-03 15:56:41 +00:00
Jaime Wren fffa2bd30c Small change from https://dart-review.googlesource.com/c/sdk/+/153020 that Gerrit did not successfully patch before landing the PR
Change-Id: Iac0907d353d7c39c84bbe5c9364c7888e481b694
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152904
Auto-Submit: Jaime Wren <jwren@google.com>
Commit-Queue: Jaime Wren <jwren@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-07-01 19:34:24 +00:00
Jaime Wren b08ade3748 completion_metrics.dart change- add an additional group, local references, when printing out the output
Change-Id: I38601eb748d0247413725b62718bcabdb1e3e6fa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153020
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Jaime Wren <jwren@google.com>
2020-07-01 18:36:14 +00:00
Brian Wilkerson 5d064d2748 Add and use a feature based on the distance to a local variable declaration
Change-Id: Id89e2e9bb417fa62095d4e81f9721a8d3c0893ce
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152901
Reviewed-by: Jaime Wren <jwren@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-07-01 18:19:44 +00:00
Eric Dallo 6d3928554c Add lsp-dart to lsp_spec README
https://emacs-lsp.github.io/lsp-dart

Closes https://github.com/dart-lang/sdk/pull/42514
https://github.com/dart-lang/sdk/pull/42514

GitOrigin-RevId: cfa8edf358669c3ec2324a726a848fbc548bb6a3
Change-Id: Icaa90cdbb462b51fae6c186fe7626ca6168b9599
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152820
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2020-07-01 13:15:22 +00:00
Konstantin Shcheglov c4503f0074 Use OperationPerformance to track performance in CompletionPerformance.
R=brianwilkerson@google.com

Change-Id: I50158512020be87b3c51363ed2e503c3df3cfaae
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152980
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-06-30 17:44:54 +00:00
Jaime Wren 79e54facb8 Add a new category in completion_metrics.dart when gathering and printing the data: type references.
Change-Id: I6a30195a21e4c2b6886e48d5360f11bd2d200467
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152720
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Jaime Wren <jwren@google.com>
2020-06-27 00:36:08 +00:00
Jaime Wren ccd2af6402 This new tool resolves and evaluates field declarations where the type isn't specified, but is known when the code is resolved, i.e. cases of var i = 1;.
These cases are collected sorted and printed back out to help us improve the context type algorithm, that is we may choose to in completion locations 'var i = ^', to assume that the user will be entering an int type.

Change-Id: Ia3e4663b2cf1614935ff49a4ab10299db0dc909d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151783
Commit-Queue: Jaime Wren <jwren@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-06-23 20:59:03 +00:00
Brian Wilkerson b95538cff1 Generate tables of keyword relevance
Change-Id: Ic0f07561bd4b4cd81a3b511bac31b0f7b4906319
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151881
Reviewed-by: Jaime Wren <jwren@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-06-23 18:57:03 +00:00
Konstantin Shcheglov 71ddad82e4 Disable UriContributor for Cider.
There are two reasons to disable it.

1. This contributor talks to the file system, and for Cider this
   operation is too slow.

2. It just does not work. We need `SourceFactory` for it, and the
   way we get it is not compatible with the Cider's `AnalysisSession`
   mock.


R=brianwilkerson@google.com, keertip@google.com

Change-Id: I652c4f438dbab2a9fa220878ff09d47c14434cd5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151806
Reviewed-by: Keerti Parthasarathy <keertip@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-06-18 23:29:03 +00:00
Danny Tuppeny 7f8ec737db Add a note to docs about enumerations being extended
Change-Id: Ia5d6017018b812777b35641c2ee5a4bca9aa9501
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151527
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <danny@tuppeny.com>
2020-06-17 19:32:50 +00:00
Danny Tuppeny f0e1f32c87 Add support for folding if/else/elseif blocks
Change-Id: I3cbf1f282ee59c577c6ba912e957f838e827fd3e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151520
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-06-17 19:32:50 +00:00
Danny Tuppeny b2f755ac07 Add a note about passing client-id/client-version to LSP doc
Change-Id: Ic82e5915e512c78c99b963bbaa74aaed42374726
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151506
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <danny@tuppeny.com>
2020-06-17 15:06:54 +00:00
Brian Wilkerson bd3b3299cb Correct an abbreviation
Change-Id: I7424cd587c87f1256237de1cf913b9b0b31104f2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151341
Reviewed-by: Jaime Wren <jwren@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-06-15 22:16:52 +00:00
Jaime Wren 920ddae937 Re-write of the computation of the context type for code completion.  Instead of passing a parent and child node, a parent node with an offset is passed.  The primary purpose of this change was to fix a bug with argument lists which is close to being fixed.
I will follow up with some additional fixes and tests for map and list literals.

Change-Id: I1a26e8f900dcf13402385a49e8f3538c5d1b39df
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151030
Commit-Queue: Jaime Wren <jwren@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-06-15 18:19:42 +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
Brian Wilkerson 3a31bc2fd4 Update relevance metrics to compute element kind probabilities based on whether type parameters are in scope
Change-Id: I1b85f7723c0eed0a0287dc794daecbd6acbc162b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151060
Reviewed-by: Jaime Wren <jwren@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-06-12 16:28:36 +00:00
Jaime Wren 88c3d26d7f Null check fix in completion metrics
Change-Id: I0941e0ecd404fe307ab823ea76f947e34ab720da
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150763
Auto-Submit: Jaime Wren <jwren@google.com>
Commit-Queue: Jaime Wren <jwren@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-06-10 16:37:26 +00:00
Brian Wilkerson b81fd7af4a Update printing of per-location mrr values in completion_metrics
The values are now only printed when `verbose` is enabled, and are
sorted based on how mig an impact completions in those locations are
impacting the total.

Change-Id: I913f82e57cf0a97d3465b0b41d9431ca3cf56e30
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150262
Reviewed-by: Jaime Wren <jwren@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-06-05 17:13:34 +00:00
Danny Tuppeny f92a7d2669 Add Plugin column to LSP status table
Change-Id: I02d16133b898bdfd1ed781ad4aed7748700f6fb0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150027
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <danny@tuppeny.com>
2020-06-04 15:39:37 +00:00
Paul Berry 930cae0f13 Revert "Remove DartSdk.useSummary."
This reverts commit a2c3ecabce.

Reason for revert: Breaking change to de facto API

Original change's description:
> Remove DartSdk.useSummary.
> 
> R=​brianwilkerson@google.com
> 
> Change-Id: Ifa851f4af47a973d65c528c6d07fcac0a515134b
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149495
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>

TBR=scheglov@google.com,brianwilkerson@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I9998bedb74ea940371f18ac7dce42b2f5dcc3b98
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149687
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2020-06-02 15:20:32 +00:00
Danny Tuppeny 44c7650a10 Enable/disable and register/unregister LSP formatter based on client settings
Change-Id: Ida81ce80795f79feaaa0e4590c19bc1bc24929a1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149591
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <danny@tuppeny.com>
2020-06-02 14:33:51 +00:00
Danny Tuppeny dd7589e5ce Add LSP support for client-side configuration
Change-Id: I27aa706fd29da00d21fc4177cd455d8259cf9339
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149590
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-06-02 14:33:51 +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
Konstantin Shcheglov a2c3ecabce Remove DartSdk.useSummary.
R=brianwilkerson@google.com

Change-Id: Ifa851f4af47a973d65c528c6d07fcac0a515134b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149495
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-05-30 19:07:32 +00:00
Konstantin Shcheglov a56368926e Remove support for 'packageRoots' in DAS.
Bug: https://github.com/dart-lang/sdk/issues/41197
Change-Id: I61929a5853b4e353e3a758fe5088f2ff2c1fda2d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149100
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-05-28 22:57:32 +00:00
Brian Wilkerson b7364da5fd Fix the computation of completion location in OpType
There was a bug earlier in which we were attempting to use a relevance
table (MethodInvocation_arguments) that was not generated. I thought
the bug was that the table wasn't being generated, so I attempted to
generate the table (in relevance_table_generator). But the table can't
be generated and the real bug was that the wrong contextLocation was
being generated when computing the OpType. So I backed out the earlier
change and updated the generation to generate the right location.

Change-Id: Ifbd2c6c3e11e1e98887108be7eb6d90e90452446
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149381
Reviewed-by: Jaime Wren <jwren@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-05-28 21:23:01 +00:00
Brian Wilkerson 8dcd9385c5 Compute mmrs at a finer granularity
Change-Id: I6f6e3d415591cb52fd5ae409a85d5481aff26849
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149360
Reviewed-by: Jaime Wren <jwren@google.com>
2020-05-28 18:24:42 +00:00
Brian Wilkerson cbc6de6c2d Update the relevance metrics tool
This adds tracking of how often type parameters are declared and how
often import prefixes are used.

It also removes the code to convert to and from JSON because we don't
need it.

Change-Id: I7f3b19e9f82bd8aa1b327797726839ff63837795
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149121
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-05-27 16:44:50 +00:00
Konstantin Shcheglov 279024d823 Deprecate InstanceCreationExpression.staticElement
Change-Id: I3c2de8ce22944963418d543b887720db15badd0d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148981
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-05-26 22:56:42 +00:00
Konstantin Shcheglov 80e9667f2c Fix unused imports.
R=brianwilkerson@google.com

Change-Id: I02f47632bef3a2e601f7f471c7149829e06844f6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148963
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-05-25 16:58:38 +00:00
Brian Wilkerson dc37860209 Change the element kind used for relevance computations
We used to be somewhat inconsistent about the choice of element kind for
top-level variables, getters and setters and fields, getters and setters
in classes, mixins and extensions. We no longer use GETTER and SETTER as
kinds, using FIELD and TOP_LEVEL_VARIABLE everywhere. This makes some
cases better and some worse, but improves the overall score across all
the completions in our metrics.

Change-Id: Idd0b10b3afe6023ecf39930b6a09abf28b3232bd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148883
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-05-24 19:21:18 +00:00
Brian Wilkerson 68d8690580 Attempt to shorten the output from completion_metrics
The doc comments from flutter are sometimes very long.

Change-Id: Ie20d75101fd2bef9b35a3fbeb5277a282f9215c2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148662
Reviewed-by: Jaime Wren <jwren@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-05-19 21:56:41 +00:00
Brian Wilkerson b560016446 Fix some issues in the new relevance computations
The code to check the element kind was not being used in a few places
because (a) the generator wasn't always generating a table when it
should and (b) the key for the table wasn't always being set when
creating the OpType. Both of these issues have been mostly addressed.

That required re-generating the element kind tables.

There were several places where context type information wasn't being
used when building suggestions. This has been fixed for all the places
I'm currently aware of.

There were a couple of places where the context type wasn't being
computed where it could have been. I have fixed the places I'm aware of.

Context types were not being computed anywhere because of a bug that
has now been fixed.

There is now one place that computes and caches the context type, which
should improve performance slightly.

I also removed some dead code that I discovered in the process of making
the other changes and cleaned up a couple of places in the code that
were suboptimal.

Change-Id: Ieae8dcc71b986841be3078d6e0b3a653c35384b8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148237
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2020-05-16 17:15:33 +00:00
Brian Wilkerson 085477c494 Add the ability to get feature data from the completion metrics
Sorry about the size of the CL. I can split it up if you'd like.

In order to do this I added a listener to SuggestionBuilder so that we
could capture the data as suggestions are being built. If it turns out
to be a performance problem we can remove it before shipping it, but it
should only impact the new relevance path, which isn't being used yet in
production.

This splits the "worst" and "slowest" (formerly "longest") results into
three groups. I might find it useful to split them out into more groups
later, but I think this gives me a good place to start.

This also adds a new flag to disable running completions using the old
relevance values. That cuts the time to get data by 1/3 to 1/2.

All off these changes led to a fair bit of refactoring to try to reduce
duplication (both existing and what would have been added if I hadn't
done the refactoring).

Change-Id: I5e8dcbba2c01b3665eb486f183f6ad8014285413
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148002
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-05-13 21:45:47 +00:00
Kevin Moore 0acc564104 Fix a number of URIs referring to dartlang.org
Change-Id: Ie1373e93092023caf5e0bcfd6bb88bfb422d5daf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/147921
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Kevin Moore <kevmoo@google.com>
2020-05-13 18:24:12 +00:00
Konstantin Shcheglov 9b3f9db65a Switch InheritanceManager3 to computing ClassElement interfaces.
Change-Id: Id9148d1bf3fc369eeabe2b1acc7507c20986a3e8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/146682
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-05-06 03:09:03 +00:00
Jaime Wren 4aec1e76e2 Record and report the completion suggestions that take the longest to compute in completion_metrics.dart.
Change-Id: I5a4043a9754439c38be6b86c094a895366c2afc9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145562
Commit-Queue: Jaime Wren <jwren@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Auto-Submit: Jaime Wren <jwren@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-04-29 22:38:58 +00:00
Jaime Wren 1784caa31d Completion metrics bug fix, pass in DartdocDirectiveInfo() when creating a DartCompletionManager()
Change-Id: Ib9a1c15016d3ed2427510e58dd63458655a50b5c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145504
Commit-Queue: Jaime Wren <jwren@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Auto-Submit: Jaime Wren <jwren@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-04-29 20:05:44 +00:00
Jaime Wren 53601ecc18 Implement available suggestions in completion_metrics.dart, a flag is added to enable the new feature.
Change-Id: Ib7477b1a517d4aa1dc09d85df3df553ca61baa2e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145241
Reviewed-by: Jaime Wren <jwren@google.com>
Commit-Queue: Jaime Wren <jwren@google.com>
2020-04-29 17:59:24 +00:00
Simon Binder aa529bc684 Support plugin notifications in LSP server
This adds support for analysis domains that plugins contribute to by
sending notifications. I've only implemented folding so far, but most
of this CL is to cache results from plugins and to adapt sending server
capabilities.

Instead of using a NullNotificationManager, the LSP server now uses a
regular NotificationManager, except that results won't be forwarded to
clients. LSP handlers will fetch partial results from plugins and merge
them with data from the server that will be computed when needed.

I've extracted the server capabilities calculation from the init
handlers into ServerCapabilityComputer. It will also contain the
interestingFiles glob from active plugins and re-register capabilities
whenever plugins change.

Change-Id: I9869240cbfa284592e952498933e638b89a2a763
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142981
Reviewed-by: Danny Tuppeny <danny@tuppeny.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-04-24 20:36:07 +00:00
Paul Berry eab774c255 Move much of migration tool UI code into pkg/nnbd_migration
Change-Id: Ia3b388b274c908dcc6f9cb9ee4bf004b82681c43
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144320
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2020-04-23 23:43:42 +00:00
Brian Wilkerson c980e5d876 Produce a completion location for the argument list in an extension override
Change-Id: I694d77dbba171fb0d4806933ce766c9d411dba21
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144664
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2020-04-23 19:30:19 +00:00