anchor.diff:      if (receiverType.isUnkown()) {
         for (Element member in inferrer.getMembersByName(name)) {
           if (!(member.isField() || member.isAbstractField())) continue;
  -        Element classElem = member.getEnclosingClass();
  -        BaseType baseReceiverType = new ClassBaseType(classElem);
  -        augmentField(baseReceiverType, member);
  +        Element cls = member.getEnclosingClass();
  +        augmentField(cls, member);
         }
       } else {
         for (BaseType baseReceiverType in receiverType.baseTypes) {
  
positive.code:           new Selector.callDefaultConstructor(enclosingClass.getLibrary()));
          final superClassConcreteType = singletonConcreteType(
              new ClassBaseType(enclosingClass));
          getSendReturnType(target, new ClassBaseType(enclosingClass),
              new ArgumentsTypes(new List(), new Map()));
        }
      }
  
negative.code:       assert(node.receiver != null);
  
        ConcreteType result = inferrer.emptyConcreteType;
        void augmentResult(ClassElement baseReceiverType, Element member) {
          if (member.isField()) {
            result = inferrer.union(result, analyzeFieldRead(member));
          } else if (member.isAbstractField()){
  