fb2c014693
Separate the subtype search entry points by result shape and caller intent. Use `directSubtypeReferences` for reference locations in subtype clauses, and use `directSubtypesWithMembersOfType` / `directSubtypesWithMembersOfSubtype` for indexed direct subtypes with their declared instance members. Rename `SubtypeResult` to `DirectSubtypeWithMembers` so the model matches what the search result actually represents. Update the server member-collection logic to start from direct subtypes of the target type and then walk direct subtypes by subtype id. Introduce `SubtypeIndexElementId` as the single representation of subtype index ids. This keeps id construction consistent between index building and search, preserves the declaration file for declarations in parts, and still exposes the element name separately for file-state prefiltering. Also make the subtype index expectations text-based so the expected supertype id, subtype name, and member list are easier to read and update. Change-Id: Ice71d9b116aca83372bf595f6e58a8ce4aa9e9d1 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/507780 Reviewed-by: Johnni Winther <johnniwinther@google.com> Reviewed-by: 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.