Files
sdk/pkg/analysis_server
Jonas Finnemann Jensen e5800a5aa2 Wrap use of Platform from dart:io to enable analyzer use on web.
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>
2026-02-19 00:33:26 -08:00
..

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.