Fix ClassElement.allSupertypes to include superclass constraints as documented

Change-Id: I26deac7467a640714c94a53a9da0aad81a92780a
Reviewed-on: https://dart-review.googlesource.com/74675
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart
index af11f5a..48bbef6 100644
--- a/pkg/analyzer/lib/src/dart/element/element.dart
+++ b/pkg/analyzer/lib/src/dart/element/element.dart
@@ -1315,6 +1315,9 @@
         if (supertype != null) {
           typesToVisit.add(supertype);
         }
+        for (InterfaceType type in currentType.superclassConstraints) {
+          typesToVisit.add(type);
+        }
         for (InterfaceType type in currentType.interfaces) {
           typesToVisit.add(type);
         }