public override ExpressionSyntax VisitConditionalExpression(ConditionalExpressionSyntax node) { return(node .WithCondition( Visit(node.Condition)) .WithWhenTrue( Visit(node.WhenTrue)) .WithWhenFalse( Visit(node.WhenFalse))); }
public static Task <Document> RefactorAsync( Document document, ConditionalExpressionSyntax conditionalExpression, CancellationToken cancellationToken = default(CancellationToken)) { ConditionalExpressionSyntax newConditionalExpression = conditionalExpression .WithCondition(Negator.LogicallyNegate(conditionalExpression.Condition)) .WithWhenTrue(conditionalExpression.WhenFalse.WithTriviaFrom(conditionalExpression.WhenTrue)) .WithWhenFalse(conditionalExpression.WhenTrue.WithTriviaFrom(conditionalExpression.WhenFalse)) .WithFormatterAnnotation(); return(document.ReplaceNodeAsync(conditionalExpression, newConditionalExpression, cancellationToken)); }
public static Task <Document> RefactorAsync( Document document, ConditionalExpressionSyntax conditionalExpression, CancellationToken cancellationToken) { ConditionalExpressionSyntax newNode = conditionalExpression .WithCondition( ParenthesizedExpression(conditionalExpression.Condition.WithoutTrivia()) .WithTriviaFrom(conditionalExpression.Condition)) .WithFormatterAnnotation(); return(document.ReplaceNodeAsync(conditionalExpression, newNode, cancellationToken)); }
public static async Task <Document> RefactorAsync( Document document, ConditionalExpressionSyntax conditionalExpression, CancellationToken cancellationToken = default(CancellationToken)) { SyntaxNode oldRoot = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); ConditionalExpressionSyntax newConditionalExpression = conditionalExpression .WithCondition(conditionalExpression.Condition.Negate()) .WithWhenTrue(conditionalExpression.WhenFalse.WithTriviaFrom(conditionalExpression.WhenTrue)) .WithWhenFalse(conditionalExpression.WhenTrue.WithTriviaFrom(conditionalExpression.WhenFalse)) .WithFormatterAnnotation(); SyntaxNode newRoot = oldRoot.ReplaceNode(conditionalExpression, newConditionalExpression); return(document.WithSyntaxRoot(newRoot)); }
private static async Task <Document> SwapStatementsAsync( Document document, ConditionalExpressionSyntax conditionalExpression, CancellationToken cancellationToken) { SyntaxNode oldRoot = await document.GetSyntaxRootAsync(cancellationToken); ConditionalExpressionSyntax newConditionalExpression = conditionalExpression .WithCondition(conditionalExpression.Condition.Negate()) .WithWhenTrue(conditionalExpression.WhenFalse.WithTriviaFrom(conditionalExpression.WhenTrue)) .WithWhenFalse(conditionalExpression.WhenTrue.WithTriviaFrom(conditionalExpression.WhenFalse)) .WithAdditionalAnnotations(Formatter.Annotation); SyntaxNode newRoot = oldRoot.ReplaceNode(conditionalExpression, newConditionalExpression); return(document.WithSyntaxRoot(newRoot)); }
private static async Task <Document> AddParenthesesToConditionAsync( Document document, ConditionalExpressionSyntax conditionalExpression, CancellationToken cancellationToken) { SyntaxNode oldRoot = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false); ConditionalExpressionSyntax newNode = conditionalExpression .WithCondition( SyntaxFactory.ParenthesizedExpression( conditionalExpression.Condition.WithoutTrivia() ).WithTriviaFrom(conditionalExpression.Condition) ).WithFormatterAnnotation(); SyntaxNode newRoot = oldRoot.ReplaceNode(conditionalExpression, newNode); return(document.WithSyntaxRoot(newRoot)); }
private static ConditionalExpressionSyntax InvertConditionalExpression(ConditionalExpressionSyntax node, ExpressionSyntax condition) => node .WithCondition(condition.WithTriviaFrom(node.Condition)) .WithWhenTrue(node.WhenFalse.WithTriviaFrom(node.WhenTrue)) .WithWhenFalse(node.WhenTrue.WithTriviaFrom(node.WhenFalse));