anchor.diff:      return _finish(_makeSimpleWrite(value, voidContext));
     }
   
  +  /// Returns an [Expression] representing a null-aware assignment (`??=`) with
  +  /// the accessor on the LHS and [value] on the RHS.
  +  ///
  +  /// The returned expression evaluates to the assigned value, unless
  +  /// [voidContext] is true, in which case it may evaluate to anything.
  +  ///
  +  /// [type] is the static type of the RHS.
     Expression buildNullAwareAssignment(Expression value, DartType type,
         {bool voidContext: false}) {
       if (voidContext) {
  
positive.code: 
  import 'package:kernel/ast.dart';
  
  abstract class Accessor {
    Expression buildSimpleRead() {
      return _finish(_makeSimpleRead());
    }
  
    /// Returns an assignment to the accessor.
    ///
    /// The returned expression evaluates to the assigned value, unless
    /// [voidContext] is true, in which case it may evaluate to anything.
  
negative.code:         voidContext));
    }
  
    /// Returns an [Expression] representing a pre-increment or pre-decrement
    /// of the accessor.
    Expression buildPrefixIncrement(Name binaryOperator,
        {bool voidContext: false, Procedure interfaceTarget}) {
      return buildCompoundAssignment(binaryOperator, new IntLiteral(1),
          voidContext: voidContext, interfaceTarget: interfaceTarget);
    }
  
    /// Returns an [Expression] representing a post-increment or post-decrement
    /// of the accessor.
    Expression buildPostfixIncrement(Name binaryOperator,
        {bool voidContext: false, Procedure interfaceTarget}) {
      if (voidContext) {
  