anchor.diff:  
     CompilationUnitElement? currentUnit;
     _Visitor(this.rule, this.context);
  +
  +  @override
  +  void visitAssignmentExpression(AssignmentExpression node) {
  +    var element = node.writeElement?.canonicalElement;
  +    if (element != null) {
  +      var assignee = node.leftHandSide;
  +      if (assignee is SimpleIdentifier && assignee.inDeclarationContext()) {
  +        // This is OK.
  +      } else if (node.operator.type == TokenType.EQ &&
  +          DartTypeUtilities.isNonNullable(
  +              context, node.rightHandSide.staticType)) {
  +        // This is OK; non-null access.
  +      } else {
  +        nullableAccess[currentUnit]?.add(element);
  +      }
  +    }
  +    super.visitAssignmentExpression(node);
  +  }
   
     @override
     void visitClassDeclaration(ClassDeclaration node) {
  
positive.code:     }
      lateables[currentUnit]?.add(variable);
    }
  }
  
negative.code:   }
  }
  
  class _Visitor extends RecursiveAstVisitor<void> {
    static final lateables =
        <CompilationUnitElement, List<VariableDeclaration>>{};
  
  