7d5f0a6508
Many fields in this class are initialized in the class body, which is unfortunate but seems necessary. However, such fields can often be marked final, which makes the life cycle of such fields more clear: contextManager, analysisDriverScheduler, pubPackageService. Also, searchEngine can be a late final field wtih an initializer. The analysisPerformanceLogger field is unused outside of the constructor body in which it is declared; can be deleted. isFirstAnalysisSinceContextsBuilt can be made private. `_getByteStorePath` is also moved out to be an extension getter; it was an instance method, but only uses the one OverlayResourceProvider. Logically the function is just extracting a value from an OverlayResourceProvider. Change-Id: Ib08693ef16221560a1f14279725d9d44f9f5f99c Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/403920 Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Commit-Queue: Samuel Rawlins <srawlins@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.