7dd241361d
Sorry about the size of the change. This started as a CL to move the computation of keywords with a record pattern from the contributor to the pass. In the process of doing so I realized that the previous computation of the completion node (the node that's visited) was too aggressive about moving upward in the AST. I believe the issue happens when we reach a node in a list of similar nodes (such as a statement in a block). I changed the computation of the completion node, which necessitated a lot of changes to existing code. It also resulted in changing several tests, most for the better I think, but please look carefully for places where you think the changes aren't reasonable. I'm also interested in feedback about the change to the computation of the completion node. Change-Id: I2c6ac76fe88f672a206c3692d9ff51d2e487ec0e Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/324620 Reviewed-by: Samuel Rawlins <srawlins@google.com> Commit-Queue: Brian Wilkerson <brianwilkerson@google.com> Reviewed-by: Konstantin Shcheglov <scheglov@google.com>