anchor.diff:        assert(supernode != null);
       }
   
  +    Map<Name, Tuple> memberMap = {};
  +
       Scope scope = classBuilder.scope;
  +
  +    for (MemberBuilder memberBuilder in scope.localMembers) {
  +      for (ClassMember classMember in memberBuilder.localMembers) {
  +        Tuple tuple = memberMap[classMember.name];
  +        if (tuple == null) {
  +          memberMap[classMember.name] = new Tuple.declareMember(classMember);
  +        } else {
  +          tuple.declaredMember = classMember;
  +        }
  +      }
  +      for (ClassMember classMember in memberBuilder.localSetters) {
  +        Tuple tuple = memberMap[classMember.name];
  +        if (tuple == null) {
  +          memberMap[classMember.name] = new Tuple.declareSetter(classMember);
  +        } else {
  +          tuple.declaredSetter = classMember;
  +        }
  +      }
  +    }
  +
  +    for (MemberBuilder memberBuilder in scope.localSetters) {
  +      for (ClassMember classMember in memberBuilder.localMembers) {
  +        Tuple tuple = memberMap[classMember.name];
  +        if (tuple == null) {
  +          memberMap[classMember.name] = new Tuple.declareMember(classMember);
  +        } else {
  +          tuple.declaredMember = classMember;
  +        }
  +      }
  +      for (ClassMember classMember in memberBuilder.localSetters) {
  +        Tuple tuple = memberMap[classMember.name];
  +        if (tuple == null) {
  +          memberMap[classMember.name] = new Tuple.declareSetter(classMember);
  +        } else {
  +          tuple.declaredSetter = classMember;
  +        }
  +      }
  +    }
  +
       if (classBuilder.isMixinApplication) {
         TypeBuilder mixedInTypeBuilder = classBuilder.mixedInTypeBuilder;
         TypeDeclarationBuilder mixin = mixedInTypeBuilder.declaration;
  
positive.code:       }
        if (mixin is ClassBuilder) {
          scope = mixin.scope.computeMixinScope();
        }
      }
  
      Map<Name, Tuple> memberMap = {};
  
      for (MemberBuilder memberBuilder in scope.localMembers) {
        for (ClassMember classMember in memberBuilder.localMembers) {
          Tuple tuple = memberMap[classMember.name];
          if (tuple == null) {
            memberMap[classMember.name] = new Tuple.declareMember(classMember);
          } else {
            tuple.declaredMember = classMember;
          }
        }
        for (ClassMember classMember in memberBuilder.localSetters) {
          Tuple tuple = memberMap[classMember.name];
          if (tuple == null) {
            memberMap[classMember.name] = new Tuple.declareSetter(classMember);
          } else {
            tuple.declaredSetter = classMember;
          }
        }
      }
  
      for (MemberBuilder memberBuilder in scope.localSetters) {
        for (ClassMember classMember in memberBuilder.localMembers) {
          Tuple tuple = memberMap[classMember.name];
          if (tuple == null) {
            memberMap[classMember.name] = new Tuple.declareMember(classMember);
          } else {
            tuple.declaredMember = classMember;
          }
        }
        for (ClassMember classMember in memberBuilder.localSetters) {
          Tuple tuple = memberMap[classMember.name];
          if (tuple == null) {
            memberMap[classMember.name] = new Tuple.declareSetter(classMember);
          } else {
            tuple.declaredSetter = classMember;
          }
        }
      }
  
negative.code:             }
              return result;
            } else {
              if (mixedInMember.isAbstract) {
                recordAbstractMember(mixedInMember);
              }
              return mixedInMember;
            }
          } else if (extendedMember != null && !extendedMember.isStatic) {
            if (extendedMember.isAbstract) {
  