612825900e
The data structure isn't optimized (recording data into it takes O(n^2) time, where n is the number of unreachable nodes in the file), and we don't need it for normal execution anyhow. Following the model used by CFE and dart2js, the analysis driver has a new flag `retainDataForTesting` to control whether the test data is gathered, so that under normal execution there is no overhead. The testing data is stored in a new class `TestingData`; we can expand this class in the future if we need to record other intermediate analysis results for testing. Change-Id: I7e79d31b9f3c9c45121dceb49094be802e4d286f Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111481 Reviewed-by: Konstantin Shcheglov <scheglov@google.com> Commit-Queue: Paul Berry <paulberry@google.com>