dart-sdk/pkg/_fe_analyzer_shared
Jake Macdonald d1ecf01f71 Cache remote objects by ID, only send IDs for already sent objects
This is done through a synchronized cache between the server and client. When serializing a remote instance, if the server has already serialized that object then it will only send the ID in the future.

These caches currently only live as long as a single macro application in a given phase, but could live longer in the future. They do need to get reliably cleared out to avoid memory leaks though, and the shorter lifetime is easier to manage consistently.

This also allowed me to remove the specialized server/client modes (clients would always only send back IDs previously).

Change-Id: I4e8a102403153829d66b0ac379636f5a95a70cea
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/311420
Commit-Queue: Jake Macdonald <jakemac@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2023-06-26 22:36:37 +00:00
..
benchmark Cache remote objects by ID, only send IDs for already sent objects 2023-06-26 22:36:37 +00:00
lib/src Cache remote objects by ID, only send IDs for already sent objects 2023-06-26 22:36:37 +00:00
test Cache remote objects by ID, only send IDs for already sent objects 2023-06-26 22:36:37 +00:00
tool
analysis_options.yaml Replace deprecated lint rules in front-end packages 2023-05-23 14:01:49 +00:00
analysis_options_no_lints.yaml [_fe_analyzer_shared][cfe][analyzer] Initial implementation of exhaustiveness checking 2023-01-24 13:34:46 +00:00
LICENSE
OWNERS
PRESUBMIT.py
pubspec.yaml Prepare to publish analyzer 6.0.0 and _fe_analyzer_shared 62.0.0 2023-06-22 19:00:56 +00:00
README.md

FE/analyzer shared code

This package contains logic that is shared between the front_end and analyzer packages. It is intended solely to facilitate development of the Dart SDK, and is not intended for use by end users. In particular, this package has no public API, so no guarantee is made of compatibility between one version of the package and the next.

End users should consider using the analyzer package to analyze Dart source code.