0be8e95a22
Removes nearly all of the special handling of `uniqueName` in constructors in the `DiagnosticCode` class hierarchy. With three exceptions, the value passed for the named parameter `uniqueName` is the same as the value that will eventually be stored in the `DiagnosticCode.uniqueName` field. The three exceptions are the constructors for `LintCode` and `SecurityLintCode`, and the unnamed constructor for `LinterLintCode`. These constructors allow `uniqueName` to be `null`, and if `null` is supplied, they replace it with `LintCode.$name`. These exceptions are needed for analyzer API compatibility in the case of `LintCode`, and for compatibility with google3 code in the case of `SecurityLintCode` and `LinterLintCode`. In follow-up CLs, I will be updating google3 code to make the exceptions in `SecurityLintCode` and `LinterLintCode` unnecessary. Change-Id: I6a6a6964d828c3a8db6563d47347d5ca8f550ac3 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/459001 Reviewed-by: Samuel Rawlins <srawlins@google.com> Commit-Queue: Paul Berry <paulberry@google.com> Reviewed-by: Johnni Winther <johnniwinther@google.com>
analysis_server_plugin package
This package offers support for writing Dart analysis server plugins, for Dart 3.10 (Flutter 3.38) and later.
Analysis server plugins empower developers to contribute their own Dart static
analysis in IDEs and at the command line via dart analyze and flutter analyze. Analysis server plugins can offer the following static analyses:
- analysis rules, which report diagnostics in the IDE, and at the command line
- IDE quick fixes, which are local refactorings offered to users to correct a given diagnostic
- IDE quick assists, which are local refactorings that are offered at specific syntax nodes in code, but do not necessarily correct a static code issue
Review the following documents for how to write and how to use analysis server plugins: