Commit Graph

6744 Commits

Author SHA1 Message Date
Brian Wilkerson 5b7fb2e8e8 Move and split the message scheduler
This CL makes three changes:
- moves the message scheduler into a new directory,
- splits the implementation into two files,
- and renames `MessageObject` to `ScheduledMessage`.

It does not make any semantic changes to the code.

The expectation is that we will need to make the message scheduler more
complex as part of improving the performance of the server, and that it
will be easier to do this if the code is structured differently.

Change-Id: I3f8741cadceb34c69fd45c1bf21f331d15824565
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/420500
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2025-04-04 10:39:51 -07:00
FMorschel cc4c1ac367 [DAS] Go to Super handles field declarations
Fixes: https://github.com/dart-lang/sdk/issues/60465
Change-Id: I8b9e0231d3e7f6e7d9b75fdcf6b16311d470a7fe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/420120
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Auto-Submit: Felipe Morschel <git@fmorschel.dev>
2025-04-03 09:46:58 -07:00
FMorschel 5d27e4f5bf [DAS] Fixes occurrences for extension and type parameters
Fixes: https://github.com/dart-lang/sdk/issues/60449
Change-Id: Ie862deea3d3d37890f1f610c7c83509fe82b2a40
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/419423
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Auto-Submit: Felipe Morschel <git@fmorschel.dev>
2025-04-02 11:28:40 -07:00
Danny Tuppeny 5803acf31f [analysis_server] Update plugin tests to work through test runner
This removes a use of `Platform.script` so the tests work through the test runner. It also extracts some common code between this and the other integration tests to remove some duplication.

Change-Id: Ia9d441424789ea99decb071f7fdc6c71c8e54a72
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/419860
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2025-04-02 09:06:09 -07:00
FMorschel 42394e5874 [DAS] Better docs auto-complete with extensions and typedefs
Fixes: https://github.com/dart-lang/sdk/issues/60423
Change-Id: I0907a52a0c7787adc3de21c82bb60aced8263d2d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/419422
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Auto-Submit: Felipe Morschel <git@fmorschel.dev>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2025-04-01 16:29:10 -07:00
Danny Tuppeny 22e3e969b3 [analysis_server] [linter] Fix some additional tests when running through the test runner
`Platform.script` doesn't work when run through `dart test` (see https://github.com/dart-lang/test/issues/110). This uses `Isolate.resolvePackageUriSync` to locate package roots instead.

Change-Id: Ieda05cd625cf07152d695daf94c99f1fad1cefe3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/419720
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
2025-04-01 14:59:19 -07:00
Danny Tuppeny 5e62d29bf5 [analysis_server] Add 'range' to EditableArguments response
See https://github.com/flutter/devtools/issues/9035

Change-Id: Ia2cadea05f10f16e00d1dbf0240b16761c0c6b0f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/419600
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Elliott Brooks <elliottbrooks@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2025-04-01 10:50:07 -07:00
Danny Tuppeny 21c0584631 [analysis_server] Allow allowOverlappingHandlers to be controlled via initializationOptions
For troubleshooting, this allows the client to override this flag.

I'd originally planned to use ClientConfiguration for this and allow it to be changed on-the-fly, however this can result in a mix of requests and therefore I decided it best to only support setting once during startup (which is part of initialization, and therefore before general requests start being sent).

This will require some Dart-Code work to provide a value here (and without a value, it will always be the servers default).

See https://github.com/dart-lang/sdk/issues/60440

