Index: sdk/lib/_internal/compiler/implementation/elements/elements.dart |
diff --git a/sdk/lib/_internal/compiler/implementation/elements/elements.dart b/sdk/lib/_internal/compiler/implementation/elements/elements.dart |
index 0bb29e820ef44c8c48040493a142f245bc5dd70b..0a7a8348dbed7a6ac480dfa4bdbe47d44b582431 100644 |
--- a/sdk/lib/_internal/compiler/implementation/elements/elements.dart |
+++ b/sdk/lib/_internal/compiler/implementation/elements/elements.dart |
@@ -28,6 +28,8 @@ import '../scanner/scannerlib.dart' show Token, |
isUserDefinableOperator, |
isMinusOperator; |
+import '../ordered_typeset.dart' show OrderedTypeSet; |
+ |
const int STATE_NOT_STARTED = 0; |
const int STATE_STARTED = 1; |
const int STATE_DONE = 2; |
@@ -836,12 +838,16 @@ abstract class ClassElement extends TypeDeclarationElement |
implements ScopeContainerElement { |
int get id; |
+ /// The length of the longest inheritance path from [:Object:]. |
+ int get hierarchyDepth; |
+ |
InterfaceType get rawType; |
InterfaceType get thisType; |
ClassElement get superclass; |
DartType get supertype; |
+ OrderedTypeSet get allSupertypesAndSelf; |
Link<DartType> get allSupertypes; |
Link<DartType> get interfaces; |
@@ -866,7 +872,6 @@ abstract class ClassElement extends TypeDeclarationElement |
// TODO(kasperl): These are bit fishy. Do we really need them? |
void set thisType(InterfaceType value); |
void set supertype(DartType value); |
- void set allSupertypes(Link<DartType> value); |
void set interfaces(Link<DartType> value); |
void set patch(ClassElement value); |
void set origin(ClassElement value); |