anchor.diff:        targetType = target.accept(this);
       } else {
         _checkNonObjectMember(propertyName.name); // TODO(paulberry)
  -      targetType = _handleAssignment(target, destinationType: _notNullType);
  +      targetType = _checkExpressionNotNull(target);
       }
       var callee = propertyName.staticElement;
       if (callee == null) {
  
positive.code: 
    @override
    DecoratedType visitPrefixExpression(PrefixExpression node) {
      var targetType =
          _handleAssignment(node.operand, destinationType: _notNullType);
      var operatorType = node.operator.type;
      if (operatorType == TokenType.BANG) {
        return _nonNullableBoolType;
  
negative.code:     DecoratedType targetType;
      var target = node.realTarget;
      if (target != null) {
        targetType = _checkExpressionNotNull(target);
      }
      var callee = node.staticElement;
      if (callee == null) {
  