anchor.diff:  
     @override
     Member getDispatchTarget(Class class_, Name name, {bool setter: false}) {
  -    _ClassInfo info = infoFor(class_);
       List<Member> list =
  -        setter ? info.implementedSetters : info.implementedGettersAndCalls;
  +        _buildImplementedMembers(class_, infoFor(class_), setters: setter);
       return ClassHierarchy.findMemberByName(list, name);
     }
   
     @override
     List<Member> getDispatchTargets(Class class_, {bool setters: false}) {
  -    _ClassInfo info = infoFor(class_);
  -    return setters ? info.implementedSetters : info.implementedGettersAndCalls;
  +    return _buildImplementedMembers(class_, infoFor(class_), setters: setters);
     }
   
     @override
  
positive.code:         _recordSuperTypes(info, supertype);
        }
  
        _buildInterfaceMembers(class_, info, setters: true);
        _buildInterfaceMembers(class_, info, setters: false);
  
        if (info == null) {
          throw "No info for ${class_.name} from ${class_.fileUri}.";
        }
  
negative.code:     });
  
      for (_ClassInfo info in infos) {
        info.lazyDeclaredGettersAndCalls = null;
        info.lazyDeclaredSetters = null;
        info.lazyImplementedGettersAndCalls = null;
        info.lazyImplementedSetters = null;
        info.lazyInterfaceGettersAndCalls = null;
        info.lazyInterfaceSetters = null;
      }
  
      assert(sanityCheckAlsoKnowsParentAndLibrary());
  