e5800a5aa2
This wraps analyzer and analysis_server access to `Platform` with a `PlatformInfo` class that has a top-level `const platform`. With this package analyzer and analysis_server will not access `Platform` directly anymore. But instead, to access say `Platform.lineTerminator` we'll import `package:analyzer/src/util/platform_info.dart` and use `platform.lineTerminator`. We probably could add tests to prevent accidental re-introduction of `Platform` usage. But the idea is to have a client side dartpad _compilation environment_ that is compiled and tested inside the SDK repository. Once that lands, re-introduction of `Platform` would cause those tests to break. See go/clientside-dartpad for motivation. Change-Id: Ibf20cf06d74f7984700a3cd4ce520c8994eed3c9 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/481380 Reviewed-by: Konstantin Shcheglov <scheglov@google.com> Commit-Queue: Jonas Jensen <jonasfj@google.com> Reviewed-by: Brian Wilkerson <brianwilkerson@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.