5fedeeb0d6
The front end handles mixin applications by synthesizing new fields and procedures in the mixin application class to reflect the fields and procedures from the mixin. In order to ensure that the appropriate "why not promoted" context messages are created for these synthesized fields and procedures, entries need to be created for them in the `FieldNonPromotabilityInfo.individualPropertyReasons` map. Note that the source locations for these synthesized fields correspond to the declaration of the mixin application rather than the original field or procedure; to find the original field or procedure we use `Procedure.stubTarget`. Change-Id: Ib20d2514cb5aad8f95b93d26ad0e3917f1613db3 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/330246 Reviewed-by: Johnni Winther <johnniwinther@google.com> Reviewed-by: Bob Nystrom <rnystrom@google.com> Commit-Queue: Paul Berry <paulberry@google.com>