0e976d5ab1
Report direct recursive interface inheritance diagnostics on the inheritance clause that introduces the cycle, rather than on the class or mixin name. This gives a more precise target for self-references in extends, implements, on, and with clauses. Track recursive inheritance reporting per interface element across fragments so that augmentation clauses can produce the specific diagnostic when they introduce the cycle. Defer the generic cycle diagnostic while earlier fragments still have later augmentations to inspect, and use the element target as the fallback location for indirect cycles. Update diagnostic expectations to match the new locations and cover augmentation and part-file cases for recursive extends, implements, on, and with clauses. Change-Id: I480a56e4b766d704c290d67d9ca4f6a73a2f655b Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/507300 Reviewed-by: Paul Berry <paulberry@google.com>
This directory contains tests of the language and core library implementations. For more information, see https://github.com/dart-lang/sdk/tree/main/docs/Testing.md.