1ffba32609
Previously, the analyzer would perform downwards and upwards inference using separate GenericInferrer objects. This meant that any constraint gathering work performed during downwards inference had to be repeated during upwards inference. This change avoids the extra work by using a single GenericInferrer object for both downwards and upwards inference. It also cleans up the API for GenericInferrer a bit. Change-Id: Idc5deed96c18ffc89aeb8ba4e5e95942843dae11 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/236660 Reviewed-by: Samuel Rawlins <srawlins@google.com> Commit-Queue: Paul Berry <paulberry@google.com>