fb2ada0ee0
Previously, `attachFinally` took advantage of `Reachability.rebaseForward` to compute reachability after a `try/finally` statement. This was overkill, since `Reachability.rebaseForward` contains special logic to account for widely diverging reachability stacks, whereas `attachFinally` always deals with reachability stacks that have an immediate common parent. This change adds an assertion to verify that the reachability stacks always have an immediate common ancestor, and replaces the call to `Reachability.rebaseForward` with the equivalent direct logic. Making this change will simplify the process of writing a spec for flow analysis. Change-Id: Icd7d3ebc150d1836932efe3891b3ea1077134351 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/437300 Reviewed-by: Chloe Stefantsova <cstefantsova@google.com> Commit-Queue: Paul Berry <paulberry@google.com>
FE/analyzer shared code
This package contains logic that is shared between the front_end and analyzer packages. It is intended solely to facilitate development of the Dart SDK, and is not intended for use by end users. In particular, this package has no public API, so no guarantee is made of compatibility between one version of the package and the next.
End users should consider using the analyzer package to analyze Dart source code.