anchor.diff:    List<protocol.ImplementedClass> classes = <protocol.ImplementedClass>[];
     List<protocol.ImplementedMember> members = <protocol.ImplementedMember>[];
   
  -  Set<ClassElement> subtypes;
  +  Set<String> subtypeMembers;
   
     ImplementedComputer(this.searchEngine, this.unitElement);
   
     compute() async {
       for (ClassElement type in unitElement.types) {
  -      // always include Object and its members
  +      // Always include Object and its members.
         if (type.supertype == null) {
           _addImplementedClass(type);
           type.accessors.forEach(_addImplementedMember);
  
positive.code:         type.methods.forEach(_addImplementedMember);
          continue;
        }
        // analyze ancestors
        subtypes = await searchEngine.searchAllSubtypes(type);
        if (subtypes.isNotEmpty) {
          _addImplementedClass(type);
        }
        type.accessors.forEach(_addMemberIfImplemented);
        type.fields.forEach(_addMemberIfImplemented);
        type.methods.forEach(_addMemberIfImplemented);
      }
    }
  
  
negative.code: 
    bool _hasOverride(Element element) {
      String name = element.displayName;
      return subtypeMembers.contains(name);
    }
  
    /**
  