bd2770e9eb
When we landed null-safety we accidentally disabled internal self-testing in YamlEditor. We fixed this in: https://github.com/dart-lang/tools/pull/2284 But this was reverted because this test broke. With this we should able to land: https://github.com/dart-lang/tools/pull/2299 TL;DR: `YamlEditor.update` may throw `AssertionError` if it has an internal error. Internal errors in `YamlEditor` should not happen, but we have bugs. There is open PRs to fix some of those bugs, but in practice it's not unlikely that there will always be bugs. We're modifying YAML source using `SourceSpan`s from the YAML parser. Changes in the parser, surprising corner cases, complex modifications or combinations of these can probably cause internal errors. These internal errors happens when: * The result YAML output is invalid YAML. * The resulting YAML doesn't match the same semantic modification on the original YAML structure, when compared with deep equals. Change-Id: I159b37e9a9f039f92c82881ccac2c4826332f816 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/471460 Reviewed-by: Samuel Rawlins <srawlins@google.com> Commit-Queue: Jonas Jensen <jonasfj@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: