a74253987b
This establishes the base functionality. A lot of follow-up work is needed from here: - Each trace should have an entry at the top of it pointing to the thing that was made nullable. - The source code links in traces don't include lengths, so we can't highlight whole identifiers when the user clicks on a link. - Description strings are currently generated by running toString() on the individual nullability nodes and edges, resulting in long-winded and useless descriptions. Change-Id: Ibb370bae6bedc7a8c86092462785023002a48ac3 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138481 Reviewed-by: Samuel Rawlins <srawlins@google.com> Commit-Queue: Paul Berry <paulberry@google.com>