5fac8d3d71
Before this CL, the map we use to "reuse" references when doing experimental invalidation mapped from String to Reference. In bug #44523 two abstract member-signatures have the same textual (String) name meaning that via the lookup one would get the correct one, one would get the wrong one, they would get the same one which eventually causes a crash when trying to serialize. This CL fixes the issue by mapping via the Name instead, which basically - for private names - wraps the name and the library which disambiguates it. This CL also includes the reproduction of #44523. Fixes #44523. TEST=Mostly relying on existing test coverage. Change-Id: Ib62ebca0b7f5092f0b8410d3c458663c3032eca1 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/177704 Commit-Queue: Jens Johansen <jensj@google.com> Reviewed-by: Johnni Winther <johnniwinther@google.com>