Commit Graph

396 Commits

Author SHA1 Message Date
Konstantin Shcheglov ec330b47de Deprecate 'DartType.isDynamic', use 'is DynamicType' instead.
Change-Id: Ia3660a0d38f01a590dd3e034f40dbdb5a432638a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/300042
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2023-05-01 16:09:08 +00:00
Konstantin Shcheglov 4756d077ed Update NamedType to use ImportPrefixReference and name token.
Using Identifier expression inside NamedType does not make sense.

Change-Id: I4a61d2b472fd66fb7c5e6e92a80cccb391b06d49
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/294920
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2023-04-28 17:31:46 +00:00
Danny Tuppeny a0d6b2daed [analysis_server] Switch some code from package:collection to Dart 3 APIs
- change forEachIndexed to `.indexed`
- remove `package:collection` imports for files only using `.firstOrNull`, `.singleOrNull`, `.lastOrNull` that is now available in `dart:core`
- switch from `Pair` to records
- use switch expressions

Change-Id: Id1ae22db427b4cd955f26e0d6c852944a540a05f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/298061
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2023-04-25 14:28:26 +00:00
Danny Tuppeny 528c75acd2 [analysis_server] Support folding switch statements/expressions/cases
Fixes https://github.com/Dart-Code/Dart-Code/issues/4506.

Change-Id: Idd5924d04e9ffffc49f088ca6884393ea72e9bea
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/298120
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2023-04-25 14:18:04 +00:00
Danny Tuppeny 39fc15a0b4 [analysis_server] Add missing declaration semantic token modifier on classes/constructors
Fixes https://github.com/Dart-Code/Dart-Code/issues/4498.

Change-Id: Ia1c89d02a12fd51fe6f18ce4208ff88a7fbd7ba3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/295621
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2023-04-17 21:19:25 +00:00
Danny Tuppeny 3069c4f3e2 [analysis_server] Add missing "constructor" semantic token modifiers on constructor declarations
Fixes https://github.com/Dart-Code/Dart-Code/issues/4495.

Change-Id: I5fa21504562f7437be30118e5dc96fd5b49f2853
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/295544
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2023-04-17 19:12:46 +00:00
pq 68ef7530d7 switch expression conversions (and unnecessary breaks removed)
All auto-converted. A bunch more will be convertible when we address: https://github.com/dart-lang/sdk/issues/52005

EDIT: updated w/ 64 fewer breaks

Change-Id: I9b6009e316341e7c9b9c2f2c651b6eada385960d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/294423
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2023-04-11 19:56:05 +00:00
Konstantin Shcheglov edccf64f54 Fix for highlighting mixin names.
Change-Id: Idadb02aa1b86525fde307a5eddc8876f152d1b31
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/291045
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2023-03-24 21:37:57 +00:00
Kallen Tu 2407f7338d [analysis_server] Remove interface, final, and sealed mixins from the analysis server.
Change-Id: Id774379c92904f27326f502299c67adb825a00b5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/290914
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Kallen Tu <kallentu@google.com>
2023-03-24 17:09:24 +00:00
Danny Tuppeny 443d6d3200 [analysis_server] Don't produce inlay hints for parameters without names
Fixes https://github.com/Dart-Code/Dart-Code/issues/4436.

Change-Id: I15e144134e0e16f93ad38f2c393b32a7d18749ed
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/290762
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2023-03-23 15:32:54 +00:00
Danny Tuppeny 21bf9f4ba6 [analysis_server] Syntax highlight the "inline" keyword
Change-Id: I1b4acaea9e0f74fda8a844bcd4d56d746a7e3bf4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/286928
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2023-03-06 16:09:43 +00:00
Danny Tuppeny 88d277a534 [analysis_server] Split InlayHints up for type arguments
This allows each type to be hovered (to see dartdocs) or used for navigation individually.

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

Change-Id: I93f520a49e05eb59074215dd9c0773cd50415cfe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/285625
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2023-02-27 16:27:15 +00:00
Danny Tuppeny 658e34ee2a [analysis_server] Fix ordering of parameter+type InlayHints at the same position
Parameter name hints should always come before any other hints at the same position:

```
f(a: <int>[]);
  ^  ^^^^^
```

Change-Id: I8ae06c562e80df441fee9d3a8079c0048d01f903
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/284641
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2023-02-22 15:38:32 +00:00
Danny Tuppeny e8a8e10bcd [analysis_server] Include Type inlay hints for inferred type arguments + literals
Fixes https://github.com/Dart-Code/Dart-Code/issues/4366.

