dart-sdk/pkg/analyzer_plugin
Danny Tuppeny bf13d89902 [analysis_server] Ensure variables declared in patterns are recorded in navigation data
Previously the pattern would only be recorded as a reference to the getter. If there was a reference to the declared variable elsewhere in the visited code, it would then record the variable declaration (via the reference).

In LSP, we locate declarations by only looking at the node at the cursor, so we can't rely on the declaration being recorded by some other reference (if one even exists) so this ensure it is recorded explicitly.

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

Change-Id: I8983d0637f2d89a427fb1fa11293eec8e06fede8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/326700
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2023-09-19 19:39:31 +00:00
..
doc Extension type. Tests for type hierarchy. 2023-08-30 21:18:25 +00:00
lib [analysis_server] Ensure variables declared in patterns are recorded in navigation data 2023-09-19 19:39:31 +00:00
test Extension type. Tests for type hierarchy. 2023-08-30 21:18:25 +00:00
tool/spec Extension type. Tests for type hierarchy. 2023-08-30 21:18:25 +00:00
.gitignore pkg/analyzer_plugin: support the latest pkg:analyzer 2019-04-24 02:26:26 +00:00
analysis_options.yaml Enable new linter rules in analyzer packages 2022-11-21 23:02:38 +00:00
CHANGELOG.md Prepare analyzer_plugin 0.11.3 2023-08-02 19:37:58 +00:00
LICENSE Update LICENSE 2021-04-07 10:28:38 +00:00
OWNERS [infra] Add OWNERS to the Dart SDK 2022-02-14 14:06:34 +00:00
pubspec.yaml Prepare analyzer_plugin 0.11.3 2023-08-02 19:37:58 +00:00
README.md [pkg] normalize the headers of the pkg/ readmes 2022-05-31 21:00:13 +00:00

pub package package publisher

A framework for building plugins for the analysis server.

Usage

Note: The plugin support is not currently available for general use.

Plugins are written in Dart and are run in the same VM as the analysis server. The analysis server runs each plugin in a separate isolate and communicates with the plugin using a plugin API. This API is similar to the API used by the analysis server to communicate with clients.

Plugins are automatically discovered and run by the analysis server.

This package contains support code to make it easier to write a plugin. There is a tutorial describing how to use the support in this package.

Support

Post issues and feature requests on the issue tracker.

Questions and discussions are welcome at the Dart Analyzer Discussion Group.

License

See the LICENSE file.