anchor.diff:      Expression function = node.function;
       DartType staticInvokeType = _instantiateGenericMethod(
           function.staticType, node.typeArguments, node);
  -    DartType propagatedInvokeType = _instantiateGenericMethod(
  -        function.propagatedType, node.typeArguments, node);
   
       node.staticInvokeType = staticInvokeType;
  -    node.propagatedInvokeType = null;
   
       List<ParameterElement> parameters =
           _computeCorrespondingParameters(node.argumentList, staticInvokeType);
       if (parameters != null) {
         node.argumentList.correspondingStaticParameters = parameters;
  -    }
  -
  -    parameters = _computeCorrespondingParameters(
  -        node.argumentList, propagatedInvokeType);
  -    if (parameters != null) {
  -      node.argumentList.correspondingPropagatedParameters = parameters;
       }
       return null;
     }
  
positive.code:           staticType.isVoid ? null : staticOrPropagatedEnclosingElt;
        if (propertyName.inSetterContext()) {
          ErrorCode errorCode;
          var arguments = [propertyName.name, displayType.displayName];
          if (shouldReportMissingMember_static) {
            if (target is SuperExpression) {
              if (isStaticProperty && !staticType.isVoid) {
                errorCode = StaticWarningCode.UNDEFINED_SUPER_SETTER;
              } else {
                errorCode = StaticTypeWarningCode.UNDEFINED_SUPER_SETTER;
              }
            } else {
              if (staticType.isVoid) {
                errorCode = StaticWarningCode.USE_OF_VOID_RESULT;
                arguments = [];
              } else if (isStaticProperty) {
                errorCode = StaticWarningCode.UNDEFINED_SETTER;
              } else {
                errorCode = StaticTypeWarningCode.UNDEFINED_SETTER;
              }
            }
          } else {
            errorCode = HintCode.UNDEFINED_SETTER;
          }
          _recordUndefinedNode(
              declaringElement, errorCode, propertyName, arguments);
        } else if (propertyName.inGetterContext()) {
          ErrorCode errorCode;
          var arguments = [propertyName.name, displayType.displayName];
          if (shouldReportMissingMember_static) {
            if (target is SuperExpression) {
              if (isStaticProperty && !staticType.isVoid) {
                errorCode = StaticWarningCode.UNDEFINED_SUPER_GETTER;
              } else {
                errorCode = StaticTypeWarningCode.UNDEFINED_SUPER_GETTER;
              }
            } else {
              if (staticType.isVoid) {
                errorCode = StaticWarningCode.USE_OF_VOID_RESULT;
                arguments = [];
              } else if (isStaticProperty) {
                errorCode = StaticWarningCode.UNDEFINED_GETTER;
              } else {
                errorCode = StaticTypeWarningCode.UNDEFINED_GETTER;
              }
            }
          } else {
            errorCode = HintCode.UNDEFINED_GETTER;
          }
          _recordUndefinedNode(
              declaringElement, errorCode, propertyName, arguments);
  
negative.code:       if (isCascaded) {
          typeReference = _typeType.element;
        }
        staticElement = _resolveElement(typeReference, propertyName);
      } else {
        staticElement = _resolveProperty(target, staticType, propertyName);
      }
      // May be part of annotation, record property element only if exists.
      // Error was already reported in validateAnnotationElement().
  