2ec47ad273
There was a crash internally, caused by the fact that when we have duplicate name for class and enum, during linking we put them into different Reference bucket - @class and @enum, and also inside the class, the reference to its name is the class. But when we resolve, we check equality of elements using not references, but locations. So, we need to make sure that their kinds are also different, so go into different bucket, and so not equal. When they are InterfaceType and equal, we would try to match type arguments against the wrong number of type parameters and crash. Change-Id: Iee3f8691adac65d4b0395ceec7fc7250f96afa88 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152404 Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>