SIGN IN SIGN UP

Perf. Update discoverAvailableFiles() to discover files in small chucks.

This reinstates the asynchronous discovery which was removed in
https://dart-review.googlesource.com/c/sdk/+/348724. The synchronous
discovery was needed for the macros experiment which has since been
abandoned.

Add discoverAvailableFilesFor(), use in completion and quick fixes.

Results:

- Completion: CL 134 ms; parent 443 ms.
- Hover during completion: CL 15 ms; parent 398 ms.
- References: CL 585 ms; parent 573 ms. Throughput unchanged.
- Other requests during references: CL 15–16 ms; parent 523 ms. Parent handled them only when references was nearly finished.
- Workspace-symbol search: CL 2.38 s; parent 2.47 s. Throughput effectively unchanged.
- Other requests during workspace search: CL 17–21 ms; parent 501–502 ms.

Bug: https://github.com/dart-lang/sdk/issues/64028
Change-Id: I6292b611572f87eec00bc76997a162ca873859da
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/542221
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
K
Konstantin Shcheglov committed
0073832ca7fc20d237c61c8fe2b599cae02f1979
Parent: 97b69d6
Committed by dart-scoped@luci-project-accounts.iam.gserviceaccount.com <dart-scoped@luci-project-accounts.iam.gserviceaccount.com> on 8/28/2026, 2:48:02 PM