Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Flow analysis: implement the new
attachFinally
algorithm.
When dart-lang/language#1274 (Infer non-nullability from local boolean variables) is fixed, this algorithm will replace the `restrict` algorithm is currently used at the bottom of a try/finally statement to combine the flow models from the `try` and `finally` blocks. The new algorithm has very similar behavior to the old one, however since it is based on SSA nodes it (a) is able to make slightly more promotions than the old one, and (b) will be able to properly update SSA nodes so that local boolean variables assigned inside a `try` block will be able to used for promotion after the `finally` block. The new functionality is hidden behind a flag for now, so there's no customer-visible change yet. Bug: dart-lang/language#1274 Change-Id: I1d37f981688f58da1e5c6c7eee48f2319c997cef Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/174960 Reviewed-by: Johnni Winther <[email protected]>
- Loading branch information