anchor.diff:          implementedTypes: implements_.map((c) => c.asThisSupertype).toList()));
     }
   
  -  ClassHierarchy createClassHierarchy(Component component);
  -
     Procedure newEmptyGetter(String name,
         {DartType returnType: const DynamicType(), bool isAbstract: false}) {
       var body =
  
positive.code:     expect(cwchst.getSubtypesOf(g), unorderedEquals([g, h]));
      expect(cwchst.getSubtypesOf(h), unorderedEquals([h]));
    }
  }
  
  abstract class _ClassHierarchyTest {
    Component component;
    CoreTypes coreTypes;
  
    /// The test library.
    Library library;
  
    ClassHierarchy _hierarchy;
  
    /// Return the new or existing instance of [ClassHierarchy].
    ClassHierarchy get hierarchy {
  
negative.code: }
  
  @reflectiveTest
  class ClosedWorldClassHierarchyTest {
    Component component;
    CoreTypes coreTypes;
  
    /// The test library.
    Library library;
  
    ClassHierarchy _hierarchy;
  
    ClassHierarchy createClassHierarchy(Component component) {
      return new ClassHierarchy(component);
    }
  