Files
sdk/pkg/analysis_server_client
Brian Wilkerson 24cae8a684 Improve the performance of applying edits
I wrote a test that generates 10,000 lines of code, each containing one
violation of `prefer_single_quotes`, computes the fixes for all of the
diagnostics, and applies the 20,000 edits, measuring how long the
application takes.

Before this change the average was 3355.0 ms.

After this change the average is 3.8 ms.

The change was inspired by Jens.

Change-Id: Icd54a81ca3848fd5f0168934f713a7be8caec359
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/425601
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2025-05-01 15:59:59 -07:00
..

package:analysis_server_client is a client wrapper over the Analysis Server.

Update: this package has been discontinued

This package has been discontinued and will not receive further updates.

People who need similar functionality could:

  • continue to use the last published version; it should continue to be able to talk to the analysis server for the foreseeable future
  • fork the package and maintain that fork (we don't expect that the analysis server protocol will evolve significantly)
  • see if their use case could instead be satisfied by talking to the analysis server over the LSP protocol (dart language-server --protocol=lsp)

We welcome feedback about this at #50262; that would also be a good place to discuss alternatives.

Overview

  • Instances of Server manage a connection to an analysis server process, and facilitate communication to and from the server.

  • The Protocol library provides constants and classes to build requests for the server and decode responses and notifications from the server.

Example

The example uses the Server to launch the analysis server, analyze all *.dart files in the specified directory, display the results, and shutdown the analysis server.

References

For more about the analysis server, see the Analysis Server page.