protected virtual SyntaxBase ReplaceBinaryOperationSyntax(BinaryOperationSyntax syntax) { var hasChanges = TryRewrite(syntax.LeftExpression, out var leftExpression); hasChanges |= TryRewriteStrict(syntax.OperatorToken, out var operatorToken); hasChanges |= TryRewrite(syntax.RightExpression, out var rightExpression); if (!hasChanges) { return(syntax); } return(new BinaryOperationSyntax(leftExpression, operatorToken, rightExpression)); }
void ISyntaxVisitor.VisitBinaryOperationSyntax(BinaryOperationSyntax syntax) => ReplaceCurrent(syntax, ReplaceBinaryOperationSyntax);
public virtual void VisitBinaryOperationSyntax(BinaryOperationSyntax syntax) { this.Visit(syntax.LeftExpression); this.Visit(syntax.OperatorToken); this.Visit(syntax.RightExpression); }