Change-Id: Ie9843543d6d491afb046f3d1106211b7db852605
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/419541
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
2025-04-01 10:15:49 -07:00
Danny Tuppeny 36faa9a61a [analysis_server] Support running server tests from source through the test runner
When running tests from source (by setting the `TEST_SERVER_SNAPSHOT` env variable to `"false"`), we used `Platform.script` to locate the server script, however this fails when running the test through `dart test` (see https://github.com/dart-lang/test/issues/110).

This changes to using `Isolate.resolvePackageUri` to locate the root instead.

Fixes at least some of https://github.com/Dart-Code/Dart-Code/issues/5471.

Change-Id: I8a4ad408d3323d479b1ba2be3c224e4026d12f26
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/419660
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2025-04-01 09:39:45 -07:00
pq 46699a91d0 [das] allow interleaved requests in the message scheduler
Includes a new `allowOverlappingHandlers` flag to support re-disablement as discussed w/ Danny.

Bug: https://github.com/dart-lang/sdk/issues/60440
Change-Id: I007f0276bf8cdbfd418ea5dacb251db3eef8dd3d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/419340
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Auto-Submit: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2025-04-01 09:11:43 -07:00
Sam Rawlins b0c3f4ef1f DAS plugins: Move two files to be in the public API
Change-Id: I7230dead69b8c82ea758e48a0a3fbc56902cb05d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/417945
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2025-03-28 13:09:21 -07:00
Danny Tuppeny 352c1d29c1 [analysis_server] Allow clients to provide diagnostic information to be included in the report
See https://github.com/dart-lang/sdk/issues/60259, though this still requires the related client changes.

Change-Id: I6a9419780b9d4c4b0c7a9518098c69e1609262b2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/418100
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2025-03-28 10:56:44 -07:00
pq 6acab30e25 [analytics] validate lintUsage reporting for multiple options files
Change-Id: I6d6bbcc14d80fc670e134a8fa84f0ef42d17b3f7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/418440
Auto-Submit: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2025-03-28 10:16:20 -07:00
FMorschel 725553b5b9 [DAS] Fixes renaming error and stack in try-catch
Fixes: https://github.com/dart-lang/sdk/issues/60345
Change-Id: I8dc4741f30ed17499b834d857043824fa1c25ad0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/416440
Auto-Submit: Felipe Morschel <git@fmorschel.dev>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2025-03-27 13:55:38 -07:00
Brian Wilkerson d6eca31417 [cq] Support use of TestCode in more tests and clean up refactoring_test
Change-Id: I2b939042654fcc8a1b97edf5644769669ffa45e3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/418400
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2025-03-27 13:30:31 -07:00
Danny Tuppeny f9bf821043 [analysis_server] Don't include expressions/getters in inline values for the current line
For convenience, we usually include Inline Values for the "current" line so that when stopped at an `if` statement, you can see their values:

```
if (foo == 1) {      // [foo = 2]
```

We have an experiment that includes inline values for getters (since although they can have side-effects, users tend to expect to see them in debug views, especially when the getter/setter are implicit), but triggering them before the code ever would have may be more unexpected.

This change uses two different ranges so that only variables are included for the current line.

Change-Id: I19a129a28f7b5296281dbee139855c738cd37194
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/418340
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
2025-03-27 11:17:12 -07:00
FMorschel 35f84de658 [DAS] Fixes navigation to pattern variable with multiple declarations
Bug: https://github.com/dart-lang/sdk/issues/60398
Change-Id: Ibdb1681075c4a097a50483628af50da055cc751d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/417905
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Auto-Submit: Felipe Morschel <git@fmorschel.dev>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2025-03-27 11:11:16 -07:00
FMorschel 8bf801f8f7 [DAS] Fixes pattern variable with multiple declarations highlight
Bug: https://github.com/dart-lang/sdk/issues/60398
Change-Id: Ifd7c29db38bb2ee048d2b7d0de1e050e1e3e9bc2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/417964
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Auto-Submit: Felipe Morschel <git@fmorschel.dev>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
2025-03-27 11:09:09 -07:00
Sam Rawlins a003351b6b DAS: Remove unnecessary library directives in import_library tests
Change-Id: Ib82dd70742ac18ed21850d31e28eeb14a468b6b8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/418401
Auto-Submit: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2025-03-27 10:41:01 -07:00
FMorschel 90c0aa6aaa [DAS] Fixes create method/function return type
Fixes: https://github.com/dart-lang/sdk/issues/60306
Change-Id: Iba6222bbb5d0b63ca94920cad6d6abfd571ed830
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/417780
Auto-Submit: Felipe Morschel <git@fmorschel.dev>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2025-03-25 15:30:23 -07:00
Sam Rawlins ff75aeb6af DAS plugins: Support assists in plugins
To support this feature:

* Remove `DartAssistContextImpl` as it has no differences from
  `DartAssistContext`. Thus the getters `DartAssistContext` are made
  into fields, and all callers now call `DartAssistContext()`.
* Add a top level `computeAssists` function, similar to the top-level
  `computeFixes` function.

Change-Id: I3ef5fd9ee9430150004b29c11ab972939b85b214
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/417360
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2025-03-25 15:27:59 -07:00
Brian Wilkerson 1d99b136d4 [cq] Cleanup extract_widget_test
This also removes some unused code in the assist processor test
framework.

Change-Id: I07fce90d2cc099f11a22fbaa66d2ed9a3b589af1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/417883
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2025-03-25 14:05:43 -07:00
FMorschel dc2b368732 [DAS] Fixes refactor rename wrong conflict error
Fixes: https://github.com/dart-lang/sdk/issues/60315
Change-Id: I1974580be8805dd83c9d2895860fb6eed825ccca
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/415941
Auto-Submit: Felipe Morschel <git@fmorschel.dev>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
2025-03-25 13:50:32 -07:00
FMorschel cd54936eb8 [DAS] Fixes broken discarded futures tests
Bug: https://github.com/dart-lang/sdk/issues/59887
Change-Id: I6c8204771b70d49091f882e5b7f875b158724b89
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/417900
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Auto-Submit: Felipe Morschel <git@fmorschel.dev>
2025-03-25 13:09:48 -07:00
FMorschel 0a2ef5c54a [DAS] Reviews both fixes for discaded_futures
Bug: https://github.com/dart-lang/sdk/issues/59887
Change-Id: I04fe23275435249be3533649d1c276c7afe8ee4e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/416240
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Auto-Submit: Felipe Morschel <git@fmorschel.dev>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
2025-03-25 10:07:09 -07:00
Brian Wilkerson d37521aad7 [cq] Clean up one server test class
This change converts all of the tests to use the `TestCode` approach to
marking positions and ranges, which makes them more consistent and more
readable. It also means that offset-based tests can now be run on the
Windows bot without failure (though this CL doesn't change which tests
are run there and which aren't).

In the process I combined `indexTestUnit` into `_createRefactoring`,
removing one line of code from each of the tests, reducing the visual
clutter.

Change-Id: I02f0d0f46f3965b243abea01828f61a19d276aba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/417300
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2025-03-21 10:50:22 -07:00
Sam Rawlins d3adf41b9a DAS: reformat
Recently a bug was fixed in the formatter, regarding how declarations
preceded by an end-of-line comment are formatted. Good to just bundle
the formatting changes into one CL.

Change-Id: Ieab8ec3263932505f8b8da77fbe637dffc61b46d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/417040
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2025-03-20 09:18:54 -07:00
Sam Rawlins 5d1f4876ee DAS: Fix many non_constant_identifier_names violations
This lint rule is a core lint rule; we have suppressed it only for
pre-existing code reasons.

There are a few individual files which simply have a consistent pattern
of including underscores in some names, so I add inline ignores there.

Change-Id: I89e6010203868fc10fda12b15353de41881d9b15
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/416900
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2025-03-20 09:00:06 -07:00
Danny Tuppeny 57cd03d400 [analysis_server] Immediately return null for getEditableArgs of non-Dart files
See https://github.com/flutter/devtools/issues/9048

Change-Id: I5edb446cbda6f9a4222f2aca8dfd72ccbf334287
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/416780
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Elliott Brooks <elliottbrooks@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2025-03-20 07:40:04 -07:00
FMorschel f276d3c65b [cq] Using TestCode and normalizeSource for quick-fix tests
This change introduces `TestCode` and `normalizeSource` into the tests for quick fixes. The goal is to add these capabilities to `AbstractSingleUnitTest`, allowing a future update to replace offsets in tests with markers.

Bug: https://github.com/dart-lang/sdk/issues/60234
Change-Id: I760e6b5fb13b37d4e35278073a78f4d755deda64
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/415260
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Auto-Submit: Felipe Morschel <git@fmorschel.dev>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2025-03-19 17:35:20 -07:00
Danny Tuppeny f6cf08b898 [analysis_server] Use a static identifier for plugin-supplied fixes/assists
Change-Id: Ifc6310aabe60a8c5671203b66b11fe98e0c5cbbe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/416800
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2025-03-19 16:17:56 -07:00
FMorschel 77961aec08 [DAS] Adds fix for multiple_combinators warning
Bug: https://github.com/dart-lang/sdk/issues/56879
Fixes: https://github.com/dart-lang/sdk/issues/60309

Change-Id: Ifac77bbcb0d22c96cc01ea12fba1af86721809e2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/414800
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Auto-Submit: Felipe Morschel <git@fmorschel.dev>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2025-03-19 14:17:01 -07:00
Sam Rawlins 331c700f33 DAS plugins: Move Assist code to analysis_server_plugin package
The PluginServer class needs access to AssistProcessor in order to
compute assists. That class needs access to a few other classes, which
then must also be moved:

* assist_core.dart - the Assist class
* assist_dart.dart - the DartAssistContext class
* assist_generators.dart - the registeredAssistGenerators variable
* assist_performance.dart - the AssistPerformance and
  GetAssistsPerformance classes
* assist_processor.dart - the AssistProcessor class with it's
  singular API, `compute()`
* performance.dart - the ProducerRequestPerformance class
* the `addCaretAtOffset` helper function, refactored into a
  `withCaretAt` extension method

This change is functionally a no-op.

Change-Id: Ic883d21e9cc8c3db1f6093f830f01ec6eb9a0976
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/416680
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
2025-03-19 13:44:51 -07:00
Brian Wilkerson 42bdd6071f Add support for a zero-length marker in test code
Change-Id: I44642ecbb09d8fc2c3b86400f5d388c74d6fb3d4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/416521
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2025-03-19 12:18:40 -07:00
Sam Rawlins 641ec4c515 DAS: report exceptions caught in plugin isolate as plugin exceptions
This change means that during `dart analyze`, an exception caught in a plugin isolate will be printed to the terminal, and the process will
exit (similar to the support for when the isolate has static errors).

Change-Id: I31b1ebe7a71a331274d4f1dc1ea1b94f33e2329b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/415981
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2025-03-18 10:03:22 -07:00
FMorschel 3369bebde2 [DAS] Refactors all wrap with builders to the same implementation
R=pquitslund@google.com

Fixes: https://github.com/dart-lang/sdk/issues/60075
Change-Id: I177830361f080e11321f8bd0c85929ab9b3871ae
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/408860
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Auto-Submit: Felipe Morschel <git@fmorschel.dev>
2025-03-18 09:31:33 -07:00
Brian Wilkerson e5cdd6ddc6 Attempt to fix the windows bot
Change-Id: I0fbe011399826002e805fda58d3d8a8f3d6693dd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/416021
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Auto-Submit: Brian Wilkerson <brianwilkerson@google.com>
2025-03-18 09:26:55 -07:00
Danny Tuppeny d0c9fcb2b6 [analysis_server] Exclude obvious Enum value access from Inline Values
Fixes https://github.com/Dart-Code/Dart-Code/issues/5444

Change-Id: I92bf301236e97682269e2284f2602ceb5f83619f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/415861
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2025-03-17 14:54:06 -07:00
Konstantin Shcheglov bb676ba1f5 Elements. ElementImpl is not Element2.
Change-Id: Ia8885018d3e23875e53dfa0d3cf470bdd28eef29
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/415840
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2025-03-17 08:46:49 -07:00
Konstantin Shcheglov dc3ecf2dec Elements. Finish remaining analyzer_use_new_elements in DAS.
Change-Id: I37847bebf81da99d30c006f4d4dfd95805eada11
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/415820
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2025-03-17 08:30:02 -07:00
Brian Wilkerson 38d8834c07 [cq] Reduce assignments to testCode to 1
The purpose for this change is to make it easier to use `TestCode` to
parse the code under test. This, in turn, will allow us to use the same
markdown in all of our test code, making it easier to write and read
our tests. This biggest blocker to that goal is the fact that we assign
to `testCode` in several places, and that's the problem solved by this
change.

Change-Id: Id88463925587ff0839fe75faf6a1d083a1b3320c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/415700
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2025-03-15 07:34:29 -07:00
Sam Rawlins b310567afd DAS: Use Iterable.any instead of .where->.isNotEmpty
Change-Id: Id5f0c4ed6e37334302103e7a87aaf829552612c1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/415740
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Auto-Submit: Samuel Rawlins <srawlins@google.com>
2025-03-14 13:34:58 -07:00
Sam Rawlins 7c646390c2 DAS: Simplify the storage of the fix mappings for assists
This map is a map of _assists_ and the lint rules that can _fix_, when
used as a _fix_ producer. A rather specific set of information. It was
being passed around everywhere, but now with the instance of
`_RegisteredAssistGenerators` to hang onto, we can leave the map there,
and remove it from a handful of other classes which all ultimately just
passed the map back to AssistProcessor.

Change-Id: Ib2aa4ea1fdb23bbaf55b3377232f2205b7f91447
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/415460
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2025-03-14 10:48:34 -07:00
FMorschel fcf79e06ce [DAS] Adds working rename when shadowing global variable is assigned
R=srawlins@google.com

Bug: https://github.com/dart-lang/sdk/issues/59954
Change-Id: I39417d9e712a40b6992fbad86180c257e782e04a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/414200
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Auto-Submit: Felipe Morschel <git@fmorschel.dev>
2025-03-14 07:38:48 -07:00
FMorschel 144fe2b89f [DAS] Fixes update combinators to follow lint and to work with multiple
Fixes: https://github.com/dart-lang/sdk/issues/60131
Change-Id: Idfb03889875e3e902cb530bf10a9f4fd51b6a560
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/409765
Auto-Submit: Felipe Morschel <git@fmorschel.dev>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2025-03-13 07:19:09 -07:00
Sam Rawlins a804d0d2e5 DAS: Require assists to be registered
This is required so that an analyzer plugin can process producer generators that are registered in a plugin isolate.

* Change `AssistProcessor._generators` and
  `AssistProcessor._multiGenerators` into private top-level variables
  which are only used as "built-in" assist processor generators. They
  must be explicitly registered, which we see much of in this change.
* Rename all of the lists of _generators_ and maps with lists of
  _generators_, which were named "producers". The new names are
  "generators." This leads to giant diffs because of alphabetizing.

Change-Id: Id4432737daaec1bb282f0b387619b23c18c0ea55
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/414665
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2025-03-12 12:07:40 -07:00
Konstantin Shcheglov 02db34a691 Elements. Remove most of AugmentableElement, rename to AugmentableFragment.
Change-Id: Ied24bb46b4b4a74cd06c69c5002e0b32edbdf70f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/414582
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
2025-03-11 14:49:59 -07:00
Brian Wilkerson 07ae3d6159 [cq] Remove the last uses of a comment-based cursor position
Change-Id: Ie5e9c81a6e35cd5da411620dacdbea5429ca454c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/414460
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2025-03-11 14:10:58 -07:00
FMorschel 48943ce460 [DAS] Provides DocumentLinks for lints in analysis_options.yaml
R=pquitslund@google.com

Fixes: https://github.com/dart-lang/sdk/issues/60185
Change-Id: I109ccba725af08cb037ac2b3ffa8d108926d15bf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/411280
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Auto-Submit: Felipe Morschel <git@fmorschel.dev>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
2025-03-11 12:26:00 -07:00
Danny Tuppeny 44149b2d4c [analysis_server] Tweak completion labels to make non-invocations not look like invocations
This adds a space between the label and the parameter/signature when the completion is not an invocation, so the the same information is visible but it's more obviously not an invocation.

Fixes https://github.com/dart-lang/sdk/issues/60099

Change-Id: I6b40cbac5f85ace3523c8f7d6309684cb2da9470
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/411022
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2025-03-11 12:15:19 -07:00