Index: sdk/lib/_internal/compiler/implementation/elements/modelx.dart |
diff --git a/sdk/lib/_internal/compiler/implementation/elements/modelx.dart b/sdk/lib/_internal/compiler/implementation/elements/modelx.dart |
index 042e5c828608d2a7e55545fa0d626479c53560a0..452f366a473d13e247e15e44eb9232648682836f 100644 |
--- a/sdk/lib/_internal/compiler/implementation/elements/modelx.dart |
+++ b/sdk/lib/_internal/compiler/implementation/elements/modelx.dart |
@@ -29,6 +29,8 @@ import '../dart_types.dart'; |
import '../scanner/scannerlib.dart' show Token, EOF_TOKEN; |
+import '../ordered_typeset.dart' show OrderedTypeSet; |
+ |
class ElementX implements Element { |
static int elementHashCode = 0; |
@@ -1694,7 +1696,11 @@ abstract class BaseClassElementX extends ElementX implements ClassElement { |
// compilation. They don't have any user-side counter-part. |
Link<Element> backendMembers = const Link<Element>(); |
- Link<DartType> allSupertypes; |
+ OrderedTypeSet allSupertypesAndSelf; |
+ |
+ Link<DartType> get allSupertypes => allSupertypesAndSelf.supertypes; |
+ |
+ int get hierarchyDepth => allSupertypesAndSelf.maxDepth; |
BaseClassElementX(String name, |
Element enclosing, |