Change-Id: I92b28869961a6098031a21ca1cf0d34f4decd16c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/284143
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2023-02-21 17:07:25 +00:00
Danny Tuppeny ba3171ae3e [analysis_server] Include types in tooltips for record fields in patterns
Change-Id: I768fe2b44a25b43c36c65414807b2201ebe97665
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/283640
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2023-02-16 15:16:31 +00:00
Konstantin Shcheglov ebdb53fe85 Rename to PatternField and PatternFieldName.
Change-Id: I534e13fb8843e0b4a961cdf981016f7504858ba6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/281782
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2023-02-08 23:44:54 +00:00
Danny Tuppeny 53a5f5ca07 [analysis_server] Add additional hover support for patterns
Change-Id: I4db42432c213f93c2ecf2dba677420e5ea9c3f2a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/281425
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2023-02-08 20:06:52 +00:00
Danny Tuppeny 232e4af9fc [analysis_server] Add semantic token for "Never" type
Fixes https://github.com/Dart-Code/Dart-Code/issues/4372.

Change-Id: I00e47212d93eaf2d529c744f09777555f881037e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/280164
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2023-02-03 16:41:26 +00:00
Danny Tuppeny 6897faa67a [analysis_server] Add semantic highlights for assigned/declared variables and field names
Change-Id: I7d11497c9ca1646ab913aedbed0fe84b40215215
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/280160
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2023-01-31 19:16:03 +00:00
Danny Tuppeny 96559e8804 [analysis_server] Mark "when" keyword as a control keyword for Semantic Tokens
Change-Id: I07bf8b4c72fa60a9bf6062a875702d4605b6f113
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/280114
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2023-01-31 18:07:41 +00:00
Kallen Tu de9849c9ef [analysis_server] Base, interface, and final class and mixin semantic highlighting.
Change-Id: I7262dd6d12787b1cf3f2a0ee6873273f3455423d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/280076
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Kallen Tu <kallentu@google.com>
2023-01-31 01:32:43 +00:00
Kallen Tu 6e9556c3de [analysis_server] Add semantic highlighting for mixin class modifier.
Added highlighting for the 'mixin' keyword on classes and fixed the BNF to be consistent with the spec.

Change-Id: Iaa5b32ba2d122f01d5ddaddc066ac8f4a50b9844
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/279237
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Kallen Tu <kallentu@google.com>
2023-01-18 16:36:11 +00:00
Brian Wilkerson 09e4ff60cc Add semantic highlighting support for patterns
Change-Id: I232087c0ad59c95452aeef21754d76782cf24577
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/278889
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2023-01-11 22:09:22 +00:00
Danny Tuppeny 792aedec74 [analysis_server] Add syntax highlights for error/stackTrace in catch clauses
Fixes https://github.com/Dart-Code/Dart-Code/issues/4320.

Change-Id: Iad269d0f5389d548a01717fbd0facd74d31acf50
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/278346
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2023-01-04 17:59:01 +00:00
Kallen Tu cdd9e43b2c [analysis_server] Add semantic highlighting for sealed class modifier.
Enable the 'sealed-class' experiment for the highlighting test and add the highlighting for the modifier.

Change-Id: I6affdab506c29ab9d92b2d6315a93d09396bafaa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/277201
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Kallen Tu <kallentu@google.com>
2022-12-27 23:24:40 +00:00
Brian Wilkerson abda30f198 Replace NodeLocator in two more places
Change-Id: I34a67ae8b370ec4c400ac5b9195d537380aca3c7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/274080
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2022-12-09 01:13:28 +00:00
Jens Johansen e70befdcbd [analyzer] Only search the same files for the same thing once
TL;DR:

56c416430e vs this CL:

textDocument/implementation (non-first runs):
```
Difference at 95.0% confidence
        -3.6465 +/- 0.307413
        -82.3689% +/- 6.94398%
        (Student's t, pooled s = 0.238983)
```
I.e. from ~4.4s to ~0.78s on non-first runs.

textDocument/references (non-first runs):
```
Difference at 95.0% confidence
        -33.1856 +/- 0.789512
        -91.4283% +/- 2.17515%
        (Student's t, pooled s = 0.613768)
```
I.e. from ~36.2s to ~3.11s on non-first runs.

Raw data below.


Details:

When having multiple workspace folders open, sometimes the drivers
representing these folders will have overlapping files.
For instance in my "analyzer" workspace there are a total of ~7000
unique files but if just adding each drives known files there’s
40,000+ files.

When asking for all direct subtypes of a class the a
`_FilesReferencingNameTask` does a lookup in a set for every known file
of that drive, meaning that in practice, often the same set is queried
for the same thing many times.

This CL instead assigns each `Drive` the files it was to look at,
each set will therefore only be querues once per type.

This takes the number of operations (per type) from `N*M` where `N` and
`M` are number of drives and number of files respectively (as each drive
could know all the same files) to just `M`, i.e. number of files.

