d1dcbeb973
This improves separation of concerns, since the `PromotionKeyStore` class isn't really concerned with what fields are promotable; it's just a mechanism for assigning unique integer identifiers to promotable things. I've moved `_promotableFields` to the main `_FlowAnalysisImpl` class. To avoid having to add it as a separate argument to a lot of [FlowModel] methods, I've created a new [FlowModelHelper] interface that provides these methods with access to several fields in `_FlowAnalysisImpl`. Change-Id: I0280d0c0b95714521afbe68a07e7b3b54f23b7df Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/254003 Reviewed-by: Konstantin Shcheglov <scheglov@google.com> Commit-Queue: Paul Berry <paulberry@google.com>