protected internal override Expression VisitConditionalAccess <TWhenNotNull>(ConditionalAccessCSharpExpression <TWhenNotNull> node) { if (node.NonNullReceiver == _receiver) { var receiver = Visit(node.Receiver); return(node.Update(receiver, node.NonNullReceiver, node.WhenNotNull)); } return(base.VisitConditionalAccess(node)); }
protected internal virtual Expression VisitConditionalAccess(ConditionalAccessCSharpExpression node) => node.Update( Visit(node.Receiver), VisitAndConvert(node.NonNullReceiver, nameof(VisitConditionalAccess)), Visit(node.WhenNotNull) );