This moves the computation values need for the lowering to the
inference visitor and passes these to the lowering through fields on
the patterns.
This prepares for performing lowering during constant evaluation.
Change-Id: I71a63ac3fd911d9b0cfa5de00a6d28e3b9571a00
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/282600
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
This stores the matched type, as computed by the flow analysis, into
patterns that use it in their lowering.
This ensures that flow is taken into account in the matching expressions
and also prepares for decoupling the matching expression generation
from the inference visitor.
Change-Id: Ifabd3b027d91a70fcbc6bb4180fbb11406e70df1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/282401
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>