Danny Tuppeny
cd4b9527eb
[analysis_server] Fix "dart fix" not handling directives_ordering
...
Fixes https://github.com/dart-lang/sdk/issues/53261
Change-Id: I5b7f87efeee1046959b81f0a07f07ce1f81706d3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/321881
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2023-08-21 16:44:11 +00:00
Keerti Parthasarathy
36a146f037
Add utility methods for format and sort imports
...
Change-Id: I6f0408d8da8592ad125bcb4b9c4ff90fc3a9540c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/321541
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Keerti Parthasarathy <keertip@google.com >
2023-08-18 14:55:59 +00:00
Helin Shiah
6b03758f76
Collect analytics from VS Code remote usages
...
This is the ID sometimes sent for internal VS Code users, and we want to capture these users as well for some internal IDE tracking.
Change-Id: Id3b5aa89eacefb873e88b59745014454a89e6a73
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/321323
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Helin Shiah <helinx@google.com >
2023-08-17 20:24:30 +00:00
Kallen Tu
48245c1064
[analyzer] Issue 53163: Fix crash with unresolved object in String length for const expressions.
...
Unresolved types would throw in `stringLength` and we don't handle them the same way we do with the other operators. Throwing EvaluationExceptions is the problem here, but that's for another CL.
In the meantime, this CL makes `stringLength` consistent to the other operators in the DartObjectComputer.
Fixes https://github.com/dart-lang/sdk/issues/53163
Bug: https://github.com/dart-lang/sdk/issues/53163
Change-Id: Ib99b61736d699056fa3c379e4d9c79756a4425f3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/319562
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Kallen Tu <kallentu@google.com >
2023-08-17 19:48:28 +00:00
pq
edaea9b489
quick fix for REDECLARE_ON_NON_REDECLARING_MEMBER
...
See: https://github.com/dart-lang/sdk/issues/53121
Change-Id: I324f8a14820da2e9e5b714f9f1d88c647f9cfebc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/321424
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Phil Quitslund <pquitslund@google.com >
2023-08-17 17:28:59 +00:00
Sam Rawlins
7ee87f8601
[analyzer] Remove all support for strong-mode
...
This looks pretty beefy; it is more-or-less 3 parts:
* Removing the `implicit-casts: false`, `implicit-dynamic: false`
modes:
* Remove `AnalysisOptionsFileConfig.implicitCasts|implicitDynamic`
* Remove `AnalysisOptionsImpl.implicitCasts|implicitDynamic`
* Remove `TypeSystemImpl.implicitCasts`
* Remove all behavioral tests of the modes
* Remove Analysis Options-parsing code that handled `strong-mode`
* Remove ability to fix deprecated modes (introduced before Dart 3).
* Move some non-generated AnalysisOptionsHintCodes and
AnalysisOptionsWarningCodes to be generated. As
`AnalysisOptionsHintCode.STRONG_MODE_SETTING_DEPRECATED` was the
last `AnalysisOptionsHintCode` code, there were problems with the
code-generator, unless I moved these non-generated codes.
* `DEPRECATED_LINT_HINT`, `DEPRECATED_LINT_HINT_WITH_REPLACEMENT`,
`DUPLICATE_RULE_HINT`, `INCOMPATIBLE_LINT`, `UNDEFINED_LINT`.
* Those codes are then added to error_fix_status.yaml.
Change-Id: Ic165b60ca85f08f92886433eac5f5da5b7dd5021
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/316483
Commit-Queue: Samuel Rawlins <srawlins@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2023-08-17 17:07:37 +00:00
Brian Wilkerson
0a717608ca
Convert more methods from KeywordContributor
...
Change-Id: I41cc30d36fa42dcfc2d17bf262f3cad7dc412d9c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/320960
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Samuel Rawlins <srawlins@google.com >
2023-08-17 16:45:46 +00:00
Jonas Finnemann Jensen
43c8d637bd
Refactor PubspecValidator
...
Unclear, if this was intentionally written as classes.
It just seemed confusing to me. Since the classes were essentially
functions that had some of their arguments passed in the constructor
and some of their arguments passed in a method call.
It also seemed impossible to reuse the actual objects.
Change-Id: I56b341ee4851d24b9d176857a53b96f7eb941335
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/317883
Commit-Queue: Jonas Jensen <jonasfj@google.com >
Reviewed-by: Phil Quitslund <pquitslund@google.com >
2023-08-16 12:31:30 +00:00
pq
b08f029558
verify that members marked as redeclaring actually do
...
See: https://github.com/dart-lang/sdk/issues/53121
Change-Id: I39294952a3adf0f037417d6e04811e3294128e6d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/320886
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Phil Quitslund <pquitslund@google.com >
2023-08-15 23:05:50 +00:00
Konstantin Shcheglov
a8580d3bd3
Extension types. Check implemented non-extension type agsinst representation, not erasure.
...
See https://github.com/dart-lang/language/pull/3262
Change-Id: I3ee081f43e4b3bf5159450fa94be2ab1672539de
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/320700
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Phil Quitslund <pquitslund@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-08-14 21:03:58 +00:00
Brian Wilkerson
0239101041
Convert more KeywordContributor methods
...
Change-Id: I9cbf77e115b77d635f1bec3c046fb38749ea76c2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/320080
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2023-08-11 21:38:31 +00:00
Kallen Tu
adb68f4bb0
[analyzer] Provide better errors for invalid .length access in const expressions.
...
Add a new error message `CONST_EVAL_PROPERTY_ACCESS` for when we try to get 'length' on anything that's not a `String`.
This adds more specific errors for string length that would've went to the catch-all error at the end of `_getConstantValue` before. It should be more clear now what the error is.
Fixes https://github.com/dart-lang/sdk/issues/47273 , https://github.com/dart-lang/sdk/issues/52833
Bug: https://github.com/dart-lang/sdk/issues/52833 , https://github.com/dart-lang/sdk/issues/47273
Change-Id: I1f5daed82be00c6a8ecd43384d7ff9e59219cbb4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/319160
Commit-Queue: Kallen Tu <kallentu@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2023-08-11 20:08:31 +00:00
Konstantin Shcheglov
0ce9ae9204
Extension types. Report when multiple representation fields.
...
Change-Id: I8d920ecdb04bb8b27f83b3126c8106682f613a02
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/320124
Reviewed-by: Phil Quitslund <pquitslund@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-08-11 19:48:01 +00:00
Konstantin Shcheglov
1c2934d42f
Extension types. Report an error if the representation field has a modifier.
...
Change-Id: Ied3e14f67a4aad18b11c17f0ed8d986f95a3c9f0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/320123
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Phil Quitslund <pquitslund@google.com >
2023-08-11 18:41:12 +00:00
Keerti Parthasarathy
f3acac0b5a
Add an option to format code to BulkFixProcessor
...
Change-Id: Ie069b5e16ccf0c13c1f61cd38690b20968b7c907
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/319868
Commit-Queue: Keerti Parthasarathy <keertip@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2023-08-11 17:53:28 +00:00
Parker Lougheed
410c394374
[analyzer] Mark DEFAULT_LIST_CONSTRUCTOR as removed
...
Follow-up to https://dart-review.googlesource.com/c/sdk/+/276770
Change-Id: I583d19e3fab99594a12083381cc98cd1e453efcf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/319641
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2023-08-11 14:54:58 +00:00
Konstantin Shcheglov
53cccf9c8b
Extension types. Report when implemented extension type representation is not a supertype of the declared extention type.
...
Change-Id: Iebb19c3f57046db600305993cc69dae04946889d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/319861
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-08-10 18:38:04 +00:00
Danny Tuppeny
acefe9ab6d
[analysis_server] Extract LSP registration options from ServerCapabilitiesComputer
...
This is a non-functional refactor that extracts the growing set of capabilities and options from ServerCapabilitiesComputer into files alongside the handlers they relate to.
The motivation for this is that for LSP-over-Legacy we'll need to accept client capabilities (and return server capabilities). The server capabilities will be different to the standard LSP ones (they will be a subset, and we might not support dynamic registration - at least initially). However the features we do support will have the same registration options, so to avoid duplicating them this moves the registration options away from the creation of the ServerCapabilities.
In future, we might consider further wrapping up a "feature" (which consists of these registration options, and the related handlers), but this change is already quite large and I just wanted to progress capabilities for LSP-over-Legacy so we can handle things like Code Actions (which require executeCommand and possible reverse-requests for applyEdit).
Change-Id: Iecd0aa36626fa44826f7d4dbd6e6c0d758075239
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/319840
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2023-08-10 17:10:48 +00:00
Brian Wilkerson
98608662e7
Move more of KeywordContributor to the new framework
...
Change-Id: I2b257545a3af7fa2f803e8f954d14cd3679c35c1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/319781
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2023-08-10 16:58:51 +00:00
Jens Johansen
aba5663d0a
[analyzer] Deduplicate _Info* instances
...
When having several contexts we'll end up having many copies of the same
_Info* instances. This CL deduplicates it.
TL;DR: On flutter/flutter (82 contexts) this, when run from a clean
cache, reduces the memory usage by 600-800 MB (~15%).
Details:
All numbers from runs made from analyzer source with a clean cache on
flutter/flutter (82 contexts), memory usage after a forced GC:
Runtime:
No difference proven at 95.0% confidence
Current memory (GB):
Difference at 95.0% confidence
-0.683333 +/- 0.0627592
-13.3987% +/- 1.23057%
(Student's t, pooled s = 0.0276887)
Peak memory (GB):
Difference at 95.0% confidence
-0.643333 +/- 0.0746028
-12.5243% +/- 1.45236%
(Student's t, pooled s = 0.032914)
Heap (used) (GB):
Difference at 95.0% confidence
-0.77 +/- 0
-17.5799% +/- 0%
(Student's t, pooled s = 0)
Heap (capacity) (GB):
Difference at 95.0% confidence
-0.69 +/- 0.05552
-15.2993% +/- 1.23104%
(Student's t, pooled s = 0.0244949)
_List (MB):
Difference at 95.0% confidence
-59.2333 +/- 0.0925333
-6.91547% +/- 0.0108032%
(Student's t, pooled s = 0.0408248)
_Uint32List (MB):
Difference at 95.0% confidence
-105.433 +/- 1.06715
-17.3382% +/- 0.175489%
(Student's t, pooled s = 0.470815)
_OneByteString (MB):
Difference at 95.0% confidence
-403.667 +/- 2.37542
-58.1206% +/- 0.342017%
(Student's t, pooled s = 1.04801)
Raw data:
NOW:
Runtime (ms): 151855
current memory 4.46GB
peak memory 4.54GB
heap 3.61GB of 3.86GB
797.3 MB 6067774 _List
503.1 MB 2574937 _Uint32List
291.7 MB 2233396 _OneByteString
233.0 MB 338029 _Uint8List
158.7 MB 3466691 Reference
116.1 MB 1901830 _Map
Runtime (ms): 152410
current memory 4.40GB
peak memory 4.49GB
heap 3.61GB of 3.80GB
797.3 MB 6067637 _List
503.0 MB 2574976 _Uint32List
290.7 MB 2232326 _OneByteString
226.8 MB 339447 _Uint8List
158.7 MB 3466691 Reference
116.1 MB 1901830 _Map
Runtime (ms): 153205
current memory 4.39GB
peak memory 4.45GB
heap 3.61GB of 3.80GB
797.3 MB 6067638 _List
501.9 MB 2556644 _Uint32List
290.2 MB 2235718 _OneByteString
226.7 MB 338584 _Uint8List
158.7 MB 3466691 Reference
116.1 MB 1901830 _Map
BEFORE:
Runtime (ms): 159178
current memory 5.09GB
peak memory 5.15GB
heap 4.38GB of 4.51GB
856.6 MB 7366027 _List
696.0 MB 3780593 _OneByteString
608.1 MB 5239817 _Uint32List
226.9 MB 341102 _Uint8List
158.7 MB 3466691 Reference
116.1 MB 1901829 _Map
Runtime (ms): 153913
current memory 5.11GB
peak memory 5.13GB
heap 4.38GB of 4.51GB
856.5 MB 7366249 _List
693.8 MB 3730773 _OneByteString
608.1 MB 5239925 _Uint32List
233.0 MB 338205 _Uint8List
158.7 MB 3466691 Reference
116.1 MB 1901829 _Map
Runtime (ms): 157729
current memory 5.10GB
peak memory 5.13GB
heap 4.38GB of 4.51GB
856.5 MB 7366221 _List
693.8 MB 3730773 _OneByteString
608.1 MB 5239924 _Uint32List
233.0 MB 337860 _Uint8List
158.7 MB 3466691 Reference
116.1 MB 1901829 _Map
Change-Id: I5697ff0efd40c9325f7f15d8092655b80b4876ac
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/318940
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2023-08-10 09:58:31 +00:00
Konstantin Shcheglov
4dffed5065
Extension types. Report when implemented not extension type superinterface is not a supertype of the representation type erasure.
...
Change-Id: Ib1f2bfcfe51edb6bcbc54d7165f148810e3df4ab
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/319600
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-08-09 22:18:27 +00:00
Konstantin Shcheglov
e5a16ae775
Extension types. Report self reference in implements clause.
...
Change-Id: Icd26dcd6cf7521e075d6a8f13a985f3185c02369
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/319584
Reviewed-by: Phil Quitslund <pquitslund@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2023-08-09 20:56:25 +00:00
Danny Tuppeny
aee6d0af18
[analysis_server] Restore use of pathContext.fromUri() for parsing file URIs in the LSP server
...
This reverts be4189f047 plus adds an additional test to verify pkg:path to behaviour (to catch future regressions or if pkg:path has to be reverted, this will need reverting too).
This relies on the fix made at https://github.com/dart-lang/path/issues/148 which rolled into the SDK in https://github.com/dart-lang/sdk/commit/f1de897762973de062fc56739de418847b9c9fe0 .
Change-Id: I1dea45e2017f7505bc4aca97f6c07c1a6e445a5e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/319523
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2023-08-09 19:39:22 +00:00
Konstantin Shcheglov
0540ac84e1
Extension types. Report an error for super formal parameters.
...
Change-Id: I0e577dbe9d27913ce633951c68b2891f48699ca6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/319560
Reviewed-by: Phil Quitslund <pquitslund@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2023-08-09 18:45:51 +00:00
Konstantin Shcheglov
ffcb38d702
Extension types. Report super constructor invocations.
...
Change-Id: Ib3da4c7f19864bbbb6d9f53769375fe9f1cf7daa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/319300
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Phil Quitslund <pquitslund@google.com >
2023-08-09 16:50:56 +00:00
Danny Tuppeny
6229694c74
[analysis_server] Don't remove unused parameters when running fix-all-on-save
...
Fixes https://github.com/Dart-Code/Dart-Code/issues/4655
Change-Id: I09269766124f7b77fde7c499c6f69a09989d1766
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/317684
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2023-08-09 15:49:06 +00:00
Kyle Turney
3c8fccf7a4
add fix for removing the leading underscore in constructor parameter lists
...
Closes https://github.com/dart-lang/sdk/pull/53122
GitOrigin-RevId: 802bc7caf2816906cc38de44784c20531675fdc2
Change-Id: I1adbd74ec20f2a4e2d78d6da9dd538d03ca0475e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/318200
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2023-08-09 15:08:47 +00:00
Oleh Prypin
9f0f33c676
Revert "[analyzer] simplify the libraries.dart file"
...
This reverts commit 1948b0a9fe .
Reason for revert: causes `promiseToFuture` to become undefined - b/295129286
Original change's description:
> [analyzer] simplify the libraries.dart file
>
> Change-Id: I86bc196eaddd9a80c02f38c8d947d3c0f4c63394
> CoreLibraryReviewExempt: the sdk_library_metadata/libraries.dart is only used by the analyzer
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/317803
> Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
> Commit-Queue: Devon Carew <devoncarew@google.com >
Change-Id: I4810c408b996cefd46c0a40cc36818d34aa86071
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/319402
Auto-Submit: Oleh Prypin <oprypin@google.com >
Commit-Queue: Oleh Prypin <oprypin@google.com >
Reviewed-by: Alexander Thomas <athom@google.com >
Commit-Queue: Alexander Thomas <athom@google.com >
2023-08-09 10:27:47 +00:00
Parker Lougheed
1b8870bbb1
[analyzer] Don't generate error codes for removed diagnostics
...
Also renames 'removed' to 'removedIn' to better indicate it is looking for a version, not a boolean.
Change-Id: If3a6708ba32460305e89ba59c4a58ce2ad284e6a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/319282
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2023-08-09 04:08:23 +00:00
Konstantin Shcheglov
1e12b09a59
Extension types. Report conflicts for members from superinterfaces.
...
Change-Id: I4bc513102f734a98a263dffd97c5d93874ef3ae1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/318803
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-08-08 23:23:13 +00:00
Keerti Parthasarathy
155bfc973b
Add support for sort imports to BulkFixProcessor, add prefer_generic_function_type_aliases to list of lints for lightweight mode.
...
Change-Id: Ic8a1afde5f35a65065dd8439a11c4d99846c2905
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/319240
Commit-Queue: Keerti Parthasarathy <keertip@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2023-08-08 21:10:54 +00:00
Devon Carew
1948b0a9fe
[analyzer] simplify the libraries.dart file
...
Change-Id: I86bc196eaddd9a80c02f38c8d947d3c0f4c63394
CoreLibraryReviewExempt: the sdk_library_metadata/libraries.dart is only used by the analyzer
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/317803
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Devon Carew <devoncarew@google.com >
2023-08-08 21:00:01 +00:00
Konstantin Shcheglov
36c578f75c
Extension types. Report when has representation self reference.
...
Change-Id: I729515f92c4c31530b61c7f9d71507fbf922787d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/319180
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2023-08-08 20:39:40 +00:00
Danny Tuppeny
1bae1b3dd5
[analysis_server] Don't produce fix-all-in-file fixes when there's no individual fix
...
Fixes https://github.com/dart-lang/sdk/issues/53021
Change-Id: I674430c5e01eaeaee7867e85795eca2250ec14f1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/318840
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2023-08-08 18:20:39 +00:00
Danny Tuppeny
b6e7b7e536
[analysis_server] Expose additional LSP handlers over legacy protocol
...
Change-Id: I8aae887eba3d35f8086b62f2e9b861e17e41555e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/318983
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2023-08-08 15:21:53 +00:00
Konstantin Shcheglov
7d83540366
Extension types. Report an error for instance fields in extension types.
...
Change-Id: I35cb446c45e027a77d0a5ff870b4e5b4b22b7512
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/318747
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2023-08-07 22:39:55 +00:00
Danny Tuppeny
2a811a0ad9
[analysis_server] Split DartUnitHoverComputer.compute() into smaller methods
...
No functional changes here, I'm just trying to simplify the hover implementation a little as this method had gotten quite long and deeply nested. We've discussed improving hover support for patterns and keywords and hopefully this'll make that easier.
Change-Id: I974f7fb0fbb99a967b5970f99b36ef3601df4ea3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/318701
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2023-08-07 18:14:15 +00:00
Konstantin Shcheglov
0cd0412a75
Extension types. Report when invalid type is implemented.
...
Change-Id: I66c30209a5fe5083f78291ea3ec7e5fd2259164f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/318742
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Phil Quitslund <pquitslund@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2023-08-07 18:06:11 +00:00
Keerti Parthasarathy
360ebb6e50
Wire up a parse option for bulk processor
...
Change-Id: I8cecd6bf4ac3693e2cf65a66eed809abb571b22a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/318362
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Keerti Parthasarathy <keertip@google.com >
2023-08-07 16:29:58 +00:00
Konstantin Shcheglov
6ac57ff0b9
Extension types. Report when a method has the name of an Object member.
...
Change-Id: I0585451580c1a1921f813a1af574175f04354475
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/318741
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Phil Quitslund <pquitslund@google.com >
2023-08-07 16:11:59 +00:00
Brian Wilkerson
7901efffe7
Convert a few more methods in KeywordContributor
...
Change-Id: I905a4855f67db227ab654c3d4dc7441b7ee2bf58
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/315540
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Samuel Rawlins <srawlins@google.com >
2023-08-07 16:09:40 +00:00
Danny Tuppeny
17f3a6ec30
[analysis_server] Convert more LSP handlers to work over the legacy protocol
...
Change-Id: I9bd1f3ffd9bcdb017a4208e4aedcfb7436259fc8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/318700
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2023-08-07 15:27:46 +00:00
Danny Tuppeny
ea5e58356b
[analysis_server] Fix logging of LSP-over-Legacy requests to use the LSP identifiers
...
Otherwise they'll be recorded as "lsp.handle".
Change-Id: I511d5eef44d6d647fef4d0347a03f6a7a9f88f9e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/315920
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2023-08-07 14:27:12 +00:00
Danny Tuppeny
16d787694a
[analysis_server] Refactor completion labels in preparation for new LabelDetails support
...
This is just a little refactoring towards https://github.com/Dart-Code/Dart-Code/issues/2462 . It doesn't change anything, it just makes the next CL (with the functional changes) simpler.
Change-Id: I98ed5991f1abb67f86f9d4d43c27ff6ccf21847c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/317940
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2023-08-06 18:21:31 +00:00
Danny Tuppeny
76dc2c4cfa
[analysis_server] Change LSP-over-Legacy to be wrapped with the original protocol
...
Originally we didn't use the LSP Request/Response classes, and just exposed the handlers through the legacy request/response.
However there were some mismatches (such as legacy protocol always returns Map<String, Object?> but some LSP requests return Lists, LSP using int|String IDs, and LSP having numeric error codes that don't match legacy string error codes).
This change uses LSP's request and Response by wrapping them inside a standard (legacy) handler. The LSP-over-Legacy handler has become a standard handler, and the params contain an "lspMessage" field that holds an LSP message, and the result contains an "lspResponse" field that contains an LSP response.
If an LSP handler returns an error, it will be returned as an error inside the LSP response, which will be in a _successful_ legacy request (since that's how we can return an LSP response - as the result).
Change-Id: I67973590ab32f3543d1a6e1b7279974e5e8832bc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/315201
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2023-08-06 14:32:18 +00:00
Danny Tuppeny
678e207a6d
[analysis_server] Fix a bug with sorting semantic tokens
...
I was trying out DCM and it found this bogus condition.
The only instance I can find where it triggered was adjacent interpolations in strings, and the fallback code (which compares by token type) would handle it correctly, but in case there are other cases (now or in future), I've added an assert to try to avoid reaching the fallback in case it doesn't produce the desired result.
Change-Id: I3092fa4892c812be7d3a91629c5f6ed3be627743
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/315720
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2023-08-05 19:05:38 +00:00
Konstantin Shcheglov
e21306a4eb
Extension types. Report when a type parameter is used in a non-covariant position.
...
Change-Id: I12dbfccdf670cb02f74ddcb787b9e1e4a2b4e6fb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/318001
Reviewed-by: Phil Quitslund <pquitslund@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-08-05 03:51:42 +00:00
Konstantin Shcheglov
508a293029
Revert a few not published API changes.
...
Change-Id: I093c3d3f6e221cfe874e82b598f52087670ce24e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/318020
Reviewed-by: Phil Quitslund <pquitslund@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-08-04 19:21:58 +00:00
Konstantin Shcheglov
759d5a5a01
Extension types. Report when await of not Future subtype.
...
Change-Id: I51b825c1d48b55866d8112ab6421c7937a0c7575
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/318024
Reviewed-by: Phil Quitslund <pquitslund@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-08-04 19:18:11 +00:00
Konstantin Shcheglov
ce7164488a
Extension types. Semantic highlighting.
...
Change-Id: I46cde8151965e209a230df811592f8498e93c218
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/318161
Reviewed-by: Phil Quitslund <pquitslund@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-08-04 19:13:43 +00:00