anchor.diff:    Expression _makeRead(ComplexAssignmentJudgment complexAssignment) {
       return _helper.wrapInDeferredCheck(
           suffixGenerator._makeRead(complexAssignment),
  +        prefixGenerator.prefix,
  +        token.charOffset);
  +  }
  +
  +  @override
  +  Expression buildAssignment(Expression value, {bool voidContext: false}) {
  +    return _makeWrite(value, voidContext, null);
  +  }
  +
  +  @override
  +  Expression buildIfNullAssignment(Expression value, DartType type, int offset,
  +      {bool voidContext: false}) {
  +    return _helper.wrapInDeferredCheck(
  +        suffixGenerator.buildIfNullAssignment(value, type, offset,
  +            voidContext: voidContext),
  +        prefixGenerator.prefix,
  +        token.charOffset);
  +  }
  +
  +  @override
  +  Expression buildCompoundAssignment(Name binaryOperator, Expression value,
  +      {int offset: TreeNode.noOffset,
  +      bool voidContext: false,
  +      Procedure interfaceTarget,
  +      bool isPreIncDec: false,
  +      bool isPostIncDec: false}) {
  +    return _helper.wrapInDeferredCheck(
  +        suffixGenerator.buildCompoundAssignment(binaryOperator, value,
  +            offset: offset,
  +            voidContext: voidContext,
  +            interfaceTarget: interfaceTarget,
  +            isPreIncDec: isPreIncDec,
  +            isPostIncDec: isPostIncDec),
  +        prefixGenerator.prefix,
  +        token.charOffset);
  +  }
  +
  +  @override
  +  Expression buildPostfixIncrement(Name binaryOperator,
  +      {int offset: TreeNode.noOffset,
  +      bool voidContext: false,
  +      Procedure interfaceTarget}) {
  +    return _helper.wrapInDeferredCheck(
  +        suffixGenerator.buildPostfixIncrement(binaryOperator,
  +            offset: offset,
  +            voidContext: voidContext,
  +            interfaceTarget: interfaceTarget),
           prefixGenerator.prefix,
           token.charOffset);
     }
  
positive.code:   }
  
    @override
    Expression _makeSimpleRead() {
      return new PropertyGet(receiver, name, getter)..fileOffset = fileOffset;
    }
  
  
negative.code:     }
      complexAssignment?.read = read;
      return read;
    }
  
    @override
    Expression buildAssignment(Expression value, {bool voidContext: false}) {
      return _makeWrite(value, voidContext, null);
    }
  
    @override
  