9beea1a044
Previously the nominal variable builders were created in all cases and then converted to structural if that was required. It induced some unnecessary type substitutions and complicated the logic behind the builders. This CL introduces NominalVariableBuilder and StructuralVariableBuilder as two possible subclasses of TypeVariableBuilderBase, and the appropriate builders are created from start. This is a follow-up to https://dart-review.googlesource.com/c/sdk/+/312264 Change-Id: I4e40de158201462dcef96b75445b8f179e1f75b5 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/330081 Commit-Queue: Chloe Stefantsova <cstefantsova@google.com> Reviewed-by: Johnni Winther <johnniwinther@google.com>