This CL takes the runtime for asking for implementations of 'ToJsonable'
from package:analysis_server/lsp_protocol/protocol_special.dart in my
analyzer workspace (with 8 workspace folders / drivers) from ~4.4 seconds
to ~0.8 seconds (see below for details).
It also takes a call for "find all references" ("textDocument/references")
on method "newFile" in class "AbstractSingleUnitTest" in
"analysis_server/test/abstract_single_unit.dart" from ~36 seconds
to ~3.2 seconds (see below for details).


Raw data:

HEAD as of 56c416430e

textDocument/implementation
===========================
(notice the first query taking a long time)

(restart analyzer process)
Got answer to query in 0:00:28.921389
Got answer to query in 0:00:04.270255
Got answer to query in 0:00:04.248489

(restart analyzer process)
Got answer to query in 0:00:08.319562
Got answer to query in 0:00:04.232582
Got answer to query in 0:00:04.102793

(restart analyzer process)
Got answer to query in 0:00:09.186371
Got answer to query in 0:00:04.867653
Got answer to query in 0:00:04.840468


textDocument/references
=======================
(notice the first query taking slightly longer)

(restart analyzer process)
Got answer to query in 0:00:41.916106
Got answer to query in 0:00:36.619501
Got answer to query in 0:00:36.502156

(restart analyzer process)
Got answer to query in 0:00:40.353819
Got answer to query in 0:00:37.709369
Got answer to query in 0:00:36.086530

(restart analyzer process)
Got answer to query in 0:00:40.052997
Got answer to query in 0:00:35.273826
Got answer to query in 0:00:35.589722



WITH CL

textDocument/implementation
===========================
(notice the first query taking a long time)

(restart analyzer process)
Got answer to query in 0:00:11.902654
Got answer to query in 0:00:00.742324
Got answer to query in 0:00:00.730748

(restart analyzer process)
Got answer to query in 0:00:04.966440
Got answer to query in 0:00:00.795087
Got answer to query in 0:00:00.820526

(restart analyzer process)
Got answer to query in 0:00:04.838173
Got answer to query in 0:00:00.810417
Got answer to query in 0:00:00.784124

textDocument/references
=======================
(notice the first query taking a long time)

(restart analyzer process)
Got answer to query in 0:00:07.632822
Got answer to query in 0:00:03.098794
Got answer to query in 0:00:03.008570

(restart analyzer process)
Got answer to query in 0:00:07.690932
Got answer to query in 0:00:03.062484
Got answer to query in 0:00:03.088793

(restart analyzer process)
Got answer to query in 0:00:07.786218
Got answer to query in 0:00:03.160477
Got answer to query in 0:00:03.248359

Change-Id: I18a3cbd870f62e87937f92942460baccf8bce088
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/272560
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2022-11-30 09:03:39 +00:00
Konstantin Shcheglov 7e97d695f8 Fix highlighting FunctionTypedFormalParameter name.
Change-Id: I476711afa5c44c0eb7cb177e85bd67e57b024421
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/272544
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-11-29 23:02:58 +00:00
Danny Tuppeny 35d3015ed5 [analysis_server] Allow folding of whole function declarations (not only bodies)
Fixes https://github.com/Dart-Code/Dart-Code/issues/4269.

Change-Id: I137a105d119c3387a2f319a34c420380e4b97e5d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270401
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2022-11-17 20:03:17 +00:00
Danny Tuppeny 197344ba22 [analysis_server] Pass relation kind back from search for subtypes
Change-Id: I4faf4c6194967d69df74829bdb1789e691e4b985
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/263902
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-11-09 02:13:17 +00:00
Danny Tuppeny 09c1722044 [analysis_server] Add a user setting to control verbosity of dartdocs in LSP hovers and related responses
Fixes https://github.com/Dart-Code/Dart-Code/issues/4119.

Change-Id: I26aa074f35b87ced1e09073f534451248c633402
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/266741
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2022-10-31 19:22:11 +00:00
Konstantin Shcheglov c7ebfde808 Fix highlighting local variable names in ForPartsWithDeclarations.
Change-Id: I60b9f054e46909f53e9a1c6cab58e109ae279f3d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/266442
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2022-10-28 19:50:39 +00:00
Danny Tuppeny 77a480ca49 [analysis_server] Handle type arguments on named type references for initial Call Hierarchy item
Change-Id: I5e30c808ddda7ff7817f7be7dd0ecff9a725854c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/265501
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2022-10-25 16:31:10 +00:00
Danny Tuppeny 27ba8fce6c [analysis_server] Include type arguments in Type Hierarchy
Fixes https://github.com/Dart-Code/Dart-Code/issues/4217.

