anchor.diff:  
     bool _hasOverride(Element element) {
       String name = element.displayName;
  -    LibraryElement library = element.library;
  -    for (ClassElement subtype in subtypes) {
  -      ClassMemberElement subElement = subtype.getMethod(name);
  -      if (subElement == null) {
  -        subElement = subtype.getField(name);
  -      }
  -      if (subElement != null &&
  -          !subElement.isStatic &&
  -          subElement.isAccessibleIn(library)) {
  -        return true;
  -      }
  -    }
  -    return false;
  +    return subtypeMembers.contains(name);
     }
   
     /**
  
positive.code:   List<protocol.ImplementedClass> classes = <protocol.ImplementedClass>[];
    List<protocol.ImplementedMember> members = <protocol.ImplementedMember>[];
  
    Set<ClassElement> subtypes;
  
    ImplementedComputer(this.searchEngine, this.unitElement);
  
    compute() async {
      for (ClassElement type in unitElement.types) {
        // always include Object and its members
        if (type.supertype == null) {
          _addImplementedClass(type);
          type.accessors.forEach(_addImplementedMember);
  
negative.code:         type.methods.forEach(_addImplementedMember);
          continue;
        }
  
        // Analyze subtypes.
        subtypeMembers = await searchEngine.membersOfSubtypes(type);
        if (subtypeMembers != null) {
          _addImplementedClass(type);
          type.accessors.forEach(_addMemberIfImplemented);
          type.fields.forEach(_addMemberIfImplemented);
          type.methods.forEach(_addMemberIfImplemented);
        }
      }
    }
  
  