58ad941a5a
Previously, when checking S <: T, we only checked if S and T had the same interface name once. However, it's possible that redirections eventually cause them to become equal. For example, if S is an interop type and T is JavaScriptObject, after following the redirection from S to JavaScriptObject, we end up checking JavaScriptObject <: JavaScriptObject. Therefore, we need to recheck after following each redirection. Change-Id: Ie3eb9530627a0e48a5ea704fd4078ae238a65c78 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/204744 Commit-Queue: Mayank Patke <fishythefish@google.com> Reviewed-by: Stephen Adams <sra@google.com>