Change-Id: I8b8dec4ad25a9eb4a4f80dd036e8a9b61bb012d2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/264981
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2022-10-25 16:00:41 +00:00
Danny Tuppeny 18acd0e44c [analysis_server] Include target locations in Inlay Hints
Fixes https://github.com/Dart-Code/Dart-Code/issues/4156.

Change-Id: I8713bccbded828d0753c7dd277b3f8da12c0f68e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/265340
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2022-10-24 15:17:13 +00:00
Danny Tuppeny 6f8d1e4859 [analysis_server] Add LSP Type Hierarchy
Fixes https://github.com/Dart-Code/Dart-Code/issues/3313.
Fixes https://github.com/Dart-Code/Dart-Code/issues/2527.

Change-Id: I9f471fd3d7d55999795fee7ab4761e906566bd10
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/264002
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2022-10-13 19:39:18 +00:00
Danny Tuppeny 54d7847787 [analysis_server] Fix relationships for subtypes that provide type arguments
Change-Id: I655f7bff036a17ee79a1d0f9f163125112766f2b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/264001
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2022-10-13 18:07:19 +00:00
Danny Tuppeny a93b073d27 [analysis_server] Add interfaces+superclassConstraints to type hierarchy computer
+ return relationship between each item and the target.

Change-Id: I426c84acf16caee0d0c5b5f69224c7ad894ee955
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/263901
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2022-10-13 17:00:50 +00:00
Danny Tuppeny eab05710b4 [analysis_server] Add a lazy computer for type hierarchies
Change-Id: Ieb71cea26214e3b790b80e905b3d581f297512d4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/263760
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2022-10-12 19:22:17 +00:00
Danny Tuppeny 172bcc33dd [analysis_server] Fix hover on constructor name declarations
Change-Id: I6254a8a8d82a1f2b12e8fa3589fbe114d9945af6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/263401
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2022-10-10 16:43:57 +00:00
Konstantin Shcheglov 683e2419da Deprecate 'DartType.element2' use 'element' instead.
Change-Id: I6986a058616db489987789cfab09d53a450e3ab5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/262666
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-10-05 16:30:09 +00:00
Konstantin Shcheglov 8a5725ad38 Deprecate 'Directive.element2', use 'element' instead.
Change-Id: I2326b43381d1d3f84d74f69409bc688516f6a0d8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/262500
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2022-10-03 21:10:58 +00:00
Danny Tuppeny d83cb4e621 [analysis_server] Fix some issues with requests made at an offset between name and type/parameter lists
Removal AstNodes for names in declarations left some of these places getting FormalParameterList/TypeParameterLists when an offset was between the name and parameter list. This is a fairly common case if you double-click to select a name in VS Code (it sends the end of the name as the offset).

This only changes the case where a single offset is provided (not a range), and it is both the start of the parameter list and the end of the name.

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

Change-Id: I1219fa70b0795b61c60f31ad61ff9a34954c8b43
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260381
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2022-09-27 17:13:53 +00:00
Konstantin Shcheglov 745d0ff64a Deprecate 'Element.enclosingElement3', use 'enclosingElement'.
Change-Id: I6f4fd7e8c0f071bde10cb5e57ed6195ae517e575
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/261221
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-09-26 23:58:14 +00:00
Konstantin Shcheglov 44316060f1 Deprecate 'get declaredElement2', use 'get declaredElement' instead.
Change-Id: Ida7a9c2ac35943aed2d75f81f98ce7056b616aee
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260741
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2022-09-23 20:05:29 +00:00
Ahmed Ashour 4f42058b4f [analyzer] use preferred quote-style for edit.importElements
Bug: #49559
Change-Id: Ic9c272c78f15599c5f3c985466f815cec82ad62b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260520
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2022-09-23 19:59:59 +00:00
Konstantin Shcheglov e03170035a Deprecate 'get name2', use 'get name' instead.
Change-Id: Iee8ef5fb6700d96c857a22a99dc61dac3da88572
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260443
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-09-22 02:22:47 +00:00
Danny Tuppeny b0ac65ab01 [analysis_server] Don't show return type Inlay Hints on setters
Change-Id: I3f1d63cf0d71c1028ee3cbf3b780edcefb561aac
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259588
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2022-09-16 18:53:20 +00:00
Danny Tuppeny c841c33482 [analysis_server] Fix location of inlay hints for functions/methods with docs/annotations and getter/setters
Fixes https://github.com/Dart-Code/Dart-Code/issues/4160.

Change-Id: I0b4925a12f462d5a54d8001dbbf893f25469d070
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259584
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2022-09-16 15:25:40 +00:00
Danny Tuppeny 15dfda917a [analysis_server] Support inlay hints for parameter names
Change-Id: I436d3e460759f58d6a87e8cc8742b0c7736f4f5e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259181
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2022-09-14 14:17:02 +00:00