3b648e4635
Fixes https://github.com/dart-lang/sdk/issues/54038 The main feature is a small expansion to what is allowed in the `flutter / assets` field. We used to enforce that the `assets` field is a list, and that each value is a string. Now we enforce that: * the `assets` field is a list * an asset is either a string, or * an asset is a map, with at least a 'path' key, with a string value. This requires deprecating the `ASSET_NOT_STRING` code, and introducing three others: * ASSET_MISSING_PATH * ASSET_NOT_STRING_OR_MAP * ASSET_PATH_NOT_STRING In addition I cleaned up a UX issue: Several codes referenced an 'asset' key, but it should be 'assets'. (In addition, the `ASSET_FIELD_NOT_LIST` code should be `ASSETS_FIELD_NOT_LIST` but I did not fix that.) I also refactored all of the code to be more modern: * Use `var` instead of types in declarations * Short circuit error-and-return with `if (foo is! YamlMap)`. We didn't use to have promotion here, but this led to a wild amount of nesting (if, if, for, if, if, else, if!). Change-Id: Ia489ea631f7d1027fdb84a9a682c831752c5835c Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/338593 Reviewed-by: Marya Belanger <mbelanger@google.com> Commit-Queue: Samuel Rawlins <srawlins@google.com> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
analysis_server
A long-running process that provides analysis results to other tools.
The analysis server is designed to provide on-going analysis of one or more code bases as those code bases are changing.
Using the server
The analysis server is not intended to be used stand-alone, and therefore does not have a human-friendly user interface.
Clients (typically tools, such as an editor) are expected to run the analysis
server in a separate process and communicate with it using a JSON protocol. The
original protocol is specified in the file analysis_server/doc/api.html
and Language Server Protocol support is documented in
tool/lsp_spec/README.md.
Features and bugs
Please file feature requests and bugs at the issue tracker.