anchor.diff:  
         for (ClassMember classMember
             in toSet(declaredMember.classBuilder, overriddenMembers)) {
  -        assert(useConsolidated || !classMember.hasDeclarations);
           Member overriddenMember = classMember.getMember(hierarchy);
           Substitution classSubstitution;
           if (classBuilder.cls != overriddenMember.enclosingClass) {
  
positive.code: import 'forwarding_node.dart' show ForwardingNode;
  
  import 'kernel_builder.dart' show ImplicitFieldType;
  
  const bool useConsolidated = true;
  
  const DebugLogger debug =
      const bool.fromEnvironment("debug.hierarchy") ? const DebugLogger() : null;
  
negative.code:     Field declaredField = declaredMember.getMember(hierarchy);
      for (ClassMember overriddenMember
          in toSet(declaredMember.classBuilder, overriddenMembers)) {
        Member bTarget = overriddenMember.getMember(hierarchy);
        if (bTarget is Procedure) {
          if (bTarget.isSetter